From 350593307381c3021b6990efa6ff16550a5e59a8 Mon Sep 17 00:00:00 2001 From: Chen Minqiang Date: Mon, 3 Oct 2022 09:41:31 +0800 Subject: [PATCH] ipq40xx: convert to DSA and enable asus,rt-ac42u This convert board asus,rt-ac42u to DSA and re-enable it Reviewed-by: Robert Marko Signed-off-by: Chen Minqiang --- .../ipq40xx/base-files/etc/board.d/01_leds | 9 +++-- .../ipq40xx/base-files/etc/board.d/02_network | 4 ++ .../lib/preinit/05_set_iface_mac_ipq40xx.sh | 9 ++++- .../arm/boot/dts/qcom-ipq4019-rt-ac42u.dts | 40 +++++++++++++------ target/linux/ipq40xx/image/generic.mk | 3 +- 5 files changed, 45 insertions(+), 20 deletions(-) diff --git a/target/linux/ipq40xx/base-files/etc/board.d/01_leds b/target/linux/ipq40xx/base-files/etc/board.d/01_leds index cd68ed32c01..748b6f5b82c 100644 --- a/target/linux/ipq40xx/base-files/etc/board.d/01_leds +++ b/target/linux/ipq40xx/base-files/etc/board.d/01_leds @@ -13,10 +13,11 @@ alfa-network,ap120c-ac) ucidef_set_led_netdev "wan" "WAN" "amber:wan" "wan" ;; asus,rt-ac42u) - ucidef_set_led_switch "lan1" "LAN1" "blue:lan-1" "switch0" "0x02" - ucidef_set_led_switch "lan2" "LAN2" "blue:lan-2" "switch0" "0x04" - ucidef_set_led_switch "lan3" "LAN3" "blue:lan-3" "switch0" "0x08" - ucidef_set_led_switch "lan4" "LAN4" "blue:lan-4" "switch0" "0x10" + ucidef_set_led_netdev "lan1" "LAN1" "blue:lan-1" "lan1" + ucidef_set_led_netdev "lan2" "LAN2" "blue:lan-2" "lan2" + ucidef_set_led_netdev "lan3" "LAN3" "blue:lan-3" "lan3" + ucidef_set_led_netdev "lan4" "LAN4" "blue:lan-4" "lan4" + ucidef_set_led_netdev "wan" "WAN" "blue:wan" "wan" ;; asus,rt-ac58u) ucidef_set_led_netdev "wan" "WAN" "blue:wan" "eth1" diff --git a/target/linux/ipq40xx/base-files/etc/board.d/02_network b/target/linux/ipq40xx/base-files/etc/board.d/02_network index 36f1f7c24a5..56d38bd6a7e 100644 --- a/target/linux/ipq40xx/base-files/etc/board.d/02_network +++ b/target/linux/ipq40xx/base-files/etc/board.d/02_network @@ -13,6 +13,7 @@ ipq40xx_setup_interfaces() case "$board" in 8dev,habanero-dvk|\ avm,fritzbox-4040|\ + asus,rt-ac42u|\ asus,rt-ac58u|\ linksys,ea6350v3|\ linksys,ea8300|\ @@ -81,6 +82,9 @@ ipq40xx_setup_macs() 8dev,habanero-dvk) label_mac=$(mtd_get_mac_binary "ART" 0x1006) ;; + asus,rt-ac42u) + label_mac=$(mtd_get_mac_binary_ubi Factory 0x1006) + ;; asus,rt-ac58u) wan_mac=$(mtd_get_mac_binary_ubi Factory 0x1006) lan_mac=$(mtd_get_mac_binary_ubi Factory 0x5006) diff --git a/target/linux/ipq40xx/base-files/lib/preinit/05_set_iface_mac_ipq40xx.sh b/target/linux/ipq40xx/base-files/lib/preinit/05_set_iface_mac_ipq40xx.sh index e4a5eb3e895..ddfef1ab2d4 100644 --- a/target/linux/ipq40xx/base-files/lib/preinit/05_set_iface_mac_ipq40xx.sh +++ b/target/linux/ipq40xx/base-files/lib/preinit/05_set_iface_mac_ipq40xx.sh @@ -8,8 +8,13 @@ preinit_set_mac_address() { ip link set dev eth1 address $(macaddr_add "$base_mac" 3) ;; asus,rt-ac42u) - ip link set dev eth0 address $(mtd_get_mac_binary_ubi Factory 0x1006) - ip link set dev eth1 address $(mtd_get_mac_binary_ubi Factory 0x9006) + base_mac=$(mtd_get_mac_binary_ubi Factory 0x1006) + ip link set dev eth0 address $base_mac + ip link set dev lan1 address $base_mac + ip link set dev lan2 address $base_mac + ip link set dev lan3 address $base_mac + ip link set dev lan4 address $base_mac + ip link set dev wan address $(mtd_get_mac_binary_ubi Factory 0x9006) ;; engenius,eap2200) base_mac=$(cat /sys/class/net/eth0/address) diff --git a/target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4019-rt-ac42u.dts b/target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4019-rt-ac42u.dts index 3d58eac09ed..f746acfbb95 100644 --- a/target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4019-rt-ac42u.dts +++ b/target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4019-rt-ac42u.dts @@ -31,10 +31,6 @@ status = "okay"; }; - ess-psgmii@98000 { - status = "okay"; - }; - tcsr@1949000 { compatible = "qcom,tcsr"; reg = <0x1949000 0x100>; @@ -85,14 +81,6 @@ watchdog@b017000 { status = "okay"; }; - - ess-switch@c000000 { - status = "okay"; - }; - - edma@c080000 { - status = "okay"; - }; }; keys { @@ -282,6 +270,34 @@ status = "okay"; }; +&gmac { + status = "okay"; +}; + +&switch { + status = "okay"; +}; + +&swport1 { + status = "okay"; +}; + +&swport2 { + status = "okay"; +}; + +&swport3 { + status = "okay"; +}; + +&swport4 { + status = "okay"; +}; + +&swport5 { + status = "okay"; +}; + &wifi0 { status = "okay"; qcom,ath10k-calibration-variant = "ASUS-RT-AC42U"; diff --git a/target/linux/ipq40xx/image/generic.mk b/target/linux/ipq40xx/image/generic.mk index 68ce31c2058..0a7fee159db 100644 --- a/target/linux/ipq40xx/image/generic.mk +++ b/target/linux/ipq40xx/image/generic.mk @@ -228,8 +228,7 @@ define Device/asus_rt-ac42u UIMAGE_NAME:=$(shell echo -e '\03\01\01\01RT-AC82U') DEVICE_PACKAGES := ath10k-firmware-qca9984-ct kmod-usb-ledtrig-usbport endef -# Missing DSA Setup -#TARGET_DEVICES += asus_rt-ac42u +TARGET_DEVICES += asus_rt-ac42u define Device/asus_rt-ac58u $(call Device/FitImageLzma) -- 2.30.2