apm821xx: convert to device-tree board detection

This patch converts all apm821xx devices to the device-tree
board-detection method. All instances of the legacy
boardnames (mbl,mr24,...) are converted to "vendor,device"
identifier.

The custom board-detection code in apm821xx.sh is removed as
it no longer serves any purpose.

Signed-off-by: Mathias Kresin <dev@kresin.me>
Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
owl
Christian Lamparter 2017-12-17 15:00:01 +01:00 committed by Mathias Kresin
parent 213ba77359
commit e90dc8d272
10 changed files with 41 additions and 81 deletions

View File

@ -7,7 +7,7 @@ board_config_update
board=$(board_name) board=$(board_name)
case "$board" in case "$board" in
mr24) meraki,mr24)
ucidef_set_led_netdev "wan" "WAN" "mr24:green:wan" "eth0" ucidef_set_led_netdev "wan" "WAN" "mr24:green:wan" "eth0"
ucidef_set_led_wlan "wlan1" "WLAN1" "mr24:green:wifi1" "phy0assoc" ucidef_set_led_wlan "wlan1" "WLAN1" "mr24:green:wifi1" "phy0assoc"
ucidef_set_led_wlan "wlan2" "WLAN2" "mr24:green:wifi2" "phy0assoc" ucidef_set_led_wlan "wlan2" "WLAN2" "mr24:green:wifi2" "phy0assoc"
@ -15,7 +15,7 @@ mr24)
ucidef_set_led_wlan "wlan4" "WLAN4" "mr24:green:wifi4" "phy0tpt" ucidef_set_led_wlan "wlan4" "WLAN4" "mr24:green:wifi4" "phy0tpt"
;; ;;
mx60) meraki,mx60)
ucidef_set_led_switch "wan" "WAN" "mx60:green:wan" "switch0" "0x20" ucidef_set_led_switch "wan" "WAN" "mx60:green:wan" "switch0" "0x20"
ucidef_set_led_switch "lan1" "LAN1" "mx60:green:lan1" "switch0" "0x10" ucidef_set_led_switch "lan1" "LAN1" "mx60:green:lan1" "switch0" "0x10"
ucidef_set_led_switch "lan2" "LAN2" "mx60:green:lan2" "switch0" "0x08" ucidef_set_led_switch "lan2" "LAN2" "mx60:green:lan2" "switch0" "0x08"
@ -23,11 +23,12 @@ mx60)
ucidef_set_led_switch "lan4" "LAN4" "mx60:green:lan4" "switch0" "0x02" ucidef_set_led_switch "lan4" "LAN4" "mx60:green:lan4" "switch0" "0x02"
;; ;;
mbl) wd,mybooklive|\
wd,mybooklive-duo)
ucidef_set_led_ide "sata" "SATA" "mbl:blue:power" ucidef_set_led_ide "sata" "SATA" "mbl:blue:power"
;; ;;
wndr4700) netgear,wndr4700)
ucidef_set_led_ide "sata" "SATA" "wndr4700:green:hd" ucidef_set_led_ide "sata" "SATA" "wndr4700:green:hd"
ucidef_set_led_switch "wan_green" "WAN (green)" "wndr4700:green:wan" "switch0" "0x20" ucidef_set_led_switch "wan_green" "WAN (green)" "wndr4700:green:wan" "switch0" "0x20"
ucidef_set_led_netdev "wan_yellow" "WAN (yellow)" "wndr4700:yellow:wan" "eth0.2" "tx rx" ucidef_set_led_netdev "wan_yellow" "WAN (yellow)" "wndr4700:yellow:wan" "eth0.2" "tx rx"

View File

@ -8,13 +8,14 @@ board_config_update
board=$(board_name) board=$(board_name)
case "$board" in case "$board" in
mbl|\ meraki,mr24|\
mr24) wd,mybooklive|\
wd,mybooklive-duo)
ucidef_set_interface_lan "eth0" ucidef_set_interface_lan "eth0"
;; ;;
mx60|\ meraki,mx60|\
wndr4700) netgear,wndr4700)
ucidef_add_switch "switch0" \ ucidef_add_switch "switch0" \
"0@eth0" "4:lan" "3:lan" "2:lan" "1:lan" "5:wan" "0@eth0" "4:lan" "3:lan" "2:lan" "1:lan" "5:wan"
;; ;;

