2
0
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:
Chris Blake
2016-07-20 15:44:50 +02:00
committed by Felix Fietkau
parent 39f3408732
commit 3827ce2c3d
15 changed files with 1178 additions and 0 deletions

View 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"
}

View File

@@ -0,0 +1,9 @@
#!/bin/sh
do_apm821xx() {
. /lib/apm821xx.sh
apm821xx_board_detect
}
boot_hook_add preinit_main do_apm821xx

View File

@@ -0,0 +1,9 @@
#!/bin/sh
. /lib/apm821xx.sh
apm821xx_set_preinit_iface() {
ifname=eth0
}
boot_hook_add preinit_main apm821xx_set_preinit_iface

View 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