ramips: improve support for WeVO 11AC NAS and W2914NS v2
authorSungbo Eo <mans0n@gorani.run>
Mon, 7 Oct 2019 12:36:05 +0000 (21:36 +0900)
committerAdrian Schmutzler <freifunk@adrianschmutzler.de>
Wed, 6 Nov 2019 13:31:32 +0000 (14:31 +0100)
- remove WAN port index
- load WAN MAC address directly from the flash
- provide label MAC address
- increase flash's SPI frequency to 80MHz
- add mt76 led nodes to make WiFi LEDs work
- drop unnecessary pinmux groups

The factory partition scheme for MAC addresses (verified on both devices):
0x4   : WiFi 2.4GHz (label_mac-9)
0x28  : unused
0x2e  : WAN (label_mac)
0x8004: WiFi 5GHz (label_mac-5)
0xe000: LAN (label_mac-1)
0xe006: unused

By improving flash speed,
`time dd if=/dev/mtdblock3 of=/dev/null bs=64k`
has been reduced from 14.51s to 3.11s.

Signed-off-by: Sungbo Eo <mans0n@gorani.run>
[rebased]
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
target/linux/ramips/dts/mt7621_wevo_w2914ns-v2.dtsi
target/linux/ramips/mt7621/base-files/etc/board.d/02_network

index 4e6cccaa7621314a45433d813f3c64e0120cc4c6..6ad3ef111fa9c832b2dbdcceed008c1dcec05c14 100644 (file)
 &spi0 {
        status = "okay";
 
-       m25p80@0 {
+       flash@0 {
                compatible = "jedec,spi-nor";
                reg = <0>;
-               spi-max-frequency = <10000000>;
+               spi-max-frequency = <80000000>;
+               m25p,fast-read;
 
                partitions {
                        compatible = "fixed-partitions";
 
 &pcie0 {
        wifi@0,0 {
-               compatible = "pci14c3,7603";
+               compatible = "mediatek,mt76";
                reg = <0x0000 0 0 0 0>;
                mediatek,mtd-eeprom = <&factory 0x0000>;
+
+               led {
+                       led-sources = <0>;
+                       led-active-low;
+               };
        };
 };
 
 &pcie1 {
        wifi@0,0 {
-               compatible = "pci14c3,7662";
+               compatible = "mediatek,mt76";
                reg = <0x0000 0 0 0 0>;
                mediatek,mtd-eeprom = <&factory 0x8000>;
                ieee80211-freq-limit = <5000000 6000000>;
+
+               led {
+                       led-sources = <2>;
+                       led-active-low;
+               };
        };
 };
 
 &pinctrl {
        state_default: pinctrl0 {
                gpio {
-                       ralink,group = "wdt", "rgmii2", "jtag", "mdio";
+                       ralink,group = "wdt", "rgmii2";
                        ralink,function = "gpio";
                };
        };
index f415cd29b8b583a4e8b8905c24b6cd5481e675a7..ae03dc71b1d9b97aeb908260ef7764f62014482b 100755 (executable)
@@ -69,9 +69,7 @@ ramips_setup_interfaces()
                ucidef_add_switch "switch0" \
                        "0:lan:1" "1:lan:2" "2:lan:3" "3:lan:4" "4:wan:5" "6@eth0"
                ;;
-       d-team,newifi-d2|\
-       wevo,11acnas|\
-       wevo,w2914ns-v2)
+       d-team,newifi-d2)
                ucidef_add_switch "switch0" \
                        "0:lan:4" "1:lan:3" "2:lan:2" "3:lan:1" "4:wan:5" "6@eth0"
                ;;
@@ -113,7 +111,9 @@ ramips_setup_interfaces()
        netgear,r6350|\
        netgear,r6850|\
        netgear,wndr3700-v5|\
-       netis,wf-2881)
+       netis,wf-2881|\
+       wevo,11acnas|\
+       wevo,w2914ns-v2)
                ucidef_add_switch "switch0" \
                        "0:lan:4" "1:lan:3" "2:lan:2" "3:lan:1" "4:wan" "6@eth0"
                ;;
@@ -164,8 +164,6 @@ ramips_setup_macs()
        ubiquiti,edgerouterx-sfp|\
        unielec,u7621-06-16m|\
        unielec,u7621-06-64m|\
-       wevo,11acnas|\
-       wevo,w2914ns-v2|\
        xiaoyu,xy-c5|\
        xzwifi,creativebox-v1|\
        zbtlink,zbt-wg2626)
@@ -225,6 +223,11 @@ ramips_setup_macs()
        netgear,r6850)
                wan_mac=$(macaddr_add "$(cat /sys/class/net/eth0/address)" 2)
                ;;
+       wevo,11acnas|\
+       wevo,w2914ns-v2)
+               wan_mac=$(mtd_get_mac_binary factory 0x2e)
+               label_mac=$wan_mac
+               ;;
        xiaomi,mir3g)
                lan_mac=$(mtd_get_mac_binary factory 0xe006)
                ;;