View File

@ -52,7 +52,7 @@ board=$(board_name)
case "$FIRMWARE" in case "$FIRMWARE" in
"pci_wmac0.eeprom") "pci_wmac0.eeprom")
case $board in case $board in
wndr4700) netgear,wndr4700)
. /lib/upgrade/nand.sh . /lib/upgrade/nand.sh
if [ -n "$(nand_find_volume ubi0 caldata)" ]; then if [ -n "$(nand_find_volume ubi0 caldata)" ]; then
@ -70,7 +70,7 @@ case "$FIRMWARE" in
"pci_wmac1.eeprom") "pci_wmac1.eeprom")
case $board in case $board in
wndr4700) netgear,wndr4700)
. /lib/upgrade/nand.sh . /lib/upgrade/nand.sh
if [ -n "$(nand_find_volume ubi0 caldata)" ]; then if [ -n "$(nand_find_volume ubi0 caldata)" ]; then

View File

@ -1,43 +0,0 @@
#!/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
*"Meraki MR24 Access Point")
name="mr24"
;;
*"Meraki MX60/MX60W Security Appliance")
name="mx60"
;;
*"MyBook Live"*)
name="mbl"
;;
*"Netgear WNDR4700/WNDR4720 Series")
name="wndr4700"
;;
*)
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
}

View File

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

View File

@ -4,8 +4,8 @@ preinit_set_mac_address() {
. /lib/functions.sh . /lib/functions.sh
case $(board_name) in case $(board_name) in
mr24|\ meraki,mr24|\
mx60) meraki,mx60)
mac_lan=$(mtd_get_mac_binary_ubi board-config 102) mac_lan=$(mtd_get_mac_binary_ubi board-config 102)
[ -n "$mac_lan" ] && ifconfig eth0 hw ether "$mac_lan" [ -n "$mac_lan" ] && ifconfig eth0 hw ether "$mac_lan"
;; ;;

View File

@ -1,7 +1,5 @@
#!/bin/sh #!/bin/sh
. /lib/apm821xx.sh
apm821xx_set_preinit_iface() { apm821xx_set_preinit_iface() {
ifname=eth0 ifname=eth0
} }

View File

@ -5,12 +5,18 @@ BOOTPART=/dev/sda1
move_config() { move_config() {
. /lib/functions.sh . /lib/functions.sh
[ "$(board_name)" = "mbl" ] || return case "$(board_name)" in
wd,mybooklive|\
wd,mybooklive-duo)
if [ -b $BOOTPART ]; then if [ -b $BOOTPART ]; then
mkdir -p /boot mkdir -p /boot
mount -t ext4 -o rw,noatime $BOOTPART /boot mount -t ext4 -o rw,noatime $BOOTPART /boot
[ -f /boot/sysupgrade.tgz ] && mv -f /boot/sysupgrade.tgz / [ -f /boot/sysupgrade.tgz ] && mv -f /boot/sysupgrade.tgz /
fi fi
;;
*)
;;
esac
} }
boot_hook_add preinit_mount_root move_config boot_hook_add preinit_mount_root move_config

View File

@ -7,7 +7,8 @@ platform_check_image() {
local board=$(board_name) local board=$(board_name)
case "$board" in case "$board" in
mbl) wd,mybooklive|\
wd,mybooklive-duo)
mbl_do_platform_check "$1" mbl_do_platform_check "$1"
return $?; return $?;
;; ;;
@ -21,9 +22,9 @@ platform_pre_upgrade() {
local board=$(board_name) local board=$(board_name)
case "$board" in case "$board" in
mr24|\ meraki,mr24|\
mx60|\ meraki,mx60|\
wndr4700) netgear,wndr4700)
nand_do_upgrade "$1" nand_do_upgrade "$1"
;; ;;
@ -36,7 +37,8 @@ platform_do_upgrade() {
local board=$(board_name) local board=$(board_name)
case "$board" in case "$board" in
mbl) wd,mybooklive|\
wd,mybooklive-duo)
mbl_do_upgrade "$ARGV" mbl_do_upgrade "$ARGV"
;; ;;
@ -50,7 +52,8 @@ platform_copy_config() {
local board=$(board_name) local board=$(board_name)
case "$board" in case "$board" in
mbl) wd,mybooklive|\
wd,mybooklive-duo)
mbl_copy_config mbl_copy_config
;; ;;

