forked from Ivasoft/openwrt
apm821xx: add support for the apm821xx device target
This adds a new target for PowerPC APM82181 and APM82161 (464-based) boards, as well as adds support for the booke-wdt watchdog package. Signed-off-by: Chris Blake <chrisrblake93@gmail.com>
This commit is contained in:
committed by
Felix Fietkau
parent
39f3408732
commit
3827ce2c3d
36
target/linux/apm821xx/base-files/lib/apm821xx.sh
Executable file
36
target/linux/apm821xx/base-files/lib/apm821xx.sh
Executable file
@@ -0,0 +1,36 @@
|
||||
#!/bin/sh
|
||||
|
||||
APM821XX_BOARD_NAME=
|
||||
APM821XX_MODEL=
|
||||
|
||||
apm821xx_board_detect() {
|
||||
local model
|
||||
local name
|
||||
|
||||
model=$(awk 'BEGIN{FS="[ \t]+:[ \t]"} /model/ {print $2}' /proc/cpuinfo)
|
||||
|
||||
case "$model" in
|
||||
*)
|
||||
name="unknown"
|
||||
;;
|
||||
esac
|
||||
|
||||
[ -z "$name" ] && name="unknown"
|
||||
|
||||
[ -z "$APM821XX_BOARD_NAME" ] && APM821XX_BOARD_NAME="$name"
|
||||
[ -z "$APM821XX_MODEL" ] && APM821XX_MODEL="$model"
|
||||
|
||||
[ -e "/tmp/sysinfo/" ] || mkdir -p "/tmp/sysinfo/"
|
||||
|
||||
echo "$APM821XX_BOARD_NAME" > /tmp/sysinfo/board_name
|
||||
echo "$APM821XX_MODEL" > /tmp/sysinfo/model
|
||||
}
|
||||
|
||||
apm821xx_board_name() {
|
||||
local name
|
||||
|
||||
[ -f /tmp/sysinfo/board_name ] && name=$(cat /tmp/sysinfo/board_name)
|
||||
[ -z "$name" ] && name="unknown"
|
||||
|
||||
echo "$name"
|
||||
}
|
||||
@@ -0,0 +1,9 @@
|
||||
#!/bin/sh
|
||||
|
||||
do_apm821xx() {
|
||||
. /lib/apm821xx.sh
|
||||
|
||||
apm821xx_board_detect
|
||||
}
|
||||
|
||||
boot_hook_add preinit_main do_apm821xx
|
||||
@@ -0,0 +1,9 @@
|
||||
#!/bin/sh
|
||||
|
||||
. /lib/apm821xx.sh
|
||||
|
||||
apm821xx_set_preinit_iface() {
|
||||
ifname=eth0
|
||||
}
|
||||
|
||||
boot_hook_add preinit_main apm821xx_set_preinit_iface
|
||||
58
target/linux/apm821xx/base-files/lib/upgrade/platform.sh
Executable file
58
target/linux/apm821xx/base-files/lib/upgrade/platform.sh
Executable file
@@ -0,0 +1,58 @@
|
||||
#!/bin/sh
|
||||
|
||||
. /lib/apm821xx.sh
|
||||
|
||||
PART_NAME=firmware
|
||||
RAMFS_COPY_DATA=/lib/apm821xx.sh
|
||||
|
||||
platform_check_image() {
|
||||
local board=$(apm821xx_board_name)
|
||||
|
||||
[ "$#" -gt 1 ] && return 1
|
||||
|
||||
case "$board" in
|
||||
*)
|
||||
;;
|
||||
esac
|
||||
|
||||
echo "Sysupgrade is not yet supported on $board."
|
||||
return 1
|
||||
}
|
||||
|
||||
platform_pre_upgrade() {
|
||||
local board=$(apm821xx_board_name)
|
||||
|
||||
case "$board" in
|
||||
*)
|
||||
;;
|
||||
esac
|
||||
}
|
||||
|
||||
platform_do_upgrade() {
|
||||
local board=$(apm821xx_board_name)
|
||||
|
||||
case "$board" in
|
||||
*)
|
||||
default_do_upgrade "$ARGV"
|
||||
;;
|
||||
esac
|
||||
}
|
||||
|
||||
platform_copy_config() {
|
||||
local board=$(apm821xx_board_name)
|
||||
|
||||
case "$board" in
|
||||
*)
|
||||
;;
|
||||
esac
|
||||
}
|
||||
|
||||
disable_watchdog() {
|
||||
killall watchdog
|
||||
( ps | grep -v 'grep' | grep '/dev/watchdog' ) && {
|
||||
echo 'Could not disable watchdog'
|
||||
return 1
|
||||
}
|
||||
}
|
||||
|
||||
append sysupgrade_pre_upgrade disable_watchdog
|
||||
Reference in New Issue
Block a user