ramips: add proper system clock and reset driver support for mt7621
[openwrt/openwrt.git] / target / linux / ramips / dts / mt7621_xzwifi_creativebox-v1.dts
index 73bfd6a4f0fc418ee9e464fee90fc9326074a709..32f7e5056a313c6e8352e90af6935e85e821c1aa 100644 (file)
@@ -1,5 +1,4 @@
 // SPDX-License-Identifier: GPL-2.0-or-later OR MIT
-/dts-v1/;
 
 #include "mt7621.dtsi"
 
                compatible = "gpio-leds";
 
                power {
-                       label = "creativebox-v1:blue:power";
-                       gpios = <&gpio0 31 GPIO_ACTIVE_LOW>;
+                       label = "blue:power";
+                       gpios = <&gpio 31 GPIO_ACTIVE_LOW>;
                        default-state = "on";
                };
 
                led_sys: sys {
-                       label = "creativebox-v1:blue:sys";
-                       gpios = <&gpio1 0 GPIO_ACTIVE_LOW>;
+                       label = "blue:sys";
+                       gpios = <&gpio 32 GPIO_ACTIVE_LOW>;
                };
 
                internet {
-                       label = "creativebox-v1:blue:internet";
-                       gpios = <&gpio0 29 GPIO_ACTIVE_LOW>;
+                       label = "blue:internet";
+                       gpios = <&gpio 29 GPIO_ACTIVE_LOW>;
                };
 
                wlan2g {
-                       label = "creativebox-v1:blue:wlan2g";
-                       gpios = <&gpio1 1 GPIO_ACTIVE_LOW>;
+                       label = "blue:wlan2g";
+                       gpios = <&gpio 33 GPIO_ACTIVE_LOW>;
                        linux,default-trigger = "phy0tpt";
                };
 
                wlan5g {
-                       label = "creativebox-v1:blue:wlan5g";
-                       gpios = <&gpio0 28 GPIO_ACTIVE_LOW>;
+                       label = "blue:wlan5g";
+                       gpios = <&gpio 28 GPIO_ACTIVE_LOW>;
                        linux,default-trigger = "phy1tpt";
                };
        };
 
        keys {
-               compatible = "gpio-keys-polled";
-               poll-interval = <20>;
+               compatible = "gpio-keys";
 
                reset {
                        label = "reset";
-                       gpios = <&gpio0 18 GPIO_ACTIVE_LOW>;
+                       gpios = <&gpio 18 GPIO_ACTIVE_LOW>;
                        linux,code = <KEY_RESTART>;
                };
        };
                power_usb2 {
                        gpio-export,name = "power_usb2";
                        gpio-export,output = <1>;
-                       gpios = <&gpio0 22 GPIO_ACTIVE_HIGH>;
+                       gpios = <&gpio 22 GPIO_ACTIVE_HIGH>;
                };
 
                power_usb3 {
                        gpio-export,name = "power_usb3";
                        gpio-export,output = <1>;
-                       gpios = <&gpio0 25 GPIO_ACTIVE_HIGH>;
+                       gpios = <&gpio 25 GPIO_ACTIVE_HIGH>;
                };
 
                power_sata {
                        gpio-export,name = "power_sata";
                        gpio-export,output = <1>;
-                       gpios = <&gpio0 27 GPIO_ACTIVE_HIGH>;
+                       gpios = <&gpio 27 GPIO_ACTIVE_HIGH>;
                };
        };
 };
@@ -95,6 +93,7 @@
                compatible = "jedec,spi-nor";
                reg = <0>;
                spi-max-frequency = <40000000>;
+               broken-flash-reset;
 
                partitions {
                        compatible = "fixed-partitions";
 };
 
 &ethernet {
-       mtd-mac-address = <&factory 0xe000>;
+       pinctrl-0 = <&mdio_pins>, <&rgmii1_pins>;
 };
 
-&pinctrl {
-       state_default: pinctrl0 {
-               gpio {
-                       ralink,group = "wdt", "rgmii2";
-                       ralink,function = "gpio";
+&gmac0 {
+       nvmem-cells = <&macaddr_factory_e000>;
+       nvmem-cell-names = "mac-address";
+};
+
+&switch0 {
+       ports {
+               port@0 {
+                       status = "okay";
+                       label = "lan1";
                };
+
+               port@1 {
+                       status = "okay";
+                       label = "lan2";
+               };
+
+               port@2 {
+                       status = "okay";
+                       label = "lan3";
+               };
+
+               port@3 {
+                       status = "okay";
+                       label = "lan4";
+               };
+
+               port@4 {
+                       status = "okay";
+                       label = "wan";
+                       nvmem-cells = <&macaddr_factory_e000>;
+                       nvmem-cell-names = "mac-address";
+                       mac-address-increment = <1>;
+               };
+       };
+};
+
+&state_default {
+       gpio {
+               groups = "wdt", "rgmii2";
+               function = "gpio";
+       };
+};
+
+&factory {
+       compatible = "nvmem-cells";
+       #address-cells = <1>;
+       #size-cells = <1>;
+
+       macaddr_factory_e000: macaddr@e000 {
+               reg = <0xe000 0x6>;
        };
 };