View File

@ -14,7 +14,7 @@ define Device/Default
KERNEL_ENTRY := 0x00000000 KERNEL_ENTRY := 0x00000000
KERNEL_LOADADDR := 0x00000000 KERNEL_LOADADDR := 0x00000000
DEVICE_DTS_DIR := ../dts DEVICE_DTS_DIR := ../dts
SUPPORTED_DEVICES = $$(BOARD_NAME) SUPPORTED_DEVICES = $(subst _,$(comma),$(1))
endef endef
define Build/dtb define Build/dtb
@ -84,6 +84,7 @@ define Device/meraki_mr24
MerakiNAND MerakiNAND
IMAGE/sysupgrade.tar := sysupgrade-tar | append-metadata IMAGE/sysupgrade.tar := sysupgrade-tar | append-metadata
UBINIZE_OPTS := -E 5 UBINIZE_OPTS := -E 5
SUPPORTED_DEVICES += mr24
endef endef
TARGET_DEVICES += meraki_mr24 TARGET_DEVICES += meraki_mr24
@ -109,6 +110,7 @@ define Device/meraki_mx60
MerakiNAND MerakiNAND
IMAGE/sysupgrade.tar := sysupgrade-tar | append-metadata IMAGE/sysupgrade.tar := sysupgrade-tar | append-metadata
UBINIZE_OPTS := -E 5 UBINIZE_OPTS := -E 5
SUPPORTED_DEVICES += mx60
endef endef
TARGET_DEVICES += meraki_mx60 TARGET_DEVICES += meraki_mx60
@ -176,6 +178,7 @@ define Device/netgear_wndr4700
NETGEAR_BOARD_ID := WNDR4700 NETGEAR_BOARD_ID := WNDR4700
NETGEAR_HW_ID := 29763875+128+256 NETGEAR_HW_ID := 29763875+128+256
UBINIZE_OPTS := -E 5 UBINIZE_OPTS := -E 5
SUPPORTED_DEVICES += wndr4700
endef endef
TARGET_DEVICES += netgear_wndr4700 TARGET_DEVICES += netgear_wndr4700
@ -227,7 +230,7 @@ define Device/wd_mybooklive
$(Device/MyBookLiveDefault) $(Device/MyBookLiveDefault)
DEVICE_TITLE := Western Digital My Book Live DEVICE_TITLE := Western Digital My Book Live
DEVICE_DTS := wd-mybooklive DEVICE_DTS := wd-mybooklive
SUPPORTED_DEVICES := mbl SUPPORTED_DEVICES += mbl
endef endef
TARGET_DEVICES += wd_mybooklive TARGET_DEVICES += wd_mybooklive
@ -237,7 +240,7 @@ $(Device/MyBookLiveDefault)
DEVICE_TITLE := Western Digital My Book Live Duo DEVICE_TITLE := Western Digital My Book Live Duo
DEVICE_PACKAGES := kmod-usb-dwc2 kmod-usb-ledtrig-usbport kmod-usb-storage kmod-fs-vfat wpad-mini DEVICE_PACKAGES := kmod-usb-dwc2 kmod-usb-ledtrig-usbport kmod-usb-storage kmod-fs-vfat wpad-mini
DEVICE_DTS := wd-mybooklive-duo DEVICE_DTS := wd-mybooklive-duo
SUPPORTED_DEVICES := mbl SUPPORTED_DEVICES += mbl
endef endef
TARGET_DEVICES += wd_mybooklive-duo TARGET_DEVICES += wd_mybooklive-duo