ipq40xx: improve ASUS RT-AC58U support
authorSungbo Eo <mans0n@gorani.run>
Sat, 21 Dec 2019 03:43:40 +0000 (12:43 +0900)
committerAdrian Schmutzler <freifunk@adrianschmutzler.de>
Sun, 22 Dec 2019 00:04:51 +0000 (01:04 +0100)
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>
target/linux/ipq40xx/base-files/etc/board.d/01_leds
target/linux/ipq40xx/base-files/etc/board.d/02_network
target/linux/ipq40xx/files-4.14/arch/arm/boot/dts/qcom-ipq4018-rt-ac58u.dts
target/linux/ipq40xx/files-4.19/arch/arm/boot/dts/qcom-ipq4018-rt-ac58u.dts

index 9cd51e5de0b97379e8d14772ac38495a0047e58c..0326bab3821577c6bc139edd174507ef5e243aeb 100755 (executable)
@@ -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"
        ;;
index dcf684f511489125aadd6946d9d2ccaefe5ae854..ae8cb2efe79e5fb8d28f02a71354e1fa4be36062 100755 (executable)
@@ -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)
index 0f6cd689cfcae6dd64e4662e2bf841bbab32066e..4e5559386e78d2ea01ba0015429d601e7f2e8bf5 100644 (file)
        };
 
        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 {
        leds {
                compatible = "gpio-leds";
 
-               power: status {
+               led_power: status {
                        label = "rt-ac58u:blue:status";
                        gpios = <&tlmm 3 GPIO_ACTIVE_HIGH>;
                };
                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 {
                compatible = "jedec,spi-nor";
                reg = <0>;
                linux,modalias = "m25p80", "mx25l1606e", "n25q128a11";
-               spi-max-frequency = <24000000>;
+               spi-max-frequency = <30000000>;
 
                partitions {
                        compatible = "fixed-partitions";
                #size-cells = <0>;
                compatible = "spinand,mt29f";
                reg = <1>;
-               spi-max-frequency = <24000000>;
+               spi-max-frequency = <30000000>;
 
                /*
                 * U-boot looks for "spinand,mt29f" node,
index 26c086ed25390fd4d4ed0ae759c8978ec4b6c9e3..a569a158fd772d52a3a3aa4d32f74bb714a240b6 100644 (file)
        };
 
        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 {
        leds {
                compatible = "gpio-leds";
 
-               power: status {
+               led_power: status {
                        label = "rt-ac58u:blue:status";
                        gpios = <&tlmm 3 GPIO_ACTIVE_HIGH>;
                };
                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 {
                compatible = "jedec,spi-nor";
                reg = <0>;
                linux,modalias = "m25p80", "mx25l1606e", "n25q128a11";
-               spi-max-frequency = <24000000>;
+               spi-max-frequency = <30000000>;
 
                partitions {
                        compatible = "fixed-partitions";
        spi-nand@1 {
                compatible = "spi-nand";
                reg = <1>;
-               spi-max-frequency = <24000000>;
+               spi-max-frequency = <30000000>;
 
                /*
                 * U-boot looks for "spinand,mt29f" node,