ramips: improve support for STORYLiNK SAP-G3200U3
[openwrt/staging/mans0n.git] / target / linux / ramips / dts / mt7621_storylink_sap-g3200u3.dts
index 19eb11111dbc117175be2eac2455e3669b03eee5..3448db5f03d5a472521c6655046265766588a930 100644 (file)
@@ -2,6 +2,7 @@
 
 #include <dt-bindings/gpio/gpio.h>
 #include <dt-bindings/input/input.h>
+#include <dt-bindings/leds/common.h>
 
 / {
        compatible = "storylink,sap-g3200u3", "mediatek,mt7621-soc";
@@ -11,7 +12,8 @@
                compatible = "gpio-leds";
 
                usb {
-                       label = "green:usb";
+                       function = LED_FUNCTION_USB;
+                       color = <LED_COLOR_ID_GREEN>;
                        gpios = <&gpio 13 GPIO_ACTIVE_LOW>;
                        trigger-sources = <&xhci_ehci_port1>, <&ehci_port2>;
                        linux,default-trigger = "usbport";
@@ -41,7 +43,8 @@
        flash@0 {
                compatible = "jedec,spi-nor";
                reg = <0>;
-               spi-max-frequency = <10000000>;
+               spi-max-frequency = <50000000>;
+               m25p,fast-read;
 
                partitions {
                        compatible = "fixed-partitions";
                                read-only;
                        };
 
-                       factory: partition@40000 {
+                       partition@40000 {
                                label = "factory";
                                reg = <0x40000 0x10000>;
                                read-only;
+
+                               nvmem-layout {
+                                       compatible = "fixed-layout";
+                                       #address-cells = <1>;
+                                       #size-cells = <1>;
+
+                                       eeprom_factory_0: eeprom@0 {
+                                               reg = <0x0 0x200>;
+                                       };
+
+                                       eeprom_factory_8000: eeprom@8000 {
+                                               reg = <0x8000 0x200>;
+                                       };
+
+                                       macaddr_factory_e000: macaddr@e000 {
+                                               reg = <0xe000 0x6>;
+                                       };
+
+                                       macaddr_factory_e006: macaddr@e006 {
+                                               reg = <0xe006 0x6>;
+                                       };
+                               };
                        };
 
                        partition@50000 {
 };
 
 &pcie0 {
-       mt76@0,0 {
+       wifi@0,0 {
+               compatible = "mediatek,mt76";
                reg = <0x0000 0 0 0 0>;
-               mediatek,mtd-eeprom = <&factory 0x8000>;
+               nvmem-cells = <&eeprom_factory_8000>;
+               nvmem-cell-names = "eeprom";
                ieee80211-freq-limit = <5000000 6000000>;
+
+               led {
+                       led-sources = <2>;
+                       led-active-low;
+               };
        };
 };
 
 &pcie1 {
-       mt76@0,0 {
+       wifi@0,0 {
+               compatible = "mediatek,mt76";
                reg = <0x0000 0 0 0 0>;
-               mediatek,mtd-eeprom = <&factory 0x0000>;
+               nvmem-cells = <&eeprom_factory_0>;
+               nvmem-cell-names = "eeprom";
                ieee80211-freq-limit = <2400000 2500000>;
+
+               led {
+                       led-sources = <2>;
+                       led-active-low;
+               };
        };
 };
 
 &gmac0 {
+       nvmem-cells = <&macaddr_factory_e000>;
+       nvmem-cell-names = "mac-address";
+};
+
+&gmac1 {
+       status = "okay";
+       label = "wan";
+       phy-handle = <&ethphy4>;
+
        nvmem-cells = <&macaddr_factory_e006>;
        nvmem-cell-names = "mac-address";
 };
 
+&mdio {
+       ethphy4: ethernet-phy@4 {
+               reg = <4>;
+       };
+};
+
 &switch0 {
        ports {
                port@0 {
                        status = "okay";
-                       label = "lan1";
+                       label = "lan4";
                };
 
                port@1 {
                        status = "okay";
-                       label = "lan2";
+                       label = "lan3";
                };
 
                port@2 {
                        status = "okay";
-                       label = "lan3";
+                       label = "lan2";
                };
 
                port@3 {
                        status = "okay";
-                       label = "lan4";
-               };
-
-               port@4 {
-                       status = "okay";
-                       label = "wan";
-                       nvmem-cells = <&macaddr_factory_e006>;
-                       nvmem-cell-names = "mac-address";
-                       mac-address-increment = <1>;
+                       label = "lan1";
                };
        };
 };
                function = "gpio";
        };
 };
-
-&factory {
-       compatible = "nvmem-cells";
-       #address-cells = <1>;
-       #size-cells = <1>;
-
-       macaddr_factory_e006: macaddr@e006 {
-               reg = <0xe006 0x6>;
-       };
-};