aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/ath79/dts
diff options
context:
space:
mode:
Diffstat (limited to 'target/linux/ath79/dts')
-rw-r--r--target/linux/ath79/dts/qca9557_meraki_mr18.dts203
1 files changed, 203 insertions, 0 deletions
diff --git a/target/linux/ath79/dts/qca9557_meraki_mr18.dts b/target/linux/ath79/dts/qca9557_meraki_mr18.dts
new file mode 100644
index 0000000000..a88e2bcd37
--- /dev/null
+++ b/target/linux/ath79/dts/qca9557_meraki_mr18.dts
@@ -0,0 +1,203 @@
+// 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 = "white:power";
+ gpios = <&gpio 18 GPIO_ACTIVE_LOW>;
+ };
+
+ orange: orange {
+ label = "orange:power";
+ gpios = <&gpio 21 GPIO_ACTIVE_HIGH>;
+ panic-indicator;
+ };
+ };
+
+ uleds {
+ compatible = "virtual-leds";
+#if 0
+ /*
+ * RGB leds are not supported by uleds driver.
+ * but this is what the definitions for a as
+ * of yet unwritten leds_nu801 would look like.
+ */
+
+ 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
+ red {
+ label = "red:tricolor";
+ color = <LED_COLOR_ID_RED>;
+ };
+
+ green: green {
+ label = "green:tricolor";
+ color = <LED_COLOR_ID_GREEN>;
+ };
+
+ blue {
+ label = "blue:tricolor";
+ color = <LED_COLOR_ID_BLUE>;
+ };
+#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 {
+ /*
+ * This is not always present. And if
+ * it is, then Meraki (or contractor)
+ * used a different ecc method than
+ * the one we need for the UBI partition.
+ * Reading this causes various reading
+ * errors.
+ *
+ * As a result: Please don't convert
+ * this to nvmem-cells. Instead there's
+ * a ubi-volume "caldata" that has the
+ * necessary data.
+ */
+
+ 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;
+};