From bfbdeeb3de3da31f7e5f9bd429e079c2d839644a Mon Sep 17 00:00:00 2001 From: Michael Gray Date: Sun, 13 May 2018 23:29:30 +1000 Subject: mvebu: add support for WRT32X (venom) Linksys WRT32X (Venom) is identical in hardware to the WRT3200ACM with a different flash layout and boots zImage rather than uImage. Specification: - Marvell Armada 385 88F6820 (2x 1.8GHz) - 256MB of Flash - 512MB of RAM - 2.4GHz (bgn) and 5GHz (an+ac wave 2) - 4x 1Gbps LAN + 1x 1Gbps WAN - 1x USB 3.0 and 1x USB 2.0/eSATA (combo port) Flash instruction: Apply factory image via web-gui. Signed-off-by: Michael Gray --- target/linux/mvebu/base-files/etc/board.d/01_leds | 6 ++++++ target/linux/mvebu/base-files/etc/board.d/02_network | 1 + target/linux/mvebu/base-files/etc/diag.sh | 3 +++ target/linux/mvebu/base-files/etc/init.d/linksys_recovery | 2 +- target/linux/mvebu/base-files/etc/uci-defaults/03_wireless | 2 +- target/linux/mvebu/base-files/lib/mvebu.sh | 3 +++ target/linux/mvebu/base-files/lib/preinit/06_set_iface_mac | 2 +- target/linux/mvebu/base-files/lib/preinit/81_linksys_syscfg | 2 +- target/linux/mvebu/base-files/lib/upgrade/linksys.sh | 2 +- target/linux/mvebu/base-files/lib/upgrade/platform.sh | 4 ++-- 10 files changed, 20 insertions(+), 7 deletions(-) (limited to 'target/linux/mvebu/base-files') diff --git a/target/linux/mvebu/base-files/etc/board.d/01_leds b/target/linux/mvebu/base-files/etc/board.d/01_leds index 84519907af..ff8d4a21c0 100755 --- a/target/linux/mvebu/base-files/etc/board.d/01_leds +++ b/target/linux/mvebu/base-files/etc/board.d/01_leds @@ -35,6 +35,12 @@ armada-385-linksys-shelby) ucidef_set_led_usbport "usb2" "USB 2" "pca963x:shelby:white:usb3_1" "usb2-port1" "usb3-port1" ucidef_set_led_usbport "usb2_ss" "USB 2 SS" "pca963x:shelby:white:usb3_2" "usb3-port1" ;; +armada-385-linksys-venom) + ucidef_set_led_netdev "wan" "WAN" "pca963x:venom:blue:wan" "eth1" + ucidef_set_led_usbport "usb1" "USB 1" "pca963x:venom:blue:usb2" "usb1-port1" + ucidef_set_led_usbport "usb2" "USB 2" "pca963x:venom:blue:usb3_1" "usb2-port1" "usb3-port1" + ucidef_set_led_usbport "usb2_ss" "USB 2 SS" "pca963x:venom:blue:usb3_2" "usb3-port1" + ;; armada-xp-linksys-mamba) ucidef_set_led_netdev "wan" "WAN" "mamba:white:wan" "eth1" ucidef_set_led_usbport "usb1" "USB 1" "mamba:white:usb2" "usb1-port1" diff --git a/target/linux/mvebu/base-files/etc/board.d/02_network b/target/linux/mvebu/base-files/etc/board.d/02_network index 8e57e8e1ce..66d35dda70 100755 --- a/target/linux/mvebu/base-files/etc/board.d/02_network +++ b/target/linux/mvebu/base-files/etc/board.d/02_network @@ -18,6 +18,7 @@ armada-385-linksys-caiman|\ armada-385-linksys-cobra|\ armada-385-linksys-rango|\ armada-385-linksys-shelby|\ +armada-385-linksys-venom|\ armada-xp-linksys-mamba) ucidef_set_interfaces_lan_wan "eth0.1" "eth1.2" ucidef_add_switch "switch0" \ diff --git a/target/linux/mvebu/base-files/etc/diag.sh b/target/linux/mvebu/base-files/etc/diag.sh index 4a3f54ed2c..327a82df93 100644 --- a/target/linux/mvebu/base-files/etc/diag.sh +++ b/target/linux/mvebu/base-files/etc/diag.sh @@ -19,6 +19,9 @@ get_status_led() { armada-385-linksys-shelby) status_led="shelby:white:power" ;; + armada-385-linksys-venom) + status_led="venom:blue:power" + ;; armada-xp-linksys-mamba) status_led="mamba:white:power" ;; diff --git a/target/linux/mvebu/base-files/etc/init.d/linksys_recovery b/target/linux/mvebu/base-files/etc/init.d/linksys_recovery index c1532ac2c1..520b8aac54 100755 --- a/target/linux/mvebu/base-files/etc/init.d/linksys_recovery +++ b/target/linux/mvebu/base-files/etc/init.d/linksys_recovery @@ -7,7 +7,7 @@ boot() { . /lib/functions.sh case $(board_name) in - armada-385-linksys-caiman|armada-385-linksys-cobra|armada-385-linksys-rango|armada-385-linksys-shelby|armada-xp-linksys-mamba) + armada-385-linksys-caiman|armada-385-linksys-cobra|armada-385-linksys-rango|armada-385-linksys-shelby|armada-385-linksys-venom|armada-xp-linksys-mamba) # make sure auto_recovery in uboot is always on AUTO_RECOVERY_ENA="`fw_printenv -n auto_recovery`" if [ "$AUTO_RECOVERY_ENA" != "yes" ] ; then diff --git a/target/linux/mvebu/base-files/etc/uci-defaults/03_wireless b/target/linux/mvebu/base-files/etc/uci-defaults/03_wireless index baf4a20721..6fb24c8d4f 100644 --- a/target/linux/mvebu/base-files/etc/uci-defaults/03_wireless +++ b/target/linux/mvebu/base-files/etc/uci-defaults/03_wireless @@ -11,7 +11,7 @@ board=$(board_name) case "$board" in -armada-385-linksys-caiman|armada-385-linksys-cobra|armada-385-linksys-shelby|armada-xp-linksys-mamba) +armada-385-linksys-caiman|armada-385-linksys-cobra|armada-385-linksys-shelby|armada-385-linksys-venom|armada-xp-linksys-mamba) SKU=$(strings /dev/mtd3|sed -ne 's/^cert_region=//p') WIFIMAC2G=$(macaddr_add $(cat /sys/class/net/eth0/address) +1) WIFIMAC5G=$(macaddr_add $WIFIMAC2G +1) diff --git a/target/linux/mvebu/base-files/lib/mvebu.sh b/target/linux/mvebu/base-files/lib/mvebu.sh index 840cc1ca2a..33ac832399 100755 --- a/target/linux/mvebu/base-files/lib/mvebu.sh +++ b/target/linux/mvebu/base-files/lib/mvebu.sh @@ -53,6 +53,9 @@ mvebu_board_detect() { *"Linksys WRT3200ACM") name="armada-385-linksys-rango" ;; + *"Linksys WRT32X") + name="armada-385-linksys-venom" + ;; *"Marvell Armada 385 Access Point Development Board") name="armada-385-db-ap" ;; diff --git a/target/linux/mvebu/base-files/lib/preinit/06_set_iface_mac b/target/linux/mvebu/base-files/lib/preinit/06_set_iface_mac index b56cbf50ad..534a271efb 100644 --- a/target/linux/mvebu/base-files/lib/preinit/06_set_iface_mac +++ b/target/linux/mvebu/base-files/lib/preinit/06_set_iface_mac @@ -14,7 +14,7 @@ preinit_set_mac_address() { ip link set dev eth0 address $mac 2>/dev/null ip link set dev eth1 address $mac 2>/dev/null ;; - armada-385-linksys-caiman|armada-385-linksys-cobra|armada-385-linksys-rango|armada-385-linksys-shelby) + armada-385-linksys-caiman|armada-385-linksys-cobra|armada-385-linksys-rango|armada-385-linksys-shelby|armada-385-linksys-venom) # rename interfaces back to the way they were with 4.4 case "$(readlink /sys/class/net/eth0)" in *f1070000*) diff --git a/target/linux/mvebu/base-files/lib/preinit/81_linksys_syscfg b/target/linux/mvebu/base-files/lib/preinit/81_linksys_syscfg index c55c1f5c5a..cf7a22c4f6 100644 --- a/target/linux/mvebu/base-files/lib/preinit/81_linksys_syscfg +++ b/target/linux/mvebu/base-files/lib/preinit/81_linksys_syscfg @@ -8,7 +8,7 @@ preinit_mount_syscfg() { . /lib/functions.sh case $(board_name) in - armada-385-linksys-caiman|armada-385-linksys-cobra|armada-385-linksys-rango|armada-385-linksys-shelby|armada-xp-linksys-mamba) + armada-385-linksys-caiman|armada-385-linksys-cobra|armada-385-linksys-rango|armada-385-linksys-shelby|armada-385-linksys-venom|armada-xp-linksys-mamba) needs_recovery=0 syscfg_part=$(grep syscfg /proc/mtd |cut -c4) ubiattach -m $syscfg_part || needs_recovery=1 diff --git a/target/linux/mvebu/base-files/lib/upgrade/linksys.sh b/target/linux/mvebu/base-files/lib/upgrade/linksys.sh index 63d1cd14a4..aacaf55667 100644 --- a/target/linux/mvebu/base-files/lib/upgrade/linksys.sh +++ b/target/linux/mvebu/base-files/lib/upgrade/linksys.sh @@ -55,7 +55,7 @@ platform_do_upgrade_linksys() { nand_upgrade_tar "$1" } - [ "$magic_long" = "27051956" ] && { + [ "$magic_long" = "27051956" -o "$magic_long" = "0000a0e1" ] && { # check firmwares' rootfs types local target_mtd=$(find_mtd_part $part_label) local oldroot="$(linksys_get_root_magic $target_mtd)" diff --git a/target/linux/mvebu/base-files/lib/upgrade/platform.sh b/target/linux/mvebu/base-files/lib/upgrade/platform.sh index 15c5433792..e4ccf9d7f2 100755 --- a/target/linux/mvebu/base-files/lib/upgrade/platform.sh +++ b/target/linux/mvebu/base-files/lib/upgrade/platform.sh @@ -13,7 +13,7 @@ platform_check_image() { platform_do_upgrade() { case "$(board_name)" in - armada-385-linksys-caiman|armada-385-linksys-cobra|armada-385-linksys-rango|armada-385-linksys-shelby|armada-xp-linksys-mamba) + armada-385-linksys-caiman|armada-385-linksys-cobra|armada-385-linksys-rango|armada-385-linksys-shelby|armada-385-linksys-venom|armada-xp-linksys-mamba) platform_do_upgrade_linksys "$ARGV" ;; armada-385-turris-omnia|armada-388-clearfog-base|armada-388-clearfog-pro|globalscale,espressobin|marvell,armada8040-mcbin) @@ -26,7 +26,7 @@ platform_do_upgrade() { } platform_copy_config() { case "$(board_name)" in - armada-385-linksys-caiman|armada-385-linksys-cobra|armada-385-linksys-rango|armada-385-linksys-shelby|armada-xp-linksys-mamba) + armada-385-linksys-caiman|armada-385-linksys-cobra|armada-385-linksys-rango|armada-385-linksys-shelby|armada-385-linksys-venom|armada-xp-linksys-mamba) platform_copy_config_linksys ;; armada-385-turris-omnia|armada-388-clearfog-base|armada-388-clearfog-pro|globalscale,espressobin|marvell,armada8040-mcbin) -- cgit v1.2.3