ath79: add Cisco Meraki MR18
[openwrt/staging/chunkeey.git] / target / linux / ath79 / dts / qca9557_meraki_mr18.dts
diff --git a/target/linux/ath79/dts/qca9557_meraki_mr18.dts b/target/linux/ath79/dts/qca9557_meraki_mr18.dts
new file mode 100644 (file)
index 0000000..29520bb
--- /dev/null
@@ -0,0 +1,184 @@
+// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
+
+#include "qca955x.dtsi"
+
+#include <dt-bindings/gpio/gpio.h>
+#include <dt-bindings/input/input.h>
+#include <dt-bindings/leds/common.h>
+
+/ {
+       compatible = "meraki,mr18", "qca,qca9558";
+       model = "Meraki MR18";
+
+       aliases {
+               label-mac-device = &eth0;
+               led-boot = &white;
+               led-failsafe = &orange;
+               led-running = &green;
+               led-upgrade = &white;
+       };
+
+       leds {
+               compatible = "gpio-leds";
+
+               white: white {
+                       label = "mr18:white:power";
+                       gpios = <&gpio 18 GPIO_ACTIVE_LOW>;
+               };
+
+               orange: orange {
+                       label = "mr18:orange:power";
+                       gpios = <&gpio 21 GPIO_ACTIVE_HIGH>;
+                       panic-indicator;
+               };
+       };
+
+       uleds {
+               compatible = "virtual-leds";
+
+#if 0
+               /* not supported by uleds driver */
+               rgbled-0 {
+                       function = LED_FUNCTION_POWER;
+                        color = <LED_COLOR_ID_RGB>;
+                       #address-cells = <1>;
+                       #size-cells = <0>;
+
+                       led@0 {
+                               reg = <0>;
+                               color = <LED_COLOR_ID_RED>;
+                       };
+
+                       green: led@1 {
+                               reg = <1>;
+                               color = <LED_COLOR_ID_GREEN>;
+                       };
+
+                        led@2 {
+                               reg = <2>;
+                                color = <LED_COLOR_ID_BLUE>;
+                       };
+               };
+#else
+               green: green {
+                       label = "green:tricolor";
+                       color = <LED_COLOR_ID_GREEN>;
+               };
+
+               blue {
+                       color = <LED_COLOR_ID_BLUE>;
+                       label = "mr18:blue:tricolor";
+               };
+
+               red {
+                       label = "mr18:red:tricolor";
+                       color = <LED_COLOR_ID_RED>;
+               };
+#endif
+       };
+
+       button {
+               compatible = "gpio-keys";
+
+               reset {
+                       label = "Reset";
+                       linux,code = <KEY_RESTART>;
+                       gpios = <&gpio 17 GPIO_ACTIVE_LOW>;
+                       debounce-interval = <60>;
+               };
+
+       };
+};
+
+&nand {
+       status = "okay";
+
+       nand-ecc-mode = "soft";
+       nand-ecc-algo = "bch";
+       nand-ecc-strength = <4>;
+       nand-ecc-step-size = <512>;
+       nand-is-boot-medium;
+
+       partitions {
+               compatible = "fixed-partitions";
+               #address-cells = <1>;
+               #size-cells = <1>;
+
+               partition@0 {
+                       label = "nandloader";
+                       reg = <0x0 0x80000>;
+                       read-only;
+               };
+
+               partition@80000 {
+                       label = "kernel";
+                       reg = <0x80000 0x800000>;
+               };
+
+               partition@880000 {
+                       label = "recovery";
+                       reg = <0x880000 0x800000>;
+               };
+
+               partition@1080000 {
+                       label = "ubi";
+                       reg = <0x1080000 0x6f00000>;
+               };
+
+               partition@7fe0000 {
+                       label = "odm-caldata";
+                       reg = <0x7fe0000 0x20000>;
+                       read-only;
+               };
+       };
+};
+
+&pcie0 {
+       status = "okay";
+
+       wifi@0,0 {
+               compatible = "pci168c,0033";
+               reg = <0x0000 0 0 0 0>;
+               qca,no-eeprom;
+       };
+};
+
+&pcie1 {
+       status = "okay";
+
+       wifi@0,0 {
+               compatible = "pci168c,0033";
+               reg = <0x0000 0 0 0 0>;
+               qca,no-eeprom;
+       };
+};
+
+&uart {
+       status = "okay";
+};
+
+&mdio0 {
+       status = "okay";
+
+       phy: ethernet-phy@3 {
+               reg = <3>;
+       };
+};
+
+&eth0 {
+       status = "okay";
+       pll-data = <0xa6000000 0xa0000101 0x80001313>;
+       phy-handle = <&phy>;
+
+       gmac-config {
+               device = <&gmac>;
+               rgmii-enabled = <1>;
+               rxd-delay = <3>;
+               rxdv-delay = <3>;
+       };
+};
+
+&wmac {
+       status = "okay";
+       qca,no-eeprom;
+};