ath79: consolidate Netgear EX7300 series images
[openwrt/staging/wigyori.git] / target / linux / ath79 / dts / qca9558_netgear_ex7300.dts
index 23102bf93c094b4d750d2b030c9d4c8c3b724cfe..fc0b6de96cef6c8535ef33b07c36473a1e167ac1 100644 (file)
@@ -1,9 +1,227 @@
 // SPDX-License-Identifier: GPL-2.0-or-later OR MIT
-/dts-v1/;
 
-#include "qca9558_netgear_ex7300.dtsi"
+#include "qca955x.dtsi"
+
+#include <dt-bindings/gpio/gpio.h>
+#include <dt-bindings/input/input.h>
 
 / {
        model = "Netgear EX7300";
        compatible = "netgear,ex7300", "qca,qca9558";
+
+       aliases {
+               led-boot = &led_power_green;
+               led-failsafe = &led_power_amber;
+               led-running = &led_power_green;
+               led-upgrade = &led_power_amber;
+               label-mac-device = &eth0;
+       };
+
+       led_spi {
+               compatible = "spi-gpio";
+               #address-cells = <1>;
+               #size-cells = <0>;
+
+               sck-gpios = <&gpio 18 GPIO_ACTIVE_HIGH>;
+               mosi-gpios = <&gpio 15 GPIO_ACTIVE_HIGH>;
+               num-chipselects = <0>;
+
+               led_gpio: led_gpio@0 {
+                       compatible = "nxp,74lvc594";
+                       reg = <0>;
+                       gpio-controller;
+                       #gpio-cells = <2>;
+                       registers-number = <1>;
+                       spi-max-frequency = <500000>;
+
+                       gpio_latch_bit {
+                               gpio-hog;
+                               gpios = <4 GPIO_ACTIVE_HIGH>;
+                               output-high;
+                               line-name = "gpio-latch-bit";
+                       };
+               };
+       };
+
+       leds {
+               compatible = "gpio-leds";
+
+               led_power_green: power_green {
+                       label = "green:power";
+                       gpios = <&gpio 19 GPIO_ACTIVE_LOW>;
+               };
+
+               led_power_amber: power_amber {
+                       label = "amber:power";
+                       gpios = <&gpio 20 GPIO_ACTIVE_LOW>;
+               };
+
+               left_blue {
+                       label = "blue:left";
+                       gpios = <&led_gpio 7 GPIO_ACTIVE_LOW>;
+               };
+
+               right_blue {
+                       label = "blue:right";
+                       gpios = <&led_gpio 6 GPIO_ACTIVE_LOW>;
+               };
+
+               wps_green {
+                       label = "green:wps";
+                       gpios = <&led_gpio 5 GPIO_ACTIVE_LOW>;
+               };
+
+               client_red {
+                       label = "red:client";
+                       gpios = <&led_gpio 3 GPIO_ACTIVE_LOW>;
+               };
+
+               client_green {
+                       label = "green:client";
+                       gpios = <&led_gpio 2 GPIO_ACTIVE_LOW>;
+               };
+
+               router_red {
+                       label = "red:router";
+                       gpios = <&led_gpio 1 GPIO_ACTIVE_LOW>;
+               };
+
+               router_green {
+                       label = "green:router";
+                       gpios = <&led_gpio 0 GPIO_ACTIVE_LOW>;
+               };
+       };
+
+       keys {
+               compatible = "gpio-keys";
+
+               reset {
+                       label = "Reset button";
+                       linux,code = <KEY_RESTART>;
+                       gpios = <&gpio 11 GPIO_ACTIVE_LOW>;
+                       debounce-interval = <60>;
+               };
+
+               wps {
+                       label = "WPS button";
+                       linux,code = <KEY_WPS_BUTTON>;
+                       gpios = <&gpio 22 GPIO_ACTIVE_LOW>;
+                       debounce-interval = <60>;
+               };
+
+               extender_apmode {
+                       label = "EXTENDER/APMODE switch";
+                       gpios = <&gpio 23 GPIO_ACTIVE_LOW>;
+                       linux,code = <BTN_0>;
+                       linux,input-type = <EV_SW>;
+                       debounce-interval = <60>;
+               };
+       };
+};
+
+&pcie0 {
+       status = "okay";
+};
+
+&spi {
+       status = "okay";
+
+       flash@0 {
+               compatible = "jedec,spi-nor";
+               reg = <0>;
+               spi-max-frequency = <25000000>;
+
+               partitions {
+                       compatible = "fixed-partitions";
+                       #address-cells = <1>;
+                       #size-cells = <1>;
+
+                       uboot: partition@0 {
+                               label = "u-boot";
+                               reg = <0x000000 0x040000>;
+                               read-only;
+                       };
+
+                       partition@40000 {
+                               label = "u-boot-env";
+                               reg = <0x040000 0x010000>;
+                       };
+
+                       caldata: partition@50000 {
+                               label = "caldata";
+                               reg = <0x050000 0x010000>;
+                               read-only;
+                       };
+
+                       partition@60000 {
+                               label = "caldata-backup";
+                               reg = <0x060000 0x010000>;
+                               read-only;
+                       };
+
+                       partition@70000 {
+                               label = "config";
+                               reg = <0x070000 0x010000>;
+                       };
+
+                       partition@80000 {
+                               label = "pot";
+                               reg = <0x080000 0x010000>;
+                       };
+
+                       partition@90000 {
+                               label = "firmware";
+                               reg = <0x090000 0xf30000>;
+                               compatible = "denx,uimage";
+                       };
+
+                       partition@fc0000 {
+                               label = "language";
+                               reg = <0xfc0000 0x040000>;
+                       };
+               };
+       };
+};
+
+&wmac {
+       status = "okay";
+
+       mtd-cal-data = <&caldata 0x1000>;
+       nvmem-cells = <&macaddr_caldata_6>;
+       nvmem-cell-names = "mac-address";
+};
+
+&mdio0 {
+       status = "okay";
+
+       phy4: ethernet-phy@4 {
+               reg = <4>;
+               phy-mode = "rgmii";
+       };
+};
+
+&eth0 {
+       status = "okay";
+
+       nvmem-cells = <&macaddr_caldata_0>;
+       nvmem-cell-names = "mac-address";
+
+       phy-handle = <&phy4>;
+       phy-mode = "rgmii-rxid";
+
+       pll-data = <0x86000000 0x80000101 0x80001313>;
+};
+
+&caldata {
+       compatible = "nvmem-cells";
+       #address-cells = <1>;
+       #size-cells = <1>;
+
+       macaddr_caldata_0: macaddr@0 {
+               reg = <0x0 0x6>;
+       };
+
+       macaddr_caldata_6: macaddr@6 {
+               reg = <0x6 0x6>;
+       };
 };