ramips: mt7621: add interrupt-controller
[openwrt/staging/hauke.git] / target / linux / ramips / dts / mt7621_netgear_sercomm_bzv.dtsi
index eee6c535e1363df7c9ed4a93fed02bbcf98f4c8f..5c4512b508efcb96e42e5076eedb11d1b3d620e4 100644 (file)
@@ -1,4 +1,4 @@
-// SPDX-License-Identifier: GPL-2.0
+// SPDX-License-Identifier: GPL-2.0-only
 
 #include "mt7621.dtsi"
 
 
        aliases {
                label-mac-device = &gmac0;
+               led-boot = &led_power_white;
+               led-failsafe = &led_power_orange;
+               led-running = &led_power_white;
+               led-upgrade = &led_power_orange;
        };
 
        keys {
                        linux,code = <KEY_RESTART>;
                };
        };
+
+       leds: leds {
+               compatible = "gpio-leds";
+
+               led_power_orange: power_orange {
+                       gpios = <&gpio_expander 0 GPIO_ACTIVE_LOW>;
+                       label = "orange:power";
+               };
+
+               led_power_white: power_white {
+                       gpios = <&gpio_expander 1 GPIO_ACTIVE_LOW>;
+                       label = "white:power";
+               };
+
+               wan_orange {
+                       gpios = <&gpio_expander 2 GPIO_ACTIVE_LOW>;
+                       label = "orange:wan";
+               };
+
+               wan_white {
+                       gpios = <&gpio_expander 3 GPIO_ACTIVE_LOW>;
+                       label = "white:wan";
+               };
+
+               wlan2g {
+                       gpios = <&gpio_expander 4 GPIO_ACTIVE_LOW>;
+                       label = "white:wlan2g";
+                       linux,default-trigger = "phy0radio";
+               };
+
+               wlan5g {
+                       gpios = <&gpio_expander 5 GPIO_ACTIVE_LOW>;
+                       label = "white:wlan5g";
+                       linux,default-trigger = "phy1radio";
+               };
+
+               usb3 {
+                       gpios = <&gpio_expander 7 GPIO_ACTIVE_LOW>;
+                       label = "white:usb3";
+                       linux,default-trigger = "usbport";
+                       trigger-sources = <&xhci_ehci_port1>;
+               };
+
+               lan1_orange {
+                       gpios = <&gpio_expander 8 GPIO_ACTIVE_LOW>;
+                       label = "orange:lan1";
+               };
+
+               lan1_white {
+                       gpios = <&gpio_expander 9 GPIO_ACTIVE_LOW>;
+                       label = "white:lan1";
+               };
+
+               lan2_orange {
+                       gpios = <&gpio_expander 10 GPIO_ACTIVE_LOW>;
+                       label = "orange:lan2";
+               };
+
+               lan2_white {
+                       gpios = <&gpio_expander 11 GPIO_ACTIVE_LOW>;
+                       label = "white:lan2";
+               };
+
+               lan3_orange {
+                       gpios = <&gpio_expander 12 GPIO_ACTIVE_LOW>;
+                       label = "orange:lan3";
+               };
+
+               lan3_white {
+                       gpios = <&gpio_expander 13 GPIO_ACTIVE_LOW>;
+                       label = "white:lan3";
+               };
+
+               lan4_orange {
+                       gpios = <&gpio_expander 14 GPIO_ACTIVE_LOW>;
+                       label = "orange:lan4";
+               };
+
+               lan4_white {
+                       gpios = <&gpio_expander 15 GPIO_ACTIVE_LOW>;
+                       label = "white:lan4";
+               };
+
+               wps {
+                       gpios = <&gpio 17 GPIO_ACTIVE_HIGH>;
+                       label = "white:wps";
+               };
+
+               wlan {
+                       gpios = <&gpio 5 GPIO_ACTIVE_LOW>;
+                       label = "white:wlan";
+               };
+       };
+};
+
+&state_default {
+       gpio {
+               groups = "uart3", "uart2", "jtag", "wdt";
+               function = "gpio";
+       };
 };
 
 &pcie {
 };
 
 &gmac0 {
-       mtd-mac-address = <&factory 0x4>;
+       nvmem-cells = <&macaddr_factory_4>;
+       nvmem-cell-names = "mac-address";
+};
+
+&gmac1 {
+       status = "okay";
+       label = "wan";
+       phy-handle = <&ethphy4>;
+
+       nvmem-cells = <&macaddr_factory_4>;
+       nvmem-cell-names = "mac-address";
+       mac-address-increment = <2>;
+};
+
+&mdio {
+       ethphy4: ethernet-phy@4 {
+               reg = <4>;
+       };
 };
 
 &switch0 {
                        status = "okay";
                        label = "lan1";
                };
-
-               port@4 {
-                       status = "okay";
-                       label = "wan";
-                       mtd-mac-address = <&factory 0x4>;
-                       mtd-mac-address-increment = <2>;
-               };
        };
 };
 
                reg = <0x20>;
 
                gpio-controller;
