From 80839694056d7eedb1fac1c4b61847c4a4f94d6a Mon Sep 17 00:00:00 2001 From: Sungbo Eo Date: Sat, 21 Dec 2019 12:43:40 +0900 Subject: [PATCH] ipq40xx: improve ASUS RT-AC58U support This patch does the following: - move WiFi LED setup to DTS - fix LAN/WAN MAC addresses and add label MAC address - wan5G -> wlan5G, power -> led_power - increase flash SPI frequency to 30MHz MAC addresses are stored in Factory partition at: 0x1006: WiFi 2.4GHz, WAN (label_mac) 0x5006: WiFi 5GHz, LAN (label_mac +4) By improving flash speed, `time dd if=/dev/mtdblock8 of=/dev/null bs=2k` is reduced from 7m 10.26s to 5m 9.52s. Using higher frequencies did not improve speed further. Signed-off-by: Sungbo Eo --- .../ipq40xx/base-files/etc/board.d/01_leds | 2 -- .../ipq40xx/base-files/etc/board.d/02_network | 8 ++++++-- .../arm/boot/dts/qcom-ipq4018-rt-ac58u.dts | 18 ++++++++++-------- .../arm/boot/dts/qcom-ipq4018-rt-ac58u.dts | 18 ++++++++++-------- 4 files changed, 26 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 9cd51e5de0..0326bab382 100755 --- a/target/linux/ipq40xx/base-files/etc/board.d/01_leds +++ b/target/linux/ipq40xx/base-files/etc/board.d/01_leds @@ -15,8 +15,6 @@ alfa-network,ap120c-ac) ucidef_set_led_netdev "wan" "WAN" "${boardname}:amber:wan" "eth1" ;; asus,rt-ac58u) - ucidef_set_led_wlan "wlan2g" "WLAN2G" "${boardname}:blue:wlan2G" "phy0tpt" - ucidef_set_led_wlan "wlan5g" "WLAN5G" "${boardname}:blue:wlan5G" "phy1tpt" ucidef_set_led_netdev "wan" "WAN" "${boardname}:blue:wan" "eth1" ucidef_set_led_switch "lan" "LAN" "${boardname}:blue:lan" "switch0" "0x1e" ;; 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 dcf684f511..ae8cb2efe7 100755 --- a/target/linux/ipq40xx/base-files/etc/board.d/02_network +++ b/target/linux/ipq40xx/base-files/etc/board.d/02_network @@ -79,12 +79,16 @@ ipq40xx_setup_interfaces() ipq40xx_setup_macs() { local board="$1" + local lan_mac="" + local wan_mac="" + local label_mac="" case "$board" in asus,rt-ac58u) CI_UBIPART=UBI_DEV - wan_mac=$(mtd_get_mac_binary_ubi Factory 0x5006) - lan_mac=$(mtd_get_mac_binary_ubi Factory 0x1006) + wan_mac=$(mtd_get_mac_binary_ubi Factory 0x1006) + lan_mac=$(mtd_get_mac_binary_ubi Factory 0x5006) + label_mac=$wan_mac ;; cilab,meshpoint-one) label_mac=$(mtd_get_mac_binary "ART" 0x1006) diff --git a/target/linux/ipq40xx/files-4.14/arch/arm/boot/dts/qcom-ipq4018-rt-ac58u.dts b/target/linux/ipq40xx/files-4.14/arch/arm/boot/dts/qcom-ipq4018-rt-ac58u.dts index 0f6cd689cf..4e5559386e 100644 --- a/target/linux/ipq40xx/files-4.14/arch/arm/boot/dts/qcom-ipq4018-rt-ac58u.dts +++ b/target/linux/ipq40xx/files-4.14/arch/arm/boot/dts/qcom-ipq4018-rt-ac58u.dts @@ -15,10 +15,10 @@ }; aliases { - led-boot = &power; - led-failsafe = &power; - led-running = &power; - led-upgrade = &power; + led-boot = &led_power; + led-failsafe = &led_power; + led-running = &led_power; + led-upgrade = &led_power; }; chosen { @@ -137,7 +137,7 @@ leds { compatible = "gpio-leds"; - power: status { + led_power: status { label = "rt-ac58u:blue:status"; gpios = <&tlmm 3 GPIO_ACTIVE_HIGH>; }; @@ -150,11 +150,13 @@ wlan2G { label = "rt-ac58u:blue:wlan2G"; gpios = <&tlmm 58 GPIO_ACTIVE_HIGH>; + linux,default-trigger = "phy0tpt"; }; - wan5G { + wlan5G { label = "rt-ac58u:blue:wlan5G"; gpios = <&tlmm 5 GPIO_ACTIVE_HIGH>; + linux,default-trigger = "phy1tpt"; }; usb { @@ -224,7 +226,7 @@ compatible = "jedec,spi-nor"; reg = <0>; linux,modalias = "m25p80", "mx25l1606e", "n25q128a11"; - spi-max-frequency = <24000000>; + spi-max-frequency = <30000000>; partitions { compatible = "fixed-partitions"; @@ -280,7 +282,7 @@ #size-cells = <0>; compatible = "spinand,mt29f"; reg = <1>; - spi-max-frequency = <24000000>; + spi-max-frequency = <30000000>; /* * U-boot looks for "spinand,mt29f" node, diff --git a/target/linux/ipq40xx/files-4.19/arch/arm/boot/dts/qcom-ipq4018-rt-ac58u.dts b/target/linux/ipq40xx/files-4.19/arch/arm/boot/dts/qcom-ipq4018-rt-ac58u.dts index 26c086ed25..a569a158fd 100644 --- a/target/linux/ipq40xx/files-4.19/arch/arm/boot/dts/qcom-ipq4018-rt-ac58u.dts +++ b/target/linux/ipq40xx/files-4.19/arch/arm/boot/dts/qcom-ipq4018-rt-ac58u.dts @@ -15,10 +15,10 @@ }; aliases { - led-boot = &power; - led-failsafe = &power; - led-running = &power; - led-upgrade = &power; + led-boot = &led_power; + led-failsafe = &led_power; + led-running = &led_power; + led-upgrade = &led_power; }; chosen { @@ -131,7 +131,7 @@ leds { compatible = "gpio-leds"; - power: status { + led_power: status { label = "rt-ac58u:blue:status"; gpios = <&tlmm 3 GPIO_ACTIVE_HIGH>; }; @@ -144,11 +144,13 @@ wlan2G { label = "rt-ac58u:blue:wlan2G"; gpios = <&tlmm 58 GPIO_ACTIVE_HIGH>; + linux,default-trigger = "phy0tpt"; }; - wan5G { + wlan5G { label = "rt-ac58u:blue:wlan5G"; gpios = <&tlmm 5 GPIO_ACTIVE_HIGH>; + linux,default-trigger = "phy1tpt"; }; usb { @@ -216,7 +218,7 @@ compatible = "jedec,spi-nor"; reg = <0>; linux,modalias = "m25p80", "mx25l1606e", "n25q128a11"; - spi-max-frequency = <24000000>; + spi-max-frequency = <30000000>; partitions { compatible = "fixed-partitions"; @@ -270,7 +272,7 @@ spi-nand@1 { compatible = "spi-nand"; reg = <1>; - spi-max-frequency = <24000000>; + spi-max-frequency = <30000000>; /* * U-boot looks for "spinand,mt29f" node, -- 2.25.1