ramips: add support for TP-Link Archer C5 v4
[openwrt/openwrt.git] / target / linux / ramips / dts / mt7621_tplink_re350-v1.dts
index 13faedd0ea2899dc8bc85fbdea22e8fca5f92ddc..6437cba7b1933cb9cb99dc6f2e7184d37fcfb367 100644 (file)
@@ -1,9 +1,8 @@
-/dts-v1/;
-
 #include "mt7621.dtsi"
 
 #include <dt-bindings/gpio/gpio.h>
 #include <dt-bindings/input/input.h>
+#include <dt-bindings/leds/common.h>
 
 / {
        compatible = "tplink,re350-v1", "mediatek,mt7621-soc";
                led-upgrade = &led_power;
        };
 
-       chosen {
-               bootargs = "console=ttyS0,57600";
-       };
-
        leds {
                compatible = "gpio-leds";
 
                led_power: power {
-                       label = "re350-v1:blue:power";
+                       function = LED_FUNCTION_POWER;
+                       color = <LED_COLOR_ID_BLUE>;
                        gpios = <&gpio 22 GPIO_ACTIVE_LOW>;
                };
 
                wifi2g {
-                       label = "re350-v1:blue:wifi2G";
+                       label = "blue:wifi2G";
                        gpios = <&gpio 23 GPIO_ACTIVE_LOW>;
                };
 
                wifi5g {
-                       label = "re350-v1:blue:wifi5G";
+                       label = "blue:wifi5G";
                        gpios = <&gpio 24 GPIO_ACTIVE_LOW>;
                };
 
                wps_r {
-                       label = "re350-v1:red:wps";
+                       function = LED_FUNCTION_WPS;
+                       color = <LED_COLOR_ID_RED>;
                        gpios = <&gpio 25 GPIO_ACTIVE_HIGH>;
                };
 
                wps_b {
-                       label = "re350-v1:blue:wps";
+                       function = LED_FUNCTION_WPS;
+                       color = <LED_COLOR_ID_BLUE>;
                        gpios = <&gpio 26 GPIO_ACTIVE_HIGH>;
                };
 
                eth {
-                       label = "re350-v1:green:eth_act";
+                       label = "green:eth_act";
                        gpios = <&gpio 28 GPIO_ACTIVE_LOW>;
                };
 
                eth2 {
-                       label = "re350-v1:green:eth_link";
+                       label = "green:eth_link";
                        gpios = <&gpio 29 GPIO_ACTIVE_LOW>;
                };
        };
@@ -91,7 +89,7 @@
 &spi0 {
        status = "okay";
 
-       w25q64@0 {
+       flash@0 {
                compatible = "jedec,spi-nor";
                reg = <0>;
                spi-max-frequency = <10000000>;
                                reg = <0x20000 0x5e0000>;
                        };
 
-                       config: partition@600000 {
+                       partition@600000 {
                                label = "config";
                                reg = <0x600000 0x50000>;
                                read-only;
+
+                               nvmem-layout {
+                                       compatible = "fixed-layout";
+                                       #address-cells = <1>;
+                                       #size-cells = <1>;
+
+                                       macaddr_config_10008: macaddr@10008 {
+                                               compatible = "mac-base";
+                                               reg = <0x10008 0x6>;
+                                               #nvmem-cell-cells = <1>;
+                                       };
+                               };
                        };
 
-                       radio: partition@7f0000 {
+                       partition@7f0000 {
                                label = "radio";
                                reg = <0x7f0000 0x10000>;
                                read-only;
+
+                               nvmem-layout {
+                                       compatible = "fixed-layout";
+                                       #address-cells = <1>;
+                                       #size-cells = <1>;
+
+                                       eeprom_radio_0: eeprom@0 {
+                                               reg = <0x0 0x400>;
+                                       };
+
+                                       eeprom_radio_8000: eeprom@8000 {
+                                               reg = <0x8000 0x200>;
+                                       };
+                               };
                        };
                };
        };
 &pcie0 {
        mt76@0,0 {
                reg = <0x0000 0 0 0 0>;
-               mediatek,mtd-eeprom = <&radio 0>;
-               mtd-mac-address = <&config 0x10008>;
-               mtd-mac-address-increment = <1>;
+               nvmem-cells = <&eeprom_radio_0>, <&macaddr_config_10008 1>;
+               nvmem-cell-names = "eeprom", "mac-address";
        };
 };
 
 &pcie1 {
        mt76@0,0 {
                reg = <0x0000 0 0 0 0>;
-               mediatek,mtd-eeprom = <&radio 0x8000>;
                ieee80211-freq-limit = <5000000 6000000>;
-               mtd-mac-address = <&config 0x10008>;
-               mtd-mac-address-increment = <2>;
+               nvmem-cells = <&eeprom_radio_8000>, <&macaddr_config_10008 2>;
+               nvmem-cell-names = "eeprom", "mac-address";
        };
 };
 
 &ethernet {
-       mtd-mac-address = <&config 0x10008>;
+       pinctrl-0 = <&mdio_pins>, <&rgmii1_pins>;
+};
+
+&gmac0 {
+       nvmem-cells = <&macaddr_config_10008 0>;
+       nvmem-cell-names = "mac-address";
+};
+
+&switch0 {
+       ports {
+               port@0 {
+                       status = "okay";
+                       label = "lan";
+               };
+       };
 };
 
 &state_default {