+               interrupt-controller;
        };
 };
 
        status = "okay";
 
        partitions {
-               compatible = "fixed-partitions";
+               compatible = "sercomm,sc-partitions", "fixed-partitions";
                #address-cells = <1>;
                #size-cells = <1>;
 
                partition@0 {
                        label = "u-boot";
                        reg = <0x0 0x100000>;
+                       sercomm,scpart-id = <0>;
                        read-only;
                };
 
                partition@100000 {
                        label = "SC PART_MAP";
                        reg = <0x100000 0x100000>;
+                       sercomm,scpart-id = <1>;
                        read-only;
                };
 
                partition@200000 {
                        label = "kernel";
                        reg = <0x200000 0x400000>;
+                       sercomm,scpart-id = <2>;
                };
 
                partition@600000 {
                        label = "ubi";
                        reg = <0x600000 0x2800000>;
+                       sercomm,scpart-id = <3>;
                };
 
                partition@2e00000 {
-                       label = "reserved0";
-                       reg = <0x2e00000 0x1800000>;
+                       label = "English UI";
+                       reg = <0x2e00000 0x200000>;
+                       sercomm,scpart-id = <4>;
+                       read-only;
+               };
+
+               partition@3000000 {
+                       label = "ML1";
+                       reg = <0x3000000 0x200000>;
+                       sercomm,scpart-id = <5>;
+                       read-only;
+               };
+
+               partition@3200000 {
+                       label = "ML2";
+                       reg = <0x3200000 0x200000>;
+                       sercomm,scpart-id = <6>;
+                       read-only;
+               };
+
+               partition@3400000 {
+                       label = "ML3";
+                       reg = <0x3400000 0x200000>;
+                       sercomm,scpart-id = <7>;
+                       read-only;
+               };
+
+               partition@3600000 {
+                       label = "ML4";
+                       reg = <0x3600000 0x200000>;
+                       sercomm,scpart-id = <8>;
+                       read-only;
+               };
+
+               partition@3800000 {
+                       label = "ML5";
+                       reg = <0x3800000 0x200000>;
+                       sercomm,scpart-id = <9>;
+                       read-only;
+               };
+
+               partition@3a00000 {
+                       label = "ML6";
+                       reg = <0x3a00000 0x200000>;
+                       sercomm,scpart-id = <10>;
+                       read-only;
+               };
+
+               partition@3c00000 {
+                       label = "ML7";
+                       reg = <0x3c00000 0x200000>;
+                       sercomm,scpart-id = <11>;
+                       read-only;
+               };
+
+               partition@3e00000 {
+                       label = "ML8";
+                       reg = <0x3e00000 0x200000>;
+                       sercomm,scpart-id = <12>;
+                       read-only;
+               };
+
+               partition@4000000 {
+                       label = "ML9";
+                       reg = <0x4000000 0x200000>;
+                       sercomm,scpart-id = <13>;
+                       read-only;
+               };
+
+               partition@4200000 {
+                       label = "ML10";
+                       reg = <0x4200000 0x200000>;
+                       sercomm,scpart-id = <14>;
+                       read-only;
+               };
+
+               partition@4400000 {
+                       label = "ML11";
+                       reg = <0x4400000 0x200000>;
+                       sercomm,scpart-id = <15>;
                        read-only;
                };
 
                factory: partition@4600000 {
                        label = "factory";
                        reg = <0x4600000 0x200000>;
+                       sercomm,scpart-id = <16>;
                        read-only;
                };
 
                partition@4800000 {
+                       label = "SC Private Data";
+                       reg = <0x4800000 0x200000>;
+                       sercomm,scpart-id = <17>;
+                       read-only;
+               };
+
+               partition@4a00000 {
+                       label = "POT";
+                       reg = <0x4a00000 0x200000>;
+                       sercomm,scpart-id = <18>;
+                       read-only;
+               };
+
+               partition@4c00000 {
+                       label = "Traffic Meter";
+                       reg = <0x4c00000 0x200000>;
+                       sercomm,scpart-id = <19>;
+                       read-only;
+               };
+
+               partition@4e00000 {
+                       label = "SC PID";
+                       reg = <0x4e00000 0x200000>;
+                       sercomm,scpart-id = <20>;
+                       read-only;
+               };
+
+               partition@5000000 {
+                       label = "SC Nvram";
+                       reg = <0x5000000 0x200000>;
+                       sercomm,scpart-id = <21>;
+                       read-only;
+               };
+
+               partition@5200000 {
+                       label = "Ralink Nvram";
+                       reg = <0x5200000 0x200000>;
+                       sercomm,scpart-id = <22>;
+                       read-only;
+               };
+
+               partition@5400000 {
+                       label = "reserved0";
+                       reg = <0x5400000 0x200000>;
+                       sercomm,scpart-id = <23>;
+                       read-only;
+               };
+
+               partition@5600000 {
                        label = "reserved1";
-                       reg = <0x4800000 0x3800000>;
+                       reg = <0x5600000 0x200000>;
+                       sercomm,scpart-id = <24>;
+                       read-only;
+               };
+
+               partition@5800000 {
+                       label = "reserved2";
+                       reg = <0x5800000 0x200000>;
+                       sercomm,scpart-id = <25>;
+                       read-only;
+               };
+
+               partition@5a00000 {
+                       label = "reserved3";
+                       reg = <0x5a00000 0x200000>;
+                       sercomm,scpart-id = <26>;
+                       read-only;
+               };
+
+               partition@5c00000 {
+                       label = "reserved4";
+                       reg = <0x5c00000 0x200000>;
+                       sercomm,scpart-id = <27>;
                        read-only;
                };
+
+               partition@5e00000 {
+                       label = "reserved5";
+                       reg = <0x5e00000 0x2180000>;
+                       sercomm,scpart-id = <28>;
+                       read-only;
+               };
+       };
+};
+
+&factory {
+       compatible = "nvmem-cells";
+       #address-cells = <1>;
+       #size-cells = <1>;
+
+       macaddr_factory_4: macaddr@4 {
+               reg = <0x4 0x6>;
        };
 };