lantiq: copy target to kernel 5.4
[openwrt/staging/mkresin.git] / target / linux / lantiq / files-5.4 / arch / mips / boot / dts / lantiq / danube_arcadyan_arv7519pw.dts
diff --git a/target/linux/lantiq/files-5.4/arch/mips/boot/dts/lantiq/danube_arcadyan_arv7519pw.dts b/target/linux/lantiq/files-5.4/arch/mips/boot/dts/lantiq/danube_arcadyan_arv7519pw.dts
new file mode 100644 (file)
index 0000000..34b541a
--- /dev/null
@@ -0,0 +1,217 @@
+/dts-v1/;
+
+#include "danube.dtsi"
+
+#include <dt-bindings/input/input.h>
+
+/ {
+       compatible = "arcadyan,arv7519pw", "lantiq,xway", "lantiq,danube";
+       model = "Astoria Networks ARV7519PW";
+
+       chosen {
+               bootargs = "console=ttyLTQ0,115200";
+       };
+
+       aliases {
+               led-boot = &power;
+               led-failsafe = &power2;
+               led-running = &power;
+               led-upgrade = &power;
+
+               led-dsl = &dsl;
+               led-internet = &online;
+               led-wifi = &wifi;
+       };
+
+       memory@0 {
+               device_type = "memory";
+               reg = <0x0 0x4000000>;
+       };
+
+       keys {
+               compatible = "gpio-keys-polled";
+               poll-interval = <100>;
+
+               rfkill {
+                       label = "rfkill";
+                       gpios = <&gpio 11 GPIO_ACTIVE_LOW>;
+                       linux,code = <KEY_RFKILL>;
+               };
+               reset {
+                       label = "reset";
+                       gpios = <&gpio 28 GPIO_ACTIVE_LOW>;
+                       linux,code = <KEY_RESTART>;
+               };
+       };
+
+       leds {
+               compatible = "gpio-leds";
+               power: power {
+                       label = "power";
+                       gpios = <&gpio 2 GPIO_ACTIVE_LOW>;
+                       default-state = "keep";
+               };
+               power2: power2 {
+                       label = "power2";
+                       gpios = <&gpio 14 GPIO_ACTIVE_LOW>;
+               };
+               online: online {
+                       label = "online";
+                       gpios = <&gpio 3 GPIO_ACTIVE_LOW>;
+               };
+               online2 {
+                       label = "online2";
+                       gpios = <&gpio 30 GPIO_ACTIVE_LOW>;
+               };
+               wifi: wifi {
+                       label = "wifi";
+                       gpios = <&gpio 12 GPIO_ACTIVE_LOW>;
+               };
+               wifi2 {
+                       label = "wifi2";
+                       gpios = <&gpio 10 GPIO_ACTIVE_LOW>;
+               };
+               wifi3 {
+                       label = "wifi3";
+                       gpios = <&gpio 6 GPIO_ACTIVE_LOW>;
+               };
+               voice {
+                       label = "voice";
+                       gpios = <&gpio 31 GPIO_ACTIVE_LOW>;
+               };
+               wps {
+                       label = "wps";
+                       gpios = <&gpio 15 GPIO_ACTIVE_LOW>;
+               };
+               wps2 {
+                       label = "wps2";
+                       gpios = <&gpio 7 GPIO_ACTIVE_LOW>;
+               };
+               wps3 {
+                       label = "wps3";
+                       gpios = <&gpio 23 GPIO_ACTIVE_LOW>;
+               };
+               dsl: dsl {
+                       label = "dsl";
+                       gpios = <&gpio 4 GPIO_ACTIVE_LOW>;
+               };
+               lan {
+                       label = "lan";
+                       gpios = <&gpio 1 GPIO_ACTIVE_LOW>;
+               };
+               tv {
+                       label = "tv";
+                       gpios = <&gpio 20 GPIO_ACTIVE_LOW>;
+               };
+               upgrade {
+                       label = "upgrade";
+                       gpios = <&gpio 29 GPIO_ACTIVE_LOW>;
+               };
+       };
+
+       /* is there another way to "reserve" the GPIO? */
+       gpio_export {
+               compatible = "gpio-export";
+               #size-cells = <0>;
+
+               switch {
+                       gpio-export,name = "switch";
+                       gpio-export,output = <1>;
+                       gpios = <&gpio 19 GPIO_ACTIVE_HIGH>;
+               };
+       };
+};
+
+&gpio {
+       pinctrl-names = "default";
+       pinctrl-0 = <&state_default>;
+
+       state_default: pinmux {
+               ebu {
+                       lantiq,groups = "ebu cs1";
+                       lantiq,function = "ebu";
+               };
+               pci_rst {
+                       lantiq,pins = "io21";
+                       lantiq,pull = <2>;
+                       lantiq,output = <1>;
+               };
+               switch_rst {
+                       lantiq,pins = "io19";
+                       lantiq,pull = <2>;
+                       lantiq,output = <1>;
+               };
+       };
+};
+
+&gsw {
+       phy-mode = "mii";
+       mtd-mac-address = <&boardconfig 0x16>;
+};
+
+&localbus {
+       flash@0 {
+               compatible = "lantiq,nor";
+               bank-width = <2>;
+               reg = <0 0x0 0x2000000>;
+
+               partitions {
+                       compatible = "fixed-partitions";
+                       #address-cells = <1>;
+                       #size-cells = <1>;
+
+                       partition@0 {
+                               label = "uboot";
+                               reg = <0x00000 0x40000>;
+                               read-only;
+                       };
+
+                       partition@40000 {
+                               label = "uboot_env";
+                               reg = <0x40000 0x20000>;
+                       };
+
+                       partition@60000 {
+                               label = "firmware";
+                               reg = <0x60000 0xf80000>;
+                       };
+
+                       boardconfig: partition@fe0000 {
+                               label = "board_config";
+                               reg = <0xfe0000 0x20000>;
+                               read-only;
+                       };
+               };
+       };
+};
+
+&pci0 {
+       status = "okay";
+
+       pinctrl-0 = <&pci_gnt1_pins>, <&pci_req1_pins>;
+       pinctrl-names = "default";
+
+       lantiq,external-clock;
+       gpio-reset = <&gpio 21 GPIO_ACTIVE_HIGH>;
+       req-mask = <0xf>;
+
+       wifi@0,0 {
+               compatible = "pci0,0";
+               reg = <0x7000 0 0 0 0>;
+               ralink,mtd-eeprom = <&boardconfig 0x410>;
+               ralink,mtd-eeprom-swap;
+       };
+};
+
+&usb_phy {
+       status = "okay";
+};
+
+/* warning: passive port only works with active devices */
+&usb {
+       status = "okay";
+};
+
+&vmmc {
+       status = "okay";
+};