diff options
Diffstat (limited to 'target/linux/ath79/dts/qca9557_meraki_mr18.dts')
-rw-r--r-- | target/linux/ath79/dts/qca9557_meraki_mr18.dts | 203 |
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 = ð0; + 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>; + }; +}; + +ð0 { + 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; +}; |