2
0
Эх сурвалжийг харах

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 <[email protected]>
Signed-off-by: Christian Lamparter <[email protected]>
Christian Lamparter 8 жил өмнө
parent
commit
e90dc8d272

+ 5 - 4
target/linux/apm821xx/base-files/etc/board.d/01_leds

@@ -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"

+ 5 - 4
target/linux/apm821xx/base-files/etc/board.d/02_network

@@ -8,13 +8,14 @@ board_config_update
 board=$(board_name)
 board=$(board_name)
 
 
 case "$board" in
 case "$board" in
-mbl|\
-mr24)
+meraki,mr24|\
+wd,mybooklive|\
+wd,mybooklive-duo)
 	ucidef_set_interface_lan "eth0"
 	ucidef_set_interface_lan "eth0"
 	;;
 	;;
 
 
-mx60|\
-wndr4700)
+meraki,mx60|\
+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"
 	;;
 	;;

+ 2 - 2
target/linux/apm821xx/base-files/etc/hotplug.d/firmware/10-ath9k-eeprom

@@ -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

+ 0 - 43
target/linux/apm821xx/base-files/lib/apm821xx.sh

@@ -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
-}

+ 0 - 9
target/linux/apm821xx/base-files/lib/preinit/01_preinit_do_apm821xx.sh

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

+ 2 - 2
target/linux/apm821xx/base-files/lib/preinit/05_set_iface_mac_apm821xx

@@ -4,8 +4,8 @@ preinit_set_mac_address() {
 	. /lib/functions.sh
 	. /lib/functions.sh
 
 
 	case $(board_name) in
 	case $(board_name) in
-		mr24|\
-		mx60)
+		meraki,mr24|\
+		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"
 			;;
 			;;

+ 0 - 2
target/linux/apm821xx/base-files/lib/preinit/05_set_preinit_iface_apm821xx

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

+ 12 - 6
target/linux/apm821xx/base-files/lib/preinit/79_move_config

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

+ 9 - 6
target/linux/apm821xx/base-files/lib/upgrade/platform.sh

@@ -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|\
-	mx60|\
-	wndr4700)
+	meraki,mr24|\
+	meraki,mx60|\
+	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
 		;;
 		;;
 
 

+ 6 - 3
target/linux/apm821xx/image/Makefile

@@ -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