diff options
author | Sungbo Eo <mans0n@gorani.run> | 2019-12-21 12:43:40 +0900 |
---|---|---|
committer | Adrian Schmutzler <freifunk@adrianschmutzler.de> | 2019-12-22 01:04:51 +0100 |
commit | 80839694056d7eedb1fac1c4b61847c4a4f94d6a (patch) | |
tree | 3cd047de9f36694013aa4ad286e09feaf5ab1a6b | |
parent | 9b02d32e34df2bb8821ec6f08f525bee22d0d1ba (diff) | |
download | upstream-80839694056d7eedb1fac1c4b61847c4a4f94d6a.tar.gz upstream-80839694056d7eedb1fac1c4b61847c4a4f94d6a.tar.bz2 upstream-80839694056d7eedb1fac1c4b61847c4a4f94d6a.zip |
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 <mans0n@gorani.run>
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, |