aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/lantiq/files-4.19/arch/mips
diff options
context:
space:
mode:
authorMathias Kresin <dev@kresin.me>2020-03-01 08:09:19 +0100
committerMathias Kresin <dev@kresin.me>2020-03-16 22:28:16 +0100
commit005dedd3480f47ff1049e132ec8d83bc0e24fbef (patch)
tree56fdc5bdf6c715d63fc5acb963eab4e747747920 /target/linux/lantiq/files-4.19/arch/mips
parent0dbe8b9029df1c1b254101bacbc20c3418eb956f (diff)
downloadupstream-005dedd3480f47ff1049e132ec8d83bc0e24fbef.tar.gz
upstream-005dedd3480f47ff1049e132ec8d83bc0e24fbef.tar.bz2
upstream-005dedd3480f47ff1049e132ec8d83bc0e24fbef.zip
lantiq: copy target to kernel 5.4
Duplicate kernel 4.19 config and patches for kernel 5.4. Duplicate the devicetree source files as well, they need kernel 5.4 specific adjustments. Signed-off-by: Mathias Kresin <dev@kresin.me>
Diffstat (limited to 'target/linux/lantiq/files-4.19/arch/mips')
-rw-r--r--target/linux/lantiq/files-4.19/arch/mips/boot/dts/lantiq/amazonse.dtsi247
-rw-r--r--target/linux/lantiq/files-4.19/arch/mips/boot/dts/lantiq/amazonse_allnet_all0333cj.dts111
-rw-r--r--target/linux/lantiq/files-4.19/arch/mips/boot/dts/lantiq/amazonse_netgear_dgn1000b.dts153
-rw-r--r--target/linux/lantiq/files-4.19/arch/mips/boot/dts/lantiq/ar9.dtsi422
-rw-r--r--target/linux/lantiq/files-4.19/arch/mips/boot/dts/lantiq/ar9_avm_fritz7312.dts169
-rw-r--r--target/linux/lantiq/files-4.19/arch/mips/boot/dts/lantiq/ar9_avm_fritz7320.dts151
-rw-r--r--target/linux/lantiq/files-4.19/arch/mips/boot/dts/lantiq/ar9_bt_homehub-v3a.dts191
-rw-r--r--target/linux/lantiq/files-4.19/arch/mips/boot/dts/lantiq/ar9_buffalo_wbmr-hp-g300h.dts197
-rw-r--r--target/linux/lantiq/files-4.19/arch/mips/boot/dts/lantiq/ar9_netgear_dgn3500.dts8
-rw-r--r--target/linux/lantiq/files-4.19/arch/mips/boot/dts/lantiq/ar9_netgear_dgn3500.dtsi185
-rw-r--r--target/linux/lantiq/files-4.19/arch/mips/boot/dts/lantiq/ar9_netgear_dgn3500b.dts8
-rw-r--r--target/linux/lantiq/files-4.19/arch/mips/boot/dts/lantiq/ar9_zte_h201l.dts172
-rw-r--r--target/linux/lantiq/files-4.19/arch/mips/boot/dts/lantiq/ar9_zyxel_p-2601hn.dts178
-rw-r--r--target/linux/lantiq/files-4.19/arch/mips/boot/dts/lantiq/danube.dtsi325
-rw-r--r--target/linux/lantiq/files-4.19/arch/mips/boot/dts/lantiq/danube_arcadyan_arv4510pw.dts214
-rw-r--r--target/linux/lantiq/files-4.19/arch/mips/boot/dts/lantiq/danube_arcadyan_arv4518pwr01.dts8
-rw-r--r--target/linux/lantiq/files-4.19/arch/mips/boot/dts/lantiq/danube_arcadyan_arv4518pwr01.dtsi200
-rw-r--r--target/linux/lantiq/files-4.19/arch/mips/boot/dts/lantiq/danube_arcadyan_arv4518pwr01a.dts12
-rw-r--r--target/linux/lantiq/files-4.19/arch/mips/boot/dts/lantiq/danube_arcadyan_arv4519pw.dts205
-rw-r--r--target/linux/lantiq/files-4.19/arch/mips/boot/dts/lantiq/danube_arcadyan_arv4520pw.dts222
-rw-r--r--target/linux/lantiq/files-4.19/arch/mips/boot/dts/lantiq/danube_arcadyan_arv4525pw.dts151
-rw-r--r--target/linux/lantiq/files-4.19/arch/mips/boot/dts/lantiq/danube_arcadyan_arv452cqw.dts240
-rw-r--r--target/linux/lantiq/files-4.19/arch/mips/boot/dts/lantiq/danube_arcadyan_arv7506pw11.dts162
-rw-r--r--target/linux/lantiq/files-4.19/arch/mips/boot/dts/lantiq/danube_arcadyan_arv7510pw22.dts198
-rw-r--r--target/linux/lantiq/files-4.19/arch/mips/boot/dts/lantiq/danube_arcadyan_arv7518pw.dts233
-rw-r--r--target/linux/lantiq/files-4.19/arch/mips/boot/dts/lantiq/danube_arcadyan_arv7519pw.dts217
-rw-r--r--target/linux/lantiq/files-4.19/arch/mips/boot/dts/lantiq/danube_arcadyan_arv7525pw.dts149
-rw-r--r--target/linux/lantiq/files-4.19/arch/mips/boot/dts/lantiq/danube_arcadyan_arv752dpw.dts240
-rw-r--r--target/linux/lantiq/files-4.19/arch/mips/boot/dts/lantiq/danube_arcadyan_arv752dpw22.dts261
-rw-r--r--target/linux/lantiq/files-4.19/arch/mips/boot/dts/lantiq/danube_arcadyan_arv8539pw22.dts181
-rw-r--r--target/linux/lantiq/files-4.19/arch/mips/boot/dts/lantiq/danube_audiocodes_mp-252.dts112
-rw-r--r--target/linux/lantiq/files-4.19/arch/mips/boot/dts/lantiq/danube_bt_homehub-v2b.dts238
-rw-r--r--target/linux/lantiq/files-4.19/arch/mips/boot/dts/lantiq/danube_lantiq_easy50712.dts72
-rw-r--r--target/linux/lantiq/files-4.19/arch/mips/boot/dts/lantiq/danube_siemens_gigaset-sx76x.dts119
-rw-r--r--target/linux/lantiq/files-4.19/arch/mips/boot/dts/lantiq/falcon.dtsi366
-rw-r--r--target/linux/lantiq/files-4.19/arch/mips/boot/dts/lantiq/falcon_lantiq_easy88388.dts93
-rw-r--r--target/linux/lantiq/files-4.19/arch/mips/boot/dts/lantiq/falcon_lantiq_easy88444.dts72
-rw-r--r--target/linux/lantiq/files-4.19/arch/mips/boot/dts/lantiq/falcon_lantiq_easy98000-nand.dts39
-rw-r--r--target/linux/lantiq/files-4.19/arch/mips/boot/dts/lantiq/falcon_lantiq_easy98000-nor.dts41
-rw-r--r--target/linux/lantiq/files-4.19/arch/mips/boot/dts/lantiq/falcon_lantiq_easy98000-sflash.dts14
-rw-r--r--target/linux/lantiq/files-4.19/arch/mips/boot/dts/lantiq/falcon_lantiq_easy98000.dtsi110
-rw-r--r--target/linux/lantiq/files-4.19/arch/mips/boot/dts/lantiq/falcon_lantiq_easy98020-v18.dts68
-rw-r--r--target/linux/lantiq/files-4.19/arch/mips/boot/dts/lantiq/falcon_lantiq_easy98020.dts85
-rw-r--r--target/linux/lantiq/files-4.19/arch/mips/boot/dts/lantiq/falcon_lantiq_easy98021.dts81
-rw-r--r--target/linux/lantiq/files-4.19/arch/mips/boot/dts/lantiq/falcon_lantiq_easy98035synce.dts76
-rw-r--r--target/linux/lantiq/files-4.19/arch/mips/boot/dts/lantiq/falcon_lantiq_easy98035synce1588.dts76
-rw-r--r--target/linux/lantiq/files-4.19/arch/mips/boot/dts/lantiq/falcon_lantiq_falcon-mdu.dts53
-rw-r--r--target/linux/lantiq/files-4.19/arch/mips/boot/dts/lantiq/falcon_lantiq_falcon-sfp.dts76
-rw-r--r--target/linux/lantiq/files-4.19/arch/mips/boot/dts/lantiq/falcon_sflash-16m.dtsi41
-rw-r--r--target/linux/lantiq/files-4.19/arch/mips/boot/dts/lantiq/vr9.dtsi495
-rw-r--r--target/linux/lantiq/files-4.19/arch/mips/boot/dts/lantiq/vr9_alphanetworks_asl56026.dts155
-rw-r--r--target/linux/lantiq/files-4.19/arch/mips/boot/dts/lantiq/vr9_arcadyan_arv7519rw22.dts246
-rw-r--r--target/linux/lantiq/files-4.19/arch/mips/boot/dts/lantiq/vr9_arcadyan_vg3503j.dts144
-rw-r--r--target/linux/lantiq/files-4.19/arch/mips/boot/dts/lantiq/vr9_arcadyan_vgv7510kw22-brn.dts65
-rw-r--r--target/linux/lantiq/files-4.19/arch/mips/boot/dts/lantiq/vr9_arcadyan_vgv7510kw22-nor.dts31
-rw-r--r--target/linux/lantiq/files-4.19/arch/mips/boot/dts/lantiq/vr9_arcadyan_vgv7510kw22.dtsi258
-rw-r--r--target/linux/lantiq/files-4.19/arch/mips/boot/dts/lantiq/vr9_arcadyan_vgv7519-brn.dts70
-rw-r--r--target/linux/lantiq/files-4.19/arch/mips/boot/dts/lantiq/vr9_arcadyan_vgv7519-nor.dts29
-rw-r--r--target/linux/lantiq/files-4.19/arch/mips/boot/dts/lantiq/vr9_arcadyan_vgv7519.dtsi295
-rw-r--r--target/linux/lantiq/files-4.19/arch/mips/boot/dts/lantiq/vr9_avm_fritz3370-rev2-hynix.dts39
-rw-r--r--target/linux/lantiq/files-4.19/arch/mips/boot/dts/lantiq/vr9_avm_fritz3370-rev2-micron.dts37
-rw-r--r--target/linux/lantiq/files-4.19/arch/mips/boot/dts/lantiq/vr9_avm_fritz3370-rev2.dtsi279
-rw-r--r--target/linux/lantiq/files-4.19/arch/mips/boot/dts/lantiq/vr9_avm_fritz7360sl.dts81
-rw-r--r--target/linux/lantiq/files-4.19/arch/mips/boot/dts/lantiq/vr9_avm_fritz7362sl.dts113
-rw-r--r--target/linux/lantiq/files-4.19/arch/mips/boot/dts/lantiq/vr9_avm_fritz736x.dtsi200
-rw-r--r--target/linux/lantiq/files-4.19/arch/mips/boot/dts/lantiq/vr9_avm_fritz7412.dts218
-rw-r--r--target/linux/lantiq/files-4.19/arch/mips/boot/dts/lantiq/vr9_bt_homehub-v5a.dts283
-rw-r--r--target/linux/lantiq/files-4.19/arch/mips/boot/dts/lantiq/vr9_buffalo_wbmr-300hpd.dts312
-rw-r--r--target/linux/lantiq/files-4.19/arch/mips/boot/dts/lantiq/vr9_lantiq_easy80920-nand.dts66
-rw-r--r--target/linux/lantiq/files-4.19/arch/mips/boot/dts/lantiq/vr9_lantiq_easy80920-nor.dts37
-rw-r--r--target/linux/lantiq/files-4.19/arch/mips/boot/dts/lantiq/vr9_lantiq_easy80920.dtsi279
-rw-r--r--target/linux/lantiq/files-4.19/arch/mips/boot/dts/lantiq/vr9_netgear_dm200.dts186
-rw-r--r--target/linux/lantiq/files-4.19/arch/mips/boot/dts/lantiq/vr9_tplink_tdw8970.dts8
-rw-r--r--target/linux/lantiq/files-4.19/arch/mips/boot/dts/lantiq/vr9_tplink_tdw8980.dts33
-rw-r--r--target/linux/lantiq/files-4.19/arch/mips/boot/dts/lantiq/vr9_tplink_tdw89x0.dtsi272
-rw-r--r--target/linux/lantiq/files-4.19/arch/mips/boot/dts/lantiq/vr9_tplink_vr200.dts92
-rw-r--r--target/linux/lantiq/files-4.19/arch/mips/boot/dts/lantiq/vr9_tplink_vr200.dtsi213
-rw-r--r--target/linux/lantiq/files-4.19/arch/mips/boot/dts/lantiq/vr9_tplink_vr200v.dts99
-rw-r--r--target/linux/lantiq/files-4.19/arch/mips/boot/dts/lantiq/vr9_zyxel_p-2812hnu-f1.dts71
-rw-r--r--target/linux/lantiq/files-4.19/arch/mips/boot/dts/lantiq/vr9_zyxel_p-2812hnu-f3.dts65
-rw-r--r--target/linux/lantiq/files-4.19/arch/mips/boot/dts/lantiq/vr9_zyxel_p-2812hnu-fx.dtsi259
81 files changed, 12272 insertions, 0 deletions
diff --git a/target/linux/lantiq/files-4.19/arch/mips/boot/dts/lantiq/amazonse.dtsi b/target/linux/lantiq/files-4.19/arch/mips/boot/dts/lantiq/amazonse.dtsi
new file mode 100644
index 0000000000..496150b7a7
--- /dev/null
+++ b/target/linux/lantiq/files-4.19/arch/mips/boot/dts/lantiq/amazonse.dtsi
@@ -0,0 +1,247 @@
+#include <dt-bindings/gpio/gpio.h>
+
+/ {
+ #address-cells = <1>;
+ #size-cells = <1>;
+ compatible = "lantiq,xway", "lantiq,ase";
+
+ aliases {
+ serial0 = &asc1;
+ };
+
+ chosen {
+ stdout-path = "serial0:115200n8";
+ };
+
+ cpus {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ cpu@0 {
+ compatible = "mips,mips4Kc";
+ reg = <0>;
+ };
+ };
+
+ reboot {
+ compatible = "syscon-reboot";
+
+ regmap = <&rcu0>;
+ offset = <0x10>;
+ mask = <0x40000000>;
+ };
+
+ biu@1f800000 {
+ #address-cells = <1>;
+ #size-cells = <1>;
+ compatible = "lantiq,biu", "simple-bus";
+ reg = <0x1f800000 0x800000>;
+ ranges = <0x0 0x1f800000 0x7fffff>;
+
+ icu0: icu@80200 {
+ #interrupt-cells = <1>;
+ interrupt-controller;
+ compatible = "lantiq,icu";
+ reg = <0x80200 0x28
+ 0x80228 0x28
+ 0x80250 0x28
+ 0x80278 0x28
+ 0x802a0 0x28>;
+ };
+
+ watchdog@803f0 {
+ compatible = "lantiq,wdt";
+ reg = <0x803f0 0x10>;
+ };
+ };
+
+ sram@1f000000 {
+ #address-cells = <1>;
+ #size-cells = <1>;
+ compatible = "lantiq,sram", "simple-bus";
+ reg = <0x1f000000 0x800000>;
+ ranges = <0x0 0x1f000000 0x7fffff>;
+
+ eiu0: eiu@101000 {
+ #interrupt-cells = <1>;
+ interrupt-controller;
+ compatible = "lantiq,eiu-xway";
+ reg = <0x101000 0x1000>;
+ interrupt-parent = <&icu0>;
+ lantiq,eiu-irqs = <29 30 31>;
+ };
+
+ pmu0: pmu@102000 {
+ compatible = "lantiq,pmu-xway";
+ reg = <0x102000 0x1000>;
+ };
+
+ cgu0: cgu@103000 {
+ compatible = "lantiq,cgu-xway";
+ reg = <0x103000 0x1000>;
+ #clock-cells = <1>;
+ };
+
+ rcu0: rcu@203000 {
+ #address-cells = <1>;
+ #size-cells = <1>;
+ compatible = "lantiq,ase-rcu", "simple-mfd", "syscon";
+ reg = <0x203000 0x1000>;
+ ranges = <0x0 0x203000 0x100>;
+ big-endian;
+
+ reset: reset-controller@10 {
+ compatible = "lantiq,danube-reset";
+ reg = <0x10 4>, <0x14 4>;
+
+ #reset-cells = <2>;
+ };
+
+ usb_phy: usb2-phy@18 {
+ compatible = "lantiq,ase-usb2-phy";
+ reg = <0x18 4>;
+ status = "disabled";
+
+ resets = <&reset 4 4>;
+ reset-names = "ctrl";
+ #phy-cells = <0>;
+ };
+ };
+ };
+
+ fpi@10000000 {
+ #address-cells = <1>;
+ #size-cells = <1>;
+ compatible = "lantiq,fpi", "simple-bus";
+ ranges = <0x0 0x10000000 0xeefffff>;
+ reg = <0x10000000 0xef00000>;
+
+ localbus: localbus@0 {
+ #address-cells = <2>;
+ #size-cells = <1>;
+ ranges = <0 0 0x0 0x3ffffff /* addrsel0 */
+ 1 0 0x4000000 0x4000010>; /* addsel1 */
+ compatible = "lantiq,localbus", "simple-bus";
+ };
+
+ spi: spi@e100800 {
+ compatible = "lantiq,ase-spi";
+ reg = <0xe100800 0x100>;
+ interrupt-parent = <&icu0>;
+ interrupts = <24 25 26>;
+ interrupt-names = "spi_rx", "spi_tx", "spi_err",
+ "spi_frm";
+ #address-cells = <1>;
+ #size-cells = <0>;
+ pinctrl-names = "default";
+ pinctrl-0 = <&spi_pins>, <&spi_cs4_pins>;
+ status = "disabled";
+ };
+
+ gptu@e100a00 {
+ compatible = "lantiq,gptu-xway";
+ reg = <0xe100a00 0x100>;
+ interrupt-parent = <&icu0>;
+ interrupts = <33 34 35 36 37 38>;
+ };
+
+ gpio: pinmux@e100b10 {
+ compatible = "lantiq,ase-pinctrl";
+ #gpio-cells = <2>;
+ gpio-controller;
+ reg = <0xe100b10 0xa0>;
+
+ asc_pins: asc-pins {
+ mux {
+ lantiq,groups = "asc";
+ lantiq,function = "asc";
+ };
+ };
+
+ mdio_pins: mdio {
+ mux {
+ lantiq,groups = "mdio";
+ lantiq,function = "mdio";
+ };
+ };
+
+ spi_pins: spi {
+ mux-0 {
+ lantiq,groups = "spi_di";
+ lantiq,function = "spi";
+ };
+ mux-1 {
+ lantiq,groups = "spi_do", "spi_clk";
+ lantiq,function = "spi";
+ lantiq,output = <1>;
+ };
+ };
+
+ spi_cs4_pins: spi-cs4 {
+ mux {
+ lantiq,groups = "spi_cs4";
+ lantiq,function = "spi";
+ lantiq,output = <1>;
+ };
+ };
+ };
+
+ asc1: serial@e100c00 {
+ compatible = "lantiq,asc";
+ reg = <0xe100c00 0x400>;
+ interrupt-parent = <&icu0>;
+ interrupts = <72 74 75>;
+ pinctrl-0 = <&asc_pins>;
+ pinctrl-names = "default";
+ };
+
+ mei@e116000 {
+ compatible = "lantiq,mei-xway";
+ reg = <0xe116000 0x400>;
+ interrupt-parent = <&icu0>;
+ interrupts = <81>;
+ };
+
+ usb: usb@e101000 {
+ compatible = "lantiq,ase-usb";
+ reg = <0xe101000 0x1000
+ 0xe120000 0x3f000>;
+ interrupt-parent = <&icu0>;
+ interrupts = <39>;
+ dr_mode = "host";
+ phys = <&usb_phy>;
+ phy-names = "usb2-phy";
+ status = "disabled";
+ };
+
+ dma0: dma@e104100 {
+ compatible = "lantiq,dma-xway";
+ reg = <0xe104100 0x800>;
+ };
+
+ ebu0: ebu@e105300 {
+ compatible = "lantiq,ebu-xway";
+ reg = <0xe105300 0x100>;
+ };
+
+ ppe@e234000 {
+ compatible = "lantiq,ppe-ase";
+ reg = <0xe234000 0x40000>;
+ interrupt-parent = <&icu0>;
+ interrupts = <85>;
+ };
+
+ gsw: etop@e180000 {
+ compatible = "lantiq,etop-xway";
+ reg = <0xe180000 0x40000>;
+ interrupt-parent = <&icu0>;
+ interrupts = <105 109>;
+ pinctrl-0 = <&mdio_pins>;
+ pinctrl-names = "default";
+ };
+ };
+
+ adsl {
+ compatible = "lantiq,adsl-ase";
+ };
+};
diff --git a/target/linux/lantiq/files-4.19/arch/mips/boot/dts/lantiq/amazonse_allnet_all0333cj.dts b/target/linux/lantiq/files-4.19/arch/mips/boot/dts/lantiq/amazonse_allnet_all0333cj.dts
new file mode 100644
index 0000000000..c5dd1600f4
--- /dev/null
+++ b/target/linux/lantiq/files-4.19/arch/mips/boot/dts/lantiq/amazonse_allnet_all0333cj.dts
@@ -0,0 +1,111 @@
+/dts-v1/;
+
+#include "amazonse.dtsi"
+
+/ {
+ compatible = "allnet,all0333cj", "lantiq,xway", "lantiq,ase";
+ model = "Allnet ALL0333CJ DSL Modem";
+
+ chosen {
+ bootargs = "console=ttyLTQ0,115200";
+
+ aliases {
+ led-boot = &power;
+ led-failsafe = &power;
+ led-running = &power;
+ led-upgrade = &power;
+
+ led-dsl = &dsl;
+ led-internet = &online_green;
+ };
+ };
+
+ memory@0 {
+ device_type = "memory";
+ reg = <0x0 0x1000000>;
+ };
+
+ leds {
+ compatible = "gpio-leds";
+
+ /* power led: red=off, green=on */
+ power: power {
+ label = "all0333cj:green:power";
+ gpios = <&gpio 13 GPIO_ACTIVE_LOW>;
+ default-state = "keep";
+ };
+
+ lan: lan {
+ label = "all0333cj:green:lan";
+ gpios = <&gpio 3 GPIO_ACTIVE_LOW>;
+ };
+
+ dsl: dsl {
+ label = "all0333cj:green:dsl";
+ gpios = <&gpio 1 GPIO_ACTIVE_LOW>;
+ };
+
+ online_green: online {
+ label = "all0333cj:green:online";
+ gpios = <&gpio 12 GPIO_ACTIVE_LOW>;
+ };
+ online_red {
+ label = "all0333cj:red:online";
+ gpios = <&gpio 4 GPIO_ACTIVE_LOW>;
+ };
+ };
+};
+
+&gpio {
+ pinctrl-names = "default";
+ pinctrl-0 = <&state_default>;
+
+ state_default: pinmux {
+ keys_in {
+ lantiq,pins = "io0",/* "io25", */"io29";
+ lantiq,pull = <2>;
+ lantiq,open-drain = <1>;
+ };
+ };
+};
+
+&gsw {
+ phy-mode = "mii";
+};
+
+&localbus {
+ flash@0 {
+ compatible = "lantiq,nor";
+ bank-width = <2>;
+ reg = <0 0x0 0x400000>;
+
+ partitions {
+ compatible = "fixed-partitions";
+ #address-cells = <1>;
+ #size-cells = <1>;
+
+ partition@0 {
+ label = "uboot";
+ reg = <0x00000 0x10000>;
+ read-only;
+ };
+
+ partition@10000 {
+ label = "firmware";
+ reg = <0x10000 0x3ef200>;
+ };
+
+ partition@3ff200 {
+ label = "uboot_env";
+ reg = <0x3ff200 0xc00>;
+ read-only;
+ };
+
+ partition@3ffe00 {
+ label = "dummy_bits";
+ reg = <0x3ffe00 0x200>;
+ read-only;
+ };
+ };
+ };
+};
diff --git a/target/linux/lantiq/files-4.19/arch/mips/boot/dts/lantiq/amazonse_netgear_dgn1000b.dts b/target/linux/lantiq/files-4.19/arch/mips/boot/dts/lantiq/amazonse_netgear_dgn1000b.dts
new file mode 100644
index 0000000000..943b00f898
--- /dev/null
+++ b/target/linux/lantiq/files-4.19/arch/mips/boot/dts/lantiq/amazonse_netgear_dgn1000b.dts
@@ -0,0 +1,153 @@
+/dts-v1/;
+
+#include "amazonse.dtsi"
+
+#include <dt-bindings/input/input.h>
+
+/ {
+ compatible = "netgear,dgn1000b", "lantiq,xway", "lantiq,ase";
+ model = "Netgear DGN1000B";
+
+ chosen {
+ bootargs = "console=ttyLTQ0,115200";
+ };
+
+ aliases {
+ led-boot = &power;
+ led-failsafe = &power;
+ led-running = &power;
+ led-upgrade = &power;
+
+ led-dsl = &dsl;
+ led-internet = &online_green;
+ };
+
+ memory@0 {
+ device_type = "memory";
+ reg = <0x0 0x1000000>;
+ };
+
+ keys {
+ compatible = "gpio-keys-polled";
+ poll-interval = <100>;
+
+ reset {
+ label = "reset";
+ gpios = <&gpio 0 GPIO_ACTIVE_LOW>;
+ linux,code = <KEY_RESTART>;
+ };
+ rfkill {
+ label = "rfkill";
+ gpios = <&gpio 25 GPIO_ACTIVE_LOW>;
+ linux,code = <KEY_RFKILL>;
+ };
+ wps {
+ label = "wps";
+ gpios = <&gpio 29 GPIO_ACTIVE_LOW>;
+ linux,code = <KEY_WPS_BUTTON>;
+ };
+ };
+
+ leds {
+ compatible = "gpio-leds";
+ dsl: dsl {
+ label = "dgn1000b:green:dsl";
+ gpios = <&gpio 1 GPIO_ACTIVE_LOW>;
+ default-state = "on";
+ };
+ online_green: online {
+ label = "dgn1000b:green:online";
+ gpios = <&gpio 2 GPIO_ACTIVE_LOW>;
+ default-state = "on";
+ };
+ online2 {
+ label = "dgn1000b:red:online";
+ gpios = <&gpio 3 GPIO_ACTIVE_LOW>;
+ default-state = "on";
+ };
+ wps {
+ label = "dgn1000b:green:wps";
+ gpios = <&gpio 4 GPIO_ACTIVE_LOW>;
+ default-state = "on";
+ };
+ power: power {
+ label = "dgn1000b:green:power";
+ gpios = <&gpio 13 GPIO_ACTIVE_LOW>;
+ default-state = "keep";
+ };
+ /*
+ power red is missing
+ */
+ };
+};
+
+&gpio {
+ pinctrl-names = "default";
+ pinctrl-0 = <&state_default>;
+
+ state_default: pinmux {
+ keys_in {
+ lantiq,pins = "io0",/* "io25", */"io29";
+ lantiq,pull = <2>;
+ lantiq,open-drain = <1>;
+ };
+ };
+};
+
+&gsw {
+ phy-mode = "mii";
+ mac-address = [ 00 11 22 33 44 55 ];
+};
+
+&spi {
+ status = "okay";
+
+ flash@1 {
+ compatible = "jedec,spi-nor";
+ reg = <1>;
+ spi-max-frequency = <5000000>;
+
+ partitions {
+ compatible = "fixed-partitions";
+ #address-cells = <1>;
+ #size-cells = <1>;
+
+ partition@0 {
+ reg = <0x0 0x20000>;
+ label = "SPI (RO) U-Boot Image";
+ read-only;
+ };
+
+ partition@20000 {
+ reg = <0x20000 0x10000>;
+ label = "ENV_MAC";
+ read-only;
+ };
+
+ partition@30000 {
+ reg = <0x30000 0x10000>;
+ label = "DPF";
+ read-only;
+ };
+
+ partition@40000 {
+ reg = <0x40000 0x10000>;
+ label = "NVRAM";
+ read-only;
+ };
+
+ partition@500000 {
+ reg = <0x50000 0x003a0000>;
+ label = "kernel";
+ };
+ };
+ };
+};
+
+&usb_phy {
+ status = "okay";
+};
+
+&usb {
+ status = "okay";
+};
diff --git a/target/linux/lantiq/files-4.19/arch/mips/boot/dts/lantiq/ar9.dtsi b/target/linux/lantiq/files-4.19/arch/mips/boot/dts/lantiq/ar9.dtsi
new file mode 100644
index 0000000000..12af82b8ce
--- /dev/null
+++ b/target/linux/lantiq/files-4.19/arch/mips/boot/dts/lantiq/ar9.dtsi
@@ -0,0 +1,422 @@
+#include <dt-bindings/gpio/gpio.h>
+
+/ {
+ #address-cells = <1>;
+ #size-cells = <1>;
+ compatible = "lantiq,xway", "lantiq,ar9";
+
+ aliases {
+ serial0 = &asc1;
+ };
+
+ chosen {
+ stdout-path = "serial0:115200n8";
+ };
+
+ cpus {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ cpu@0 {
+ compatible = "mips,mips34K";
+ reg = <0>;
+ };
+ };
+
+ reboot {
+ compatible = "syscon-reboot";
+
+ regmap = <&rcu0>;
+ offset = <0x10>;
+ mask = <0x40000000>;
+ };
+
+ biu@1f800000 {
+ #address-cells = <1>;
+ #size-cells = <1>;
+ compatible = "lantiq,biu", "simple-bus";
+ reg = <0x1f800000 0x800000>;
+ ranges = <0x0 0x1f800000 0x7fffff>;
+
+ icu0: icu@80200 {
+ #interrupt-cells = <1>;
+ interrupt-controller;
+ compatible = "lantiq,icu";
+ reg = <0x80200 0x28
+ 0x80228 0x28
+ 0x80250 0x28
+ 0x80278 0x28
+ 0x802a0 0x28>;
+ };
+
+ watchdog@803f0 {
+ compatible = "lantiq,xrx100-wdt", "lantiq,xrx100-wdt";
+ reg = <0x803f0 0x10>;
+
+ regmap = <&rcu0>;
+ };
+ };
+
+ sram@1f000000 {
+ #address-cells = <1>;
+ #size-cells = <1>;
+ compatible = "lantiq,sram", "simple-bus";
+ reg = <0x1f000000 0x800000>;
+ ranges = <0x0 0x1f000000 0x7fffff>;
+
+ eiu0: eiu@101000 {
+ #interrupt-cells = <1>;
+ interrupt-controller;
+ compatible = "lantiq,eiu-xway";
+ reg = <0x101000 0x1000>;
+ interrupt-parent = <&icu0>;
+ lantiq,eiu-irqs = <166 135 66 40 41 42>;
+ };
+
+ pmu0: pmu@102000 {
+ compatible = "lantiq,pmu-xway";
+ reg = <0x102000 0x1000>;
+ };
+
+ cgu0: cgu@103000 {
+ compatible = "lantiq,cgu-xway";
+ reg = <0x103000 0x1000>;
+ #clock-cells = <1>;
+ };
+
+ rcu0: rcu@203000 {
+ #address-cells = <1>;
+ #size-cells = <1>;
+ compatible = "lantiq,xrx100-rcu", "simple-mfd", "syscon";
+ reg = <0x203000 0x1000>;
+ ranges = <0x0 0x203000 0x100>;
+ big-endian;
+
+ reset: reset-controller@10 {
+ compatible = "lantiq,xrx100-reset", "lantiq,danube-reset";
+ reg = <0x10 4>, <0x14 4>;
+
+ #reset-cells = <2>;
+ };
+
+ usb_phy0: usb2-phy@18 {
+ compatible = "lantiq,xrx100-usb2-phy";
+ reg = <0x18 4>;
+ status = "disabled";
+
+ resets = <&reset 4 4>;
+ reset-names = "ctrl";
+ #phy-cells = <0>;
+ };
+
+ usb_phy1: usb2-phy@34 {
+ compatible = "lantiq,xrx100-usb2-phy";
+ reg = <0x34 4>;
+ status = "disabled";
+
+ resets = <&reset 28 28>;
+ reset-names = "ctrl";
+ #phy-cells = <0>;
+ };
+ };
+ };
+
+ fpi@10000000 {
+ #address-cells = <1>;
+ #size-cells = <1>;
+ compatible = "lantiq,fpi", "simple-bus";
+ ranges = <0x0 0x10000000 0xeefffff>;
+ reg = <0x10000000 0xef00000>;
+
+ localbus: localbus@0 {
+ #address-cells = <2>;
+ #size-cells = <1>;
+ ranges = <0 0 0x0 0x3ffffff /* addrsel0 */
+ 1 0 0x4000000 0x4000010>; /* addsel1 */
+ compatible = "lantiq,localbus", "simple-bus";
+ };
+
+ gptu@e100a00 {
+ compatible = "lantiq,gptu-xway";
+ reg = <0xe100a00 0x100>;
+ interrupt-parent = <&icu0>;
+ interrupts = <126 127 128 129 130 131>;
+ };
+
+ asc0: serial@e100400 {
+ compatible = "lantiq,asc";
+ reg = <0xe100400 0x400>;
+ interrupt-parent = <&icu0>;
+ interrupts = <104 105 106>;
+ status = "disabled";
+ };
+
+ spi: spi@e100800 {
+ compatible = "lantiq,xrx100-spi";
+ reg = <0xe100800 0x100>;
+ interrupt-parent = <&icu0>;
+ interrupts = <22 23 24>;
+ interrupt-names = "spi_rx", "spi_tx", "spi_err",
+ "spi_frm";
+ #address-cells = <1>;
+ #size-cells = <0>;
+ pinctrl-names = "default";
+ pinctrl-0 = <&spi_pins>, <&spi_cs4_pins>;
+ status = "disabled";
+ };
+
+ gpio: pinmux@e100b10 {
+ compatible = "lantiq,xrx100-pinctrl";
+ #gpio-cells = <2>;
+ gpio-controller;
+ reg = <0xe100b10 0xa0>;
+
+ mdio_pins: mdio {
+ mux {
+ lantiq,groups = "mdio";
+ lantiq,function = "mdio";
+ };
+ };
+
+ nand_pins: nand {
+ mux-0 {
+ lantiq,groups = "nand cle", "nand ale",
+ "nand rd";
+ lantiq,function = "ebu";
+ lantiq,output = <1>;
+ lantiq,open-drain = <0>;
+ lantiq,pull = <0>;
+ };
+ mux-1 {
+ lantiq,groups = "nand rdy";
+ lantiq,function = "ebu";
+ lantiq,output = <0>;
+ lantiq,pull = <2>;
+ };
+ };
+
+ nand_cs1_pins: nand-cs1 {
+ mux {
+ lantiq,groups = "nand cs1";
+ lantiq,function = "ebu";
+ lantiq,open-drain = <0>;
+ lantiq,pull = <0>;
+ };
+ };
+
+ pci_gnt1_pins: pci-gnt1 {
+ mux {
+ lantiq,groups = "gnt1";
+ lantiq,function = "pci";
+ lantiq,output = <1>;
+ lantiq,open-drain = <0>;
+ lantiq,pull = <0>;
+ };
+ };
+
+ pci_gnt2_pins: pci-gnt2 {
+ mux {
+ lantiq,groups = "gnt2";
+ lantiq,function = "pci";
+ lantiq,output = <1>;
+ lantiq,open-drain = <0>;
+ lantiq,pull = <0>;
+ };
+ };
+
+ pci_gnt3_pins: pci-gnt3 {
+ mux {
+ lantiq,groups = "gnt3";
+ lantiq,function = "pci";
+ lantiq,output = <1>;
+ lantiq,open-drain = <0>;
+ lantiq,pull = <0>;
+ };
+ };
+
+ pci_gnt4_pins: pci-gnt4 {
+ mux {
+ lantiq,groups = "gnt4";
+ lantiq,function = "pci";
+ lantiq,output = <1>;
+ lantiq,open-drain = <0>;
+ lantiq,pull = <0>;
+ };
+ };
+
+ pci_req1_pins: pci-req1 {
+ mux {
+ lantiq,groups = "req1";
+ lantiq,function = "pci";
+ lantiq,output = <0>;
+ lantiq,open-drain = <1>;
+ lantiq,pull = <2>;
+ };
+ };
+
+ pci_req2_pins: pci-req2 {
+ mux {
+ lantiq,groups = "req2";
+ lantiq,function = "pci";
+ lantiq,output = <0>;
+ lantiq,open-drain = <1>;
+ lantiq,pull = <2>;
+ };
+ };
+
+ pci_req3_pins: pci-req3 {
+ mux {
+ lantiq,groups = "req3";
+ lantiq,function = "pci";
+ lantiq,output = <0>;
+ lantiq,open-drain = <1>;
+ lantiq,pull = <2>;
+ };
+ };
+
+ pci_req4_pins: pci-req4 {
+ mux {
+ lantiq,groups = "req4";
+ lantiq,function = "pci";
+ lantiq,output = <0>;
+ lantiq,open-drain = <1>;
+ lantiq,pull = <2>;
+ };
+ };
+
+ spi_pins: spi {
+ mux-0 {
+ lantiq,groups = "spi_di";
+ lantiq,function = "spi";
+ };
+ mux-1 {
+ lantiq,groups = "spi_do", "spi_clk";
+ lantiq,function = "spi";
+ lantiq,output = <1>;
+ };
+ };
+
+ spi_cs4_pins: spi-cs4 {
+ mux {
+ lantiq,groups = "spi_cs4";
+ lantiq,function = "spi";
+ lantiq,output = <1>;
+ };
+ };
+
+ stp_pins: stp {
+ mux {
+ lantiq,groups = "stp";
+ lantiq,function = "stp";
+ lantiq,pull = <0>;
+ lantiq,open-drain = <0>;
+ lantiq,output = <1>;
+ };
+ };
+ };
+
+ stp: stp@e100bb0 {
+ #gpio-cells = <2>;
+ compatible = "lantiq,gpio-stp-xway";
+ gpio-controller;
+ reg = <0xe100bb0 0x40>;
+
+ pinctrl-0 = <&stp_pins>;
+ pinctrl-names = "default";
+
+ status = "disabled";
+ };
+
+ asc1: serial@e100c00 {
+ compatible = "lantiq,asc";
+ reg = <0xe100c00 0x400>;
+ interrupt-parent = <&icu0>;
+ interrupts = <112 113 114>;
+ };
+
+ usb0: usb@e101000 {
+ compatible = "lantiq,arx100-usb";
+ reg = <0xe101000 0x1000
+ 0xe120000 0x3f000>;
+ interrupt-parent = <&icu0>;
+ interrupts = <62 91>;
+ dr_mode = "host";
+ phys = <&usb_phy0>;
+ phy-names = "usb2-phy";
+ status = "disabled";
+ };
+
+ usb1: usb@e106000 {
+ compatible = "lantiq,arx100-usb";
+ reg = <0xe106000 0x1000
+ 0xe1e0000 0x3f000>;
+ interrupt-parent = <&icu0>;
+ interrupts = <91>;
+ dr_mode = "host";
+ phys = <&usb_phy1>;
+ phy-names = "usb2-phy";
+ status = "disabled";
+ };
+
+ deu@e103100 {
+ compatible = "lantiq,deu-arx100";
+ reg = <0xe103100 0xf00>;
+ };
+
+ dma0: dma@e104100 {
+ compatible = "lantiq,dma-xway";
+ reg = <0xe104100 0x800>;
+ };
+
+ ebu0: ebu@e105300 {
+ compatible = "lantiq,ebu-xway";
+ reg = <0xe105300 0x100>;
+ };
+
+ mei@e116000 {
+ compatible = "lantiq,mei-xway";
+ reg = <0xe116000 0x9c>;
+ interrupt-parent = <&icu0>;
+ interrupts = <63>;
+ };
+
+ gsw: etop@e180000 {
+ compatible = "lantiq,etop-xway";
+ reg = <0xe180000 0x40000
+ 0xe108000 0x200>;
+ interrupt-parent = <&icu0>;
+ interrupts = <73 72>;
+ mac-address = [ 00 11 22 33 44 55 ];
+ pinctrl-0 = <&mdio_pins>;
+ pinctrl-names = "default";
+ };
+
+ ppe@e234000 {
+ compatible = "lantiq,ppe-arx100";
+ reg = <0xe234000 0x3ffd>;
+ interrupt-parent = <&icu0>;
+ interrupts = <96>;
+ };
+
+ pci0: pci@e105400 {
+ status = "disabled";
+ #address-cells = <3>;
+ #size-cells = <2>;
+ #interrupt-cells = <1>;
+ compatible = "lantiq,pci-xway";
+ bus-range = <0x0 0x0>;
+ ranges = <0x2000000 0 0x8000000 0x8000000 0 0x2000000 /* pci memory */
+ 0x1000000 0 0x00000000 0xae00000 0 0x200000>; /* io space */
+ reg = <0x7000000 0x8000 /* config space */
+ 0xe105400 0x400>; /* pci bridge */
+ lantiq,bus-clock = <33333333>;
+ interrupt-map-mask = <0xf800 0x0 0x0 0x7>;
+ interrupt-map = <0x7000 0 0 1 &icu0 30 1>;
+ req-mask = <0x1>;
+ };
+ };
+
+ adsl {
+ compatible = "lantiq,adsl-arx100";
+ };
+};
diff --git a/target/linux/lantiq/files-4.19/arch/mips/boot/dts/lantiq/ar9_avm_fritz7312.dts b/target/linux/lantiq/files-4.19/arch/mips/boot/dts/lantiq/ar9_avm_fritz7312.dts
new file mode 100644
index 0000000000..aa825abd9f
--- /dev/null
+++ b/target/linux/lantiq/files-4.19/arch/mips/boot/dts/lantiq/ar9_avm_fritz7312.dts
@@ -0,0 +1,169 @@
+/dts-v1/;
+
+#include "ar9.dtsi"
+
+#include <dt-bindings/input/input.h>
+
+/ {
+ compatible = "avm,fritz7312", "lantiq,xway", "lantiq,ar9";
+ model = "AVM FRITZ!Box 7312";
+
+ chosen {
+ bootargs = "console=ttyLTQ0,115200";
+ };
+
+ aliases {
+ led-boot = &power;
+ led-failsafe = &power;
+ led-running = &power;
+ led-upgrade = &power;
+
+ led-dsl = &info_green;
+ led-wifi = &wlan;
+ };
+
+ memory@0 {
+ device_type = "memory";
+ reg = <0x0 0x4000000>;
+ };
+
+ keys {
+ compatible = "gpio-keys-polled";
+ poll-interval = <100>;
+
+ wlan {
+ label = "wlan";
+ gpios = <&gpio 1 GPIO_ACTIVE_LOW>;
+ linux,code = <KEY_RFKILL>;
+ };
+ dect {
+ label = "dect";
+ gpios = <&gpio 2 GPIO_ACTIVE_LOW>;
+ linux,code = <KEY_PHONE>;
+ };
+ };
+
+ leds {
+ compatible = "gpio-leds";
+
+ power: power {
+ label = "fritz7312:green:power";
+ gpios = <&gpio 44 GPIO_ACTIVE_LOW>;
+ default-state = "keep";
+ };
+ voice {
+ label = "fritz7312:green:fon";
+ gpios = <&gpio 47 GPIO_ACTIVE_LOW>;
+ };
+ dect {
+ label = "fritz7312:green:dect";
+ gpios = <&gpio 38 GPIO_ACTIVE_LOW>;
+ };
+ wlan: wlan {
+ label = "fritz7312:green:wlan";
+ gpios = <&gpio 37 GPIO_ACTIVE_LOW>;
+ };
+ info_green: info_green {
+ label = "fritz7312:green:info";
+ gpios = <&gpio 35 GPIO_ACTIVE_LOW>;
+ };
+ };
+};
+
+&gpio {
+ pinctrl-names = "default";
+ pinctrl-0 = <&state_default>;
+
+ state_default: pinmux {
+ ar8030-intr {
+ lantiq,groups = "exin3";
+ lantiq,function = "exin";
+ lantiq,pull = <2>;
+ lantiq,output = <0>;
+ };
+ ar8030-clk {
+ lantiq,groups = "clkout2";
+ lantiq,output = <1>;
+ lantiq,open-drain;
+ };
+ ar8030-rst {
+ lantiq,pins = "io34";
+ lantiq,output = <1>;
+ lantiq,pull = <2>;
+ lantiq,open-drain;
+ };
+ };
+};
+
+&gsw {
+ phy-mode = "rmii";
+ phy-handle = <&phy0>;
+ mtd-mac-address = <&ath9k_cal 0xa91>;
+ mtd-mac-address-increment = <(-2)>;
+
+ mdio-bus {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ phy0: ethernet-phy@0 {
+ reg = <0>;
+ reset-gpios = <&gpio 34 GPIO_ACTIVE_LOW>;
+ };
+ };
+};
+
+&localbus {
+ flash@0 {
+ compatible = "lantiq,nor";
+ bank-width = <2>;
+ reg = <0 0x0 0x1000000>;
+
+ partitions {
+ compatible = "fixed-partitions";
+ #address-cells = <1>;
+ #size-cells = <1>;
+
+ ath9k_cal: partition@0 {
+ label = "urlader";
+ reg = <0x00000 0x20000>;
+ read-only;
+ };
+
+ partition@20000 {
+ label = "firmware";
+ reg = <0x20000 0xf60000>;
+ };
+
+ partition@f80000 {
+ label = "tffs (1)";
+ reg = <0xf80000 0x40000>;
+ read-only;
+ };
+
+ partition@fc0000 {
+ label = "tffs (2)";
+ reg = <0xfc0000 0x40000>;
+ read-only;
+ };
+ };
+ };
+};
+
+&pci0 {
+ status = "okay";
+
+ pinctrl-0 = <&pci_gnt1_pins>, <&pci_gnt2_pins>,
+ <&pci_gnt3_pins>, <&pci_gnt4_pins>,
+ <&pci_req1_pins>, <&pci_req2_pins>,
+ <&pci_req4_pins>;
+ pinctrl-names = "default";
+
+ req-mask = <0xf>;
+ gpio-reset = <&gpio 21 GPIO_ACTIVE_LOW>;
+
+ wifi@0,0 {
+ compatible = "pci0,0";
+ reg = <0x7000 0 0 0 0>;
+ qca,no-eeprom; /* load from ath9k-eeprom-pci-0000:00:0e.0.bin */
+ };
+};
diff --git a/target/linux/lantiq/files-4.19/arch/mips/boot/dts/lantiq/ar9_avm_fritz7320.dts b/target/linux/lantiq/files-4.19/arch/mips/boot/dts/lantiq/ar9_avm_fritz7320.dts
new file mode 100644
index 0000000000..424b778bb4
--- /dev/null
+++ b/target/linux/lantiq/files-4.19/arch/mips/boot/dts/lantiq/ar9_avm_fritz7320.dts
@@ -0,0 +1,151 @@
+/dts-v1/;
+
+#include "ar9.dtsi"
+
+#include <dt-bindings/input/input.h>
+
+/ {
+ compatible = "avm,fritz7320", "lantiq,xway", "lantiq,ar9";
+ model = "AVM FRITZ!Box 7320";
+
+ chosen {
+ bootargs = "console=ttyLTQ0,115200";
+ };
+
+ aliases {
+ led-boot = &power;
+ led-failsafe = &power;
+ led-running = &power;
+ led-upgrade = &power;
+
+ led-dsl = &info_green;
+ led-wifi = &wlan;
+ };
+
+ memory@0 {
+ device_type = "memory";
+ reg = <0x0 0x4000000>;
+ };
+
+ keys {
+ compatible = "gpio-keys-polled";
+ poll-interval = <100>;
+
+ rfkill {
+ label = "rfkill";
+ gpios = <&gpio 1 GPIO_ACTIVE_LOW>;
+ linux,code = <KEY_RFKILL>;
+ };
+ dect {
+ label = "dect";
+ gpios = <&gpio 2 GPIO_ACTIVE_LOW>;
+ linux,code = <KEY_PHONE>;
+ };
+ };
+
+ leds {
+ compatible = "gpio-leds";
+ power: power {
+ label = "fritz7320:green:power";
+ gpios = <&gpio 44 GPIO_ACTIVE_LOW>;
+ default-state = "keep";
+ };
+ voice {
+ label = "fritz7320:green:fon";
+ gpios = <&gpio 47 GPIO_ACTIVE_LOW>;
+ };
+ dect {
+ label = "fritz7320:green:dect";
+ gpios = <&gpio 38 GPIO_ACTIVE_LOW>;
+ };
+ wlan: wlan {
+ label = "fritz7320:green:wlan";
+ gpios = <&gpio 37 GPIO_ACTIVE_LOW>;
+ };
+ info_green: info_green {
+ label = "fritz7320:green:info";
+ gpios = <&gpio 35 GPIO_ACTIVE_LOW>;
+ };
+ info_red {
+ label = "fritz7320:red:info";
+ gpios = <&gpio 45 GPIO_ACTIVE_LOW>;
+ };
+ };
+};
+
+&gsw {
+ phy-mode = "mii";
+ mtd-mac-address = <&ath9k_cal 0xa91>;
+ mtd-mac-address-increment = <(-2)>;
+};
+
+&localbus {
+ flash@0 {
+ compatible = "lantiq,nor";
+ bank-width = <2>;
+ reg = <0 0x0 0x1000000>;
+
+ partitions {
+ compatible = "fixed-partitions";
+ #address-cells = <1>;
+ #size-cells = <1>;
+
+ ath9k_cal: partition@0 {
+ label = "urlader";
+ reg = <0x00000 0x20000>;
+ read-only;
+ };
+
+ partition@20000 {
+ label = "firmware";
+ reg = <0x20000 0xf60000>;
+ };
+
+ partition@f80000 {
+ label = "tffs (1)";
+ reg = <0xf80000 0x40000>;
+ read-only;
+ };
+
+ partition@fc0000 {
+ label = "tffs (2)";
+ reg = <0xfc0000 0x40000>;
+ read-only;
+ };
+ };
+ };
+};
+
+&pci0 {
+ status = "okay";
+
+ pinctrl-0 = <&pci_gnt1_pins>, <&pci_gnt2_pins>,
+ <&pci_gnt3_pins>, <&pci_gnt4_pins>,
+ <&pci_req1_pins>, <&pci_req2_pins>,
+ <&pci_req3_pins>, <&pci_req4_pins>;
+
+ req-mask = <0xf>;
+ gpio-reset = <&gpio 21 GPIO_ACTIVE_HIGH>;
+
+ wifi@0,0 {
+ compatible = "pci0,0";
+ reg = <0x7000 0 0 0 0>;
+ qca,no-eeprom; /* load from ath9k-eeprom-pci-0000:00:0e.0.bin */
+ };
+};
+
+&usb_phy0 {
+ status = "okay";
+};
+
+&usb_phy1 {
+ status = "okay";
+};
+
+&usb0 {
+ status = "okay";
+};
+
+&usb1 {
+ status = "okay";
+};
diff --git a/target/linux/lantiq/files-4.19/arch/mips/boot/dts/lantiq/ar9_bt_homehub-v3a.dts b/target/linux/lantiq/files-4.19/arch/mips/boot/dts/lantiq/ar9_bt_homehub-v3a.dts
new file mode 100644
index 0000000000..044ae2b417
--- /dev/null
+++ b/target/linux/lantiq/files-4.19/arch/mips/boot/dts/lantiq/ar9_bt_homehub-v3a.dts
@@ -0,0 +1,191 @@
+/dts-v1/;
+
+#include "ar9.dtsi"
+
+#include <dt-bindings/input/input.h>
+
+/ {
+ compatible = "bt,homehub-v3a", "lantiq,xway", "lantiq,ar9";
+ model = "BT Home Hub 3A"; /* SoC: Lantiq ar9 @ 333MHz */
+
+ chosen {
+ bootargs = "console=ttyLTQ0,115200";
+ };
+
+ aliases {
+ led-boot = &power_orange;
+ led-failsafe = &power_red;
+ led-running = &power_blue;
+ led-upgrade = &power_blue;
+
+ led-dsl = &broadband_blue;
+ led-wifi = &wireless_blue;
+ };
+
+ memory@0 { /* RAM: Samsung K4H511638F-LC 64MB */
+ device_type = "memory";
+ reg = <0x0 0x4000000>;
+ };
+
+ keys {
+ compatible = "gpio-keys-polled";
+ poll-interval = <100>;
+ reset {
+ label = "reset";
+ gpios = <&gpio 54 GPIO_ACTIVE_LOW>;
+ linux,code = <KEY_RESTART>;
+ };
+ restart {
+ label = "restart";
+ gpios = <&gpio 52 GPIO_ACTIVE_LOW>;
+ linux,code = <KEY_POWER>;
+ };
+ wps {
+ label = "wps";
+ gpios = <&gpio 53 GPIO_ACTIVE_LOW>;
+ linux,code = <KEY_WPS_BUTTON>;
+ };
+ };
+
+ leds {
+ compatible = "gpio-leds";
+
+ wireless-red {
+ label = "bthomehubv3a:red:wireless";
+ gpios = <&gpio 2 GPIO_ACTIVE_LOW>;
+ };
+ wireless-orange {
+ label = "bthomehubv3a:orange:wireless";
+ gpios = <&gpio 6 GPIO_ACTIVE_LOW>;
+ };
+ wireless_blue: wireless-blue {
+ label = "bthomehubv3a:blue:wireless";
+ gpios = <&gpio 9 GPIO_ACTIVE_LOW>;
+ };
+
+ broadband-red {
+ label = "bthomehubv3a:red:broadband";
+ gpios = <&gpio 11 GPIO_ACTIVE_LOW>;
+ };
+ broadband-orange {
+ label = "bthomehubv3a:orange:broadband";
+ gpios = <&gpio 0 GPIO_ACTIVE_LOW>;
+ };
+ broadband_blue: broadband-blue {
+ label = "bthomehubv3a:blue:broadband";
+ gpios = <&gpio 12 GPIO_ACTIVE_LOW>;
+ };
+
+ power_red: power-red {
+ label = "bthomehubv3a:red:power";
+ gpios = <&gpio 14 GPIO_ACTIVE_LOW>;
+ };
+ power_orange: power-orange {
+ label = "bthomehubv3a:orange:power";
+ gpios = <&gpio 5 GPIO_ACTIVE_LOW>;
+ default-state = "keep";
+ };
+ power_blue: power-blue {
+ label = "bthomehubv3a:blue:power";
+ gpios = <&gpio 1 GPIO_ACTIVE_LOW>;
+ };
+ };
+
+ usb_vbus: regulator-usb-vbus {
+ compatible = "regulator-fixed";
+
+ regulator-name = "USB_VBUS";
+
+ regulator-min-microvolt = <5000000>;
+ regulator-max-microvolt = <5000000>;
+
+ gpio = <&gpio 33 GPIO_ACTIVE_HIGH>;
+ enable-active-high;
+ };
+};
+
+&gpio {
+ pinctrl-names = "default";
+ pinctrl-0 = <&state_default>;
+
+ state_default: pinmux {
+ pci_rst {
+ lantiq,pins = "io21";
+ lantiq,output = <1>;
+ lantiq,open-drain = <0>;
+ };
+ };
+};
+
+&gsw {
+ phy-mode = "rgmii";
+};
+
+&localbus {
+ flash@1 { /* NAND Flash: Samsung K9F5608U0D-JIB0 32MB */
+ compatible = "lantiq,nand-xway";
+ lantiq,cs = <1>;
+ bank-width = <2>;
+ reg = <1 0x0 0x2000000 >;
+ req-mask = <0x1>; /* PCI request lines to mask during NAND access */
+
+ pinctrl-0 = <&nand_pins>, <&nand_cs1_pins>;
+ pinctrl-names = "default";
+
+ partitions {
+ compatible = "fixed-partitions";
+ #address-cells = <1>;
+ #size-cells = <1>;
+
+ partition@0 {
+ label = "preboot";
+ reg = <0x00000 0x8000>;
+ read-only;
+ };
+ partition@8000 {
+ label = "u-boot";
+ reg = <0x8000 0x05c000>;
+ read-only;
+ };
+ partition@64000 {
+ label = "uboot_env";
+ reg = <0x64000 0x004000>;
+ };
+ ath9k_cal: partition@68000 {
+ label = "art-copy";
+ reg = <0x68000 0x004000>;
+ };
+ partition@6c000 {
+ label = "kernel";
+ reg = <0x6c000 0x200000>;
+ };
+ partition@26c000 {
+ label = "ubi";
+ reg = <0x26c000 0x1d94000>;
+ };
+ };
+ };
+};
+
+&pci0 {
+ status = "okay";
+
+ pinctrl-0 = <&pci_gnt1_pins>, <&pci_req1_pins>;
+ pinctrl-names = "default";
+
+ gpio-reset = <&gpio 21 GPIO_ACTIVE_HIGH>;
+
+ wifi@7000 {
+ reg = <0x7000 0 0 0 0>;
+ qca,no-eeprom; /* load from ath9k-eeprom-pci-0000:00:0e.0.bin */
+ };
+};
+
+&usb_phy0 {
+ status = "okay";
+};
+
+&usb0 {
+ status = "okay";
+ vbus-supply = <&usb_vbus>;
+};
diff --git a/target/linux/lantiq/files-4.19/arch/mips/boot/dts/lantiq/ar9_buffalo_wbmr-hp-g300h.dts b/target/linux/lantiq/files-4.19/arch/mips/boot/dts/lantiq/ar9_buffalo_wbmr-hp-g300h.dts
new file mode 100644
index 0000000000..5419215dc6
--- /dev/null
+++ b/target/linux/lantiq/files-4.19/arch/mips/boot/dts/lantiq/ar9_buffalo_wbmr-hp-g300h.dts
@@ -0,0 +1,197 @@
+/dts-v1/;
+
+#include "ar9.dtsi"
+
+#include <dt-bindings/input/input.h>
+
+/ {
+ compatible = "buffalo,wbmr-hp-g300h", "lantiq,xway", "lantiq,ar9";
+ model = "Buffalo WBMR-HP-G300H";
+
+ chosen {
+ bootargs = "console=ttyLTQ0,115200";
+ };
+
+ aliases {
+ led-boot = &power_green;
+ led-failsafe = &power_red;
+ led-running = &power_green;
+ led-upgrade = &power_green;
+
+ led-dsl = &dsl;
+ led-internet = &online_green;
+ led-usb = &led_usb;
+ led-wifi = &wifi;
+ };
+
+ memory@0 {
+ device_type = "memory";
+ reg = <0x0 0x4000000>;
+ };
+
+ keys {
+ compatible = "gpio-keys-polled";
+ poll-interval = <100>;
+
+ wps {
+ label = "wps";
+ gpios = <&gpio 0 GPIO_ACTIVE_LOW>;
+ linux,code = <KEY_WPS_BUTTON>;
+ };
+ reset {
+ label = "reset";
+ gpios = <&gpio 37 GPIO_ACTIVE_LOW>;
+ linux,code = <KEY_RESTART>;
+ };
+ eject {
+ label = "eject";
+ gpios = <&gpio 34 GPIO_ACTIVE_LOW>;
+ linux,code = <KEY_EJECTCD>;
+ };
+ movie {
+ label = "movie";
+ gpios = <&gpio 22 GPIO_ACTIVE_LOW>;
+ linux,code = <KEY_VIDEO>;
+ };
+ };
+
+ leds {
+ compatible = "gpio-leds";
+
+ power_green: power {
+ label = "wbmr:green:power";
+ gpios = <&gpio 1 GPIO_ACTIVE_LOW>;
+ default-state = "keep";
+ };
+ power_red: power2 {
+ label = "wbmr:red:power";
+ gpios = <&gpio 5 GPIO_ACTIVE_LOW>;
+ };
+ security {
+ label = "wbmr:yellow:security";
+ gpios = <&gpio 14 GPIO_ACTIVE_LOW>;
+ };
+ wifi: wifi {
+ label = "wbmr:green:wireless";
+ gpios = <&gpio 15 GPIO_ACTIVE_LOW>;
+ };
+ dsl: dsl {
+ label = "wbmr:green:dsl";
+ gpios = <&gpio 16 GPIO_ACTIVE_LOW>;
+ };
+ online_green: online {
+ label = "wbmr:green:internet";
+ gpios = <&gpio 17 GPIO_ACTIVE_LOW>;
+ };
+ online2 {
+ label = "wbmr:red:internet";
+ gpios = <&gpio 18 GPIO_ACTIVE_LOW>;
+ };
+ movie {
+ label = "wbmr:blue:movie";
+ gpios = <&gpio 20 GPIO_ACTIVE_LOW>;
+ };
+ led_usb: usb {
+ label = "wbmr:green:usb";
+ gpios = <&gpio 28 GPIO_ACTIVE_LOW>;
+ default-state = "on";
+ };
+ };
+
+ usb_vbus: regulator-usb-vbus {
+ compatible = "regulator-fixed";
+
+ regulator-name = "USB_VBUS";
+
+ regulator-min-microvolt = <5000000>;
+ regulator-max-microvolt = <5000000>;
+
+ gpio = <&gpio 36 GPIO_ACTIVE_HIGH>;
+ enable-active-high;
+ };
+};
+
+&gpio {
+ pinctrl-names = "default";
+ pinctrl-0 = <&state_default>;
+
+ state_default: pinmux {
+ pci-in {
+ lantiq,groups = "req1";
+ lantiq,output = <0>;
+ lantiq,open-drain = <1>;
+ lantiq,pull = <2>;
+ };
+ pci-out {
+ lantiq,groups = "gnt1";
+ lantiq,output = <1>;
+ lantiq,pull = <0>;
+ };
+ pci_rst {
+ lantiq,pins = "io21";
+ lantiq,pull = <0>;
+ lantiq,output = <1>;
+ };
+ };
+};
+
+&gsw {
+ phy-mode = "rgmii";
+ mtd-mac-address = <&boardconfig 0x10024>;
+};
+
+&pci0 {
+ status = "okay";
+};
+
+&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>;
+ read-only;
+ };
+
+ partition@20000 {
+ label = "firmware";
+ reg = <0x60000 0x1f20000>;
+ };
+
+ boardconfig: partition@1fc0000 {
+ label = "board";
+ reg = <0x1fc0000 0x20000>;
+ read-only;
+ };
+
+ partition@1fe0000 {
+ label = "calibration";
+ reg = <0x1fe0000 0x20000>;
+ read-only;
+ };
+ };
+ };
+};
+
+&usb_phy0 {
+ status = "okay";
+};
+
+&usb0 {
+ status = "okay";
+ vbus-supply = <&usb_vbus>;
+};
diff --git a/target/linux/lantiq/files-4.19/arch/mips/boot/dts/lantiq/ar9_netgear_dgn3500.dts b/target/linux/lantiq/files-4.19/arch/mips/boot/dts/lantiq/ar9_netgear_dgn3500.dts
new file mode 100644
index 0000000000..cbc99fe620
--- /dev/null
+++ b/target/linux/lantiq/files-4.19/arch/mips/boot/dts/lantiq/ar9_netgear_dgn3500.dts
@@ -0,0 +1,8 @@
+/dts-v1/;
+
+#include "ar9_netgear_dgn3500.dtsi"
+
+/ {
+ compatible = "netgear,dgn3500", "lantiq,xway", "lantiq,ar9";
+ model = "Netgear DGN3500";
+};
diff --git a/target/linux/lantiq/files-4.19/arch/mips/boot/dts/lantiq/ar9_netgear_dgn3500.dtsi b/target/linux/lantiq/files-4.19/arch/mips/boot/dts/lantiq/ar9_netgear_dgn3500.dtsi
new file mode 100644
index 0000000000..a3dbbbdfad
--- /dev/null
+++ b/target/linux/lantiq/files-4.19/arch/mips/boot/dts/lantiq/ar9_netgear_dgn3500.dtsi
@@ -0,0 +1,185 @@
+#include "ar9.dtsi"
+
+#include <dt-bindings/input/input.h>
+
+/ {
+ chosen {
+ bootargs = "root= console=ttyLTQ0,115200";
+ };
+
+ aliases {
+ led-boot = &power_green;
+ led-failsafe = &power_red;
+ led-running = &power_green;
+ led-upgrade = &power_green;
+
+ led-dsl = &dsl;
+ led-internet = &internet;
+ led-usb = &led_usb;
+ led-wifi = &wifi_green;
+ };
+
+ memory@0 {
+ device_type = "memory";
+ reg = <0x0 0x4000000>;
+ };
+
+ rtl8366rb {
+ compatible = "realtek,rtl8366rb";
+ gpio-sda = <&gpio 35 GPIO_ACTIVE_HIGH>;
+ gpio-sck = <&gpio 37 GPIO_ACTIVE_HIGH>;
+
+ realtek,initvals = <
+ 0x0000 0x0830
+ 0x0400 0x8130
+ 0x000a 0x83ed
+ 0x0f51 0x0017
+ 0x02f5 0x0048
+ 0x02fa 0xffdf
+ 0x02fb 0xffe0
+ 0x0450 0x0000
+ 0x0401 0x0000
+ 0x0431 0x0960
+ >;
+ };
+
+ keys {
+ compatible = "gpio-keys-polled";
+ poll-interval = <100>;
+
+ rfkill {
+ label = "rfkill";
+ gpios = <&gpio 36 GPIO_ACTIVE_LOW>;
+ linux,code = <KEY_RFKILL>;
+ };
+ wps {
+ label = "wps";
+ gpios = <&gpio 54 GPIO_ACTIVE_LOW>;
+ linux,code = <KEY_WPS_BUTTON>;
+ };
+ reset {
+ label = "reset";
+ gpios = <&gpio 53 GPIO_ACTIVE_LOW>;
+ linux,code = <KEY_RESTART>;
+ };
+ };
+
+ leds {
+ compatible = "gpio-leds";
+ internet: internet {
+ label = "dgn3500:green:internet";
+ gpios = <&gpio 2 GPIO_ACTIVE_LOW>;
+ };
+ internet2 {
+ label = "dgn3500:red:internet";
+ gpios = <&gpio 30 GPIO_ACTIVE_LOW>;
+ };
+ dsl: dsl {
+ label = "dgn3500:green:dsl";
+ gpios = <&gpio 4 GPIO_ACTIVE_LOW>;
+ };
+ led_usb: usb {
+ label = "dgn3500:green:usb";
+ gpios = <&gpio 22 GPIO_ACTIVE_LOW>;
+ };
+ power_green: power {
+ label = "dgn3500:green:power";
+ gpios = <&gpio 34 GPIO_ACTIVE_LOW>;
+ default-state = "keep";
+ };
+ power_red: power2 {
+ label = "dgn3500:red:power";
+ gpios = <&gpio 39 GPIO_ACTIVE_LOW>;
+ };
+ wifi_green: wifi {
+ label = "dgn3500:green:wireless";
+ gpios = <&gpio 14 GPIO_ACTIVE_LOW>;
+ };
+ wifi2 {
+ label = "dgn3500:amber:wireless";
+ gpios = <&gpio 51 GPIO_ACTIVE_LOW>;
+ };
+ wps {
+ label = "dgn3500:green:wps";
+ gpios = <&gpio 52 GPIO_ACTIVE_LOW>;
+ };
+ };
+};
+
+&gpio {
+ pinctrl-names = "default";
+ pinctrl-0 = <&state_default>;
+
+ state_default: pinmux {
+ exin {
+ lantiq,groups = "exin1";
+ lantiq,function = "exin";
+ };
+ };
+};
+
+&gsw {
+ phy-mode = "mii";
+};
+
+&pci0 {
+ status = "okay";
+
+ pinctrl-0 = <&pci_gnt1_pins>, <&pci_req1_pins>;
+ pinctrl-names = "default";
+
+ gpio-reset = <&gpio 21 GPIO_ACTIVE_HIGH>;
+
+ wifi@168c,0029 {
+ compatible = "pci168c,0029";
+ reg = <0x7000 0 0 0 0>;
+ qca,no-eeprom; /* load from ath9k-eeprom-pci-0000:00:0e.0.bin */
+ };
+};
+
+&spi {
+ status = "okay";
+
+ flash@4 {
+ compatible = "jedec,spi-nor";
+ reg = <4>;
+ spi-max-frequency = <20000000>;
+
+ partitions {
+ compatible = "fixed-partitions";
+ #address-cells = <1>;
+ #size-cells = <1>;
+
+ partition@0 {
+ reg = <0x0 0x10000>;
+ label = "uboot";
+ read-only;
+ };
+
+ partition@10000 {
+ reg = <0x10000 0x10000>;
+ label = "uboot-env";
+ read-only;
+ };
+
+ ath9k_cal: partition@20000 {
+ reg = <0x20000 0x10000>;
+ label = "calibration";
+ read-only;
+ };
+
+ partition@50000 {
+ reg = <0x50000 0xfa0000>;
+ label = "firmware";
+ };
+ };
+ };
+};
+
+&usb_phy0 {
+ status = "okay";
+};
+
+&usb0 {
+ status = "okay";
+};
diff --git a/target/linux/lantiq/files-4.19/arch/mips/boot/dts/lantiq/ar9_netgear_dgn3500b.dts b/target/linux/lantiq/files-4.19/arch/mips/boot/dts/lantiq/ar9_netgear_dgn3500b.dts
new file mode 100644
index 0000000000..b69613e48f
--- /dev/null
+++ b/target/linux/lantiq/files-4.19/arch/mips/boot/dts/lantiq/ar9_netgear_dgn3500b.dts
@@ -0,0 +1,8 @@
+/dts-v1/;
+
+#include "ar9_netgear_dgn3500.dtsi"
+
+/ {
+ compatible = "netgear,dgn3500b", "lantiq,xway", "lantiq,ar9";
+ model = "Netgear DGN3500B";
+};
diff --git a/target/linux/lantiq/files-4.19/arch/mips/boot/dts/lantiq/ar9_zte_h201l.dts b/target/linux/lantiq/files-4.19/arch/mips/boot/dts/lantiq/ar9_zte_h201l.dts
new file mode 100644
index 0000000000..9b640e0327
--- /dev/null
+++ b/target/linux/lantiq/files-4.19/arch/mips/boot/dts/lantiq/ar9_zte_h201l.dts
@@ -0,0 +1,172 @@
+/dts-v1/;
+
+#include "ar9.dtsi"
+
+#include <dt-bindings/input/input.h>
+
+/ {
+ compatible = "zte,h201l", "lantiq,xway", "lantiq,ar9";
+ model = "ZTE H210L";
+
+ chosen {
+ bootargs = "console=ttyLTQ0,115200";
+ };
+
+ aliases {
+ led-boot = &power_green;
+ led-failsafe = &power_green;
+ led-running = &power_green;
+ led-upgrade = &power_green;
+
+ led-dsl = &dsl;
+ led-internet = &online;
+ led-usb = &led_usb;
+ led-wifi = &wifi;
+ };
+
+ memory@0 {
+ device_type = "memory";
+ reg = <0x0 0x2000000>;
+ };
+
+ keys {
+ compatible = "gpio-keys-polled";
+ poll-interval = <100>;
+
+ reset {
+ label = "reset";
+ gpios = <&gpio 53 GPIO_ACTIVE_LOW>;
+ linux,code = <KEY_RESTART>;
+ };
+ wps {
+ label = "wps";
+ gpios = <&gpio 54 GPIO_ACTIVE_LOW>;
+ linux,code = <KEY_WPS_BUTTON>;
+ };
+ rfkill {
+ label = "rfkill";
+ gpios = <&gpio 55 GPIO_ACTIVE_LOW>;
+ linux,code = <KEY_RFKILL>;
+ };
+ };
+
+ leds {
+ compatible = "gpio-leds";
+
+ power_green: power {
+ label = "h201l:green:power";
+ gpios = <&gpio 19 GPIO_ACTIVE_LOW>;
+ default-state = "keep";
+ };
+ online: online {
+ label = "h201l:green:internet";
+ gpios = <&gpio 37 GPIO_ACTIVE_LOW>;
+ };
+ dsl: dsl {
+ label = "h201l:green:dsl";
+ gpios = <&gpio 4 GPIO_ACTIVE_LOW>;
+ };
+ phone {
+ label = "h201l:green:phone";
+ gpios = <&gpio 39 GPIO_ACTIVE_LOW>;
+ };
+ wps {
+ label = "h201l:green:wps";
+ gpios = <&gpio 22 GPIO_ACTIVE_LOW>;
+ };
+ wifi: wifi {
+ label = "h201l:green:wlan";
+ gpios = <&gpio 6 GPIO_ACTIVE_LOW>;
+ };
+ led_usb: usb {
+ label = "h201l:green:usb";
+ gpios = <&gpio 14 GPIO_ACTIVE_LOW>;
+ };
+ };
+
+ gpio_export {
+ compatible = "gpio-export";
+ #size-cells = <0>;
+
+ switch {
+ gpio-export,name = "switch";
+ gpio-export,output = <1>;
+ gpios = <&gpio 38 GPIO_ACTIVE_HIGH>;
+ };
+ usb {
+ gpio-export,name = "usb";
+ gpio-export,output = <1>;
+ gpios = <&gpio 28 GPIO_ACTIVE_HIGH>;
+ };
+ wifi {
+ gpio-export,name = "wifi";
+ gpio-export,output = <1>;
+ gpios = <&gpio 7 GPIO_ACTIVE_HIGH>;
+ };
+ };
+
+ usb_vbus: regulator-usb-vbus {
+ compatible = "regulator-fixed";
+
+ regulator-name = "USB_VBUS";
+
+ regulator-min-microvolt = <5000000>;
+ regulator-max-microvolt = <5000000>;
+
+ gpio = <&gpio 36 GPIO_ACTIVE_HIGH>;
+ enable-active-high;
+ };
+};
+
+&gpio {
+ pinctrl-names = "default";
+ pinctrl-0 = <&state_default>;
+
+ state_default: pinmux {
+ };
+};
+
+&gsw {
+ phy-mode = "rgmii";
+};
+
+&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 0x20000>;
+ read-only;
+ };
+
+ partition@20000 {
+ label = "uboot_env";
+ reg = <0x20000 0x10000>;
+ read-only;
+ };
+
+ partition@30000 {
+ label = "firmware";
+ reg = <0x30000 0x7d0000>;
+ };
+ };
+ };
+};
+
+&usb_phy0 {
+ status = "okay";
+};
+
+
+&usb0 {
+ status = "okay";
+ vbus-supply = <&usb_vbus>;
+};
diff --git a/target/linux/lantiq/files-4.19/arch/mips/boot/dts/lantiq/ar9_zyxel_p-2601hn.dts b/target/linux/lantiq/files-4.19/arch/mips/boot/dts/lantiq/ar9_zyxel_p-2601hn.dts
new file mode 100644
index 0000000000..79896c6478
--- /dev/null
+++ b/target/linux/lantiq/files-4.19/arch/mips/boot/dts/lantiq/ar9_zyxel_p-2601hn.dts
@@ -0,0 +1,178 @@
+/dts-v1/;
+
+#include "ar9.dtsi"
+
+#include <dt-bindings/input/input.h>
+
+/ {
+ compatible = "zyxel,p-2601hn", "lantiq,xway", "lantiq,ar9";
+ model = "ZyXEL P-2601HN-Fx";
+
+ chosen {
+ bootargs = "console=ttyLTQ0,115200";
+ };
+
+ aliases {
+ led-boot = &power_green;
+ led-failsafe = &power_red;
+ led-running = &power_green;
+ led-upgrade = &power_green;
+
+ 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>;
+
+ reset {
+ label = "reset";
+ gpios = <&gpio 53 GPIO_ACTIVE_LOW>;
+ linux,code = <KEY_RESTART>;
+ };
+ rfkill {
+ label = "rfkill";
+ gpios = <&gpio 54 GPIO_ACTIVE_LOW>;
+ linux,code = <KEY_RFKILL>;
+ };
+ };
+
+ leds {
+ compatible = "gpio-leds";
+
+ power_green: power {
+ label = "p2601hnfx:green:power";
+ gpios = <&stp 11 GPIO_ACTIVE_LOW>;
+ default-state = "keep";
+ };
+ power_red: power2 {
+ label = "p2601hnfx:red:power";
+ gpios = <&gpio 29 GPIO_ACTIVE_LOW>;
+ };
+ online: online {
+ label = "p2601hnfx:green:internet";
+ gpios = <&stp 13 GPIO_ACTIVE_LOW>;
+ };
+ online2 {
+ label = "p2601hnfx:red:internet";
+ gpios = <&stp 12 GPIO_ACTIVE_LOW>;
+ };
+ dsl: dsl {
+ label = "p2601hnfx:green:dsl";
+ gpios = <&stp 14 GPIO_ACTIVE_LOW>;
+ };
+ phone {
+ label = "p2601hnfx:green:phone";
+ gpios = <&stp 9 GPIO_ACTIVE_LOW>;
+ };
+ phone2 {
+ label = "p2601hnfx:orange:phone";
+ gpios = <&stp 8 GPIO_ACTIVE_LOW>;
+ };
+ wifi: wifi {
+ label = "p2601hnfx:green:wireless";
+ gpios = <&stp 15 GPIO_ACTIVE_LOW>;
+ };
+ wifi2 {
+ label = "p2601hnfx:orange:wireless";
+ gpios = <&stp 10 GPIO_ACTIVE_LOW>;
+ };
+ };
+
+ gpio_export {
+ compatible = "gpio-export";
+ #size-cells = <0>;
+
+ switch {
+ gpio-export,name = "switch";
+ gpio-export,output = <1>;
+ gpios = <&gpio 50 GPIO_ACTIVE_HIGH>;
+ };
+ };
+};
+
+&gpio {
+ pinctrl-names = "default";
+ pinctrl-0 = <&state_default>;
+
+ state_default: pinmux {
+ exin {
+ lantiq,groups = "exin1";
+ lantiq,function = "exin";
+ };
+ };
+
+ usb_vbus: regulator-usb-vbus {
+ compatible = "regulator-fixed";
+
+ regulator-name = "USB_VBUS";
+
+ regulator-min-microvolt = <5000000>;
+ regulator-max-microvolt = <5000000>;
+
+ gpio = <&gpio 9 GPIO_ACTIVE_HIGH>;
+ enable-active-high;
+ };
+};
+
+&gsw {
+ phy-mode = "rmii";
+};
+
+&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>;
+ read-only;
+ };
+
+ partition@60000 {
+ label = "firmware";
+ reg = <0x60000 0xfa0000>;
+ };
+ };
+ };
+};
+
+&pci0 {
+ pinctrl-0 = <&pci_gnt1_pins>, <&pci_req1_pins>;
+ pinctrl-names = "default";
+};
+
+&stp {
+ status = "okay";
+ lantiq,shadow = <0xfff>;
+ lantiq,groups = <0x3>;
+};
+
+&usb_phy0 {
+ status = "okay";
+};
+
+&usb0 {
+ status = "okay";
+ vbus-supply = <&usb_vbus>;
+};
diff --git a/target/linux/lantiq/files-4.19/arch/mips/boot/dts/lantiq/danube.dtsi b/target/linux/lantiq/files-4.19/arch/mips/boot/dts/lantiq/danube.dtsi
new file mode 100644
index 0000000000..ae8c1c045a
--- /dev/null
+++ b/target/linux/lantiq/files-4.19/arch/mips/boot/dts/lantiq/danube.dtsi
@@ -0,0 +1,325 @@
+#include <dt-bindings/gpio/gpio.h>
+
+/ {
+ #address-cells = <1>;
+ #size-cells = <1>;
+ compatible = "lantiq,xway", "lantiq,danube";
+
+ aliases {
+ serial0 = &asc1;
+ };
+
+ chosen {
+ stdout-path = "serial0:115200n8";
+ };
+
+ cpus {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ cpu@0 {
+ compatible = "mips,mips24Kc";
+ reg = <0>;
+ };
+ };
+
+ reboot {
+ compatible = "syscon-reboot";
+
+ regmap = <&rcu0>;
+ offset = <0x10>;
+ mask = <0x40000000>;
+ };
+
+ biu@1f800000 {
+ #address-cells = <1>;
+ #size-cells = <1>;
+ compatible = "lantiq,biu", "simple-bus";
+ reg = <0x1f800000 0x800000>;
+ ranges = <0x0 0x1f800000 0x7fffff>;
+
+ icu0: icu@80200 {
+ #interrupt-cells = <1>;
+ interrupt-controller;
+ compatible = "lantiq,icu";
+ reg = <0x80200 0x28
+ 0x80228 0x28
+ 0x80250 0x28
+ 0x80278 0x28
+ 0x802a0 0x28>;
+ };
+
+ watchdog@803f0 {
+ compatible = "lantiq,wdt";
+ reg = <0x803f0 0x10>;
+ };
+ };
+
+ sram@1f000000 {
+ #address-cells = <1>;
+ #size-cells = <1>;
+ compatible = "lantiq,sram", "simple-bus";
+ reg = <0x1f000000 0x800000>;
+ ranges = <0x0 0x1f000000 0x7fffff>;
+
+ eiu0: eiu@101000 {
+ #interrupt-cells = <1>;
+ interrupt-controller;
+ compatible = "lantiq,eiu-xway";
+ reg = <0x101000 0x1000>;
+ interrupt-parent = <&icu0>;
+ lantiq,eiu-irqs = <166 135 66>;
+ };
+
+ pmu0: pmu@102000 {
+ compatible = "lantiq,pmu-xway";
+ reg = <0x102000 0x1000>;
+ };
+
+ cgu0: cgu@103000 {
+ compatible = "lantiq,cgu-xway";
+ reg = <0x103000 0x1000>;
+ #clock-cells = <1>;
+ };
+
+ vmmc: vmmc@107000 {
+ status = "disabled";
+ compatible = "lantiq,vmmc-xway";
+ reg = <0x107000 0x400>;
+ interrupt-parent = <&icu0>;
+ interrupts = <150 151 152 153 154 155>;
+ };
+
+ rcu0: rcu@203000 {
+ #address-cells = <1>;
+ #size-cells = <1>;
+ compatible = "lantiq,danube-rcu", "simple-mfd", "syscon";
+ reg = <0x203000 0x1000>;
+ ranges = <0x0 0x203000 0x100>;
+ big-endian;
+
+ reset: reset-controller@10 {
+ compatible = "lantiq,danube-reset";
+ reg = <0x10 4>, <0x14 4>;
+
+ #reset-cells = <2>;
+ };
+
+ usb_phy: usb2-phy@18 {
+ compatible = "lantiq,danube-usb2-phy";
+ reg = <0x18 4>;
+ status = "disabled";
+
+ resets = <&reset 4 4>;
+ reset-names = "ctrl";
+ #phy-cells = <0>;
+ };
+ };
+ };
+
+ fpi@10000000 {
+ #address-cells = <1>;
+ #size-cells = <1>;
+ compatible = "lantiq,fpi", "simple-bus";
+ ranges = <0x0 0x10000000 0xeefffff>;
+ reg = <0x10000000 0xef00000>;
+
+ localbus: localbus@0 {
+ #address-cells = <2>;
+ #size-cells = <1>;
+ ranges = <0 0 0x0 0x3ffffff /* addrsel0 */
+ 1 0 0x4000000 0x4000010>; /* addsel1 */
+ compatible = "lantiq,localbus", "simple-bus";
+ };
+
+ gptu@e100a00 {
+ compatible = "lantiq,gptu-xway";
+ reg = <0xe100a00 0x100>;
+ interrupt-parent = <&icu0>;
+ interrupts = <126 127 128 129 130 131>;
+ };
+
+ gpios: stp@e100bb0 {
+ #gpio-cells = <2>;
+ compatible = "lantiq,gpio-stp-xway";
+ gpio-controller;
+ reg = <0xe100bb0 0x40>;
+
+ pinctrl-0 = <&stp_pins>;
+ pinctrl-names = "default";
+
+ lantiq,shadow = <0xfff>;
+ lantiq,groups = <0x3>;
+ status = "disabled";
+ };
+
+ asc0: serial@e100400 {
+ compatible = "lantiq,asc";
+ reg = <0xe100400 0x400>;
+ interrupt-parent = <&icu0>;
+ interrupts = <104 105 106>;
+ status = "disabled";
+ };
+
+ gpio: pinmux@e100b10 {
+ compatible = "lantiq,danube-pinctrl";
+ #gpio-cells = <2>;
+ gpio-controller;
+ reg = <0xe100b10 0xa0>;
+
+ nand_pins: nand {
+ mux-0 {
+ lantiq,groups = "nand cle", "nand ale",
+ "nand rd";
+ lantiq,function = "ebu";
+ lantiq,output = <1>;
+ lantiq,open-drain = <0>;
+ lantiq,pull = <0>;
+ };
+ mux-1 {
+ lantiq,groups = "nand rdy";
+ lantiq,function = "ebu";
+ lantiq,output = <0>;
+ lantiq,pull = <2>;
+ };
+ };
+
+ nand_cs1_pins: nand-cs1 {
+ mux {
+ lantiq,groups = "nand cs1";
+ lantiq,function = "ebu";
+ lantiq,open-drain = <0>;
+ lantiq,pull = <0>;
+ };
+ };
+
+ pci_gnt1_pins: pci-gnt1 {
+ mux {
+ lantiq,groups = "gnt1";
+ lantiq,function = "pci";
+ lantiq,output = <1>;
+ lantiq,open-drain = <0>;
+ lantiq,pull = <0>;
+ };
+ };
+
+ pci_gnt2_pins: pci-gnt2 {
+ mux {
+ lantiq,groups = "gnt2";
+ lantiq,function = "pci";
+ lantiq,output = <1>;
+ lantiq,open-drain = <0>;
+ lantiq,pull = <0>;
+ };
+ };
+
+ pci_req1_pins: pci-req1 {
+ mux {
+ lantiq,groups = "req1";
+ lantiq,function = "pci";
+ lantiq,output = <0>;
+ lantiq,open-drain = <1>;
+ lantiq,pull = <2>;
+ };
+ };
+
+ pci_req2_pins: pci-req2 {
+ mux {
+ lantiq,groups = "req2";
+ lantiq,function = "pci";
+ lantiq,output = <0>;
+ lantiq,open-drain = <1>;
+ lantiq,pull = <2>;
+ };
+ };
+
+ stp_pins: stp {
+ mux {
+ lantiq,groups = "stp";
+ lantiq,function = "stp";
+ lantiq,pull = <0>;
+ lantiq,open-drain = <0>;
+ lantiq,output = <1>;
+ };
+ };
+ };
+
+ asc1: serial@e100c00 {
+ compatible = "lantiq,asc";
+ reg = <0xe100c00 0x400>;
+ interrupt-parent = <&icu0>;
+ interrupts = <112 113 114>;
+ };
+
+ usb: usb@e101000 {
+ compatible = "lantiq,danube-usb";
+ reg = <0xe101000 0x1000
+ 0xe120000 0x3f000>;
+ interrupt-parent = <&icu0>;
+ interrupts = <62>;
+ dr_mode = "host";
+ phys = <&usb_phy>;
+ phy-names = "usb2-phy";
+ status = "disabled";
+ };
+
+ deu@e103100 {
+ compatible = "lantiq,deu-danube";
+ reg = <0xe103100 0xf00>;
+ };
+
+ dma0: dma@e104100 {
+ compatible = "lantiq,dma-xway";
+ reg = <0xe104100 0x800>;
+ };
+
+ ebu0: ebu@e105300 {
+ compatible = "lantiq,ebu-xway";
+ reg = <0xe105300 0x100>;
+ };
+
+ mei@e116000 {
+ compatible = "lantiq,mei-xway";
+ reg = <0xe116000 0x400>;
+ interrupt-parent = <&icu0>;
+ interrupts = <63>;
+ };
+
+ gsw: etop@e180000 {
+ compatible = "lantiq,etop-xway";
+ reg = <0xe180000 0x40000>;
+ interrupt-parent = <&icu0>;
+ interrupts = <73 78>;
+ mac-address = [ 00 11 22 33 44 55 ];
+ };
+
+ ppe@e234000 {
+ compatible = "lantiq,ppe-danube";
+ reg = <0xe234000 0x40000>;
+ interrupt-parent = <&icu0>;
+ interrupts = <96>;
+ };
+
+ pci0: pci@e105400 {
+ status = "disabled";
+
+ #address-cells = <3>;
+ #size-cells = <2>;
+ #interrupt-cells = <1>;
+ compatible = "lantiq,pci-xway";
+ bus-range = <0x0 0x0>;
+ ranges = <0x2000000 0 0x8000000 0x8000000 0 0x2000000 /* pci memory */
+ 0x1000000 0 0x00000000 0xae00000 0 0x200000>; /* io space */
+ reg = <0x7000000 0x8000 /* config space */
+ 0xe105400 0x400>; /* pci bridge */
+ lantiq,bus-clock = <33333333>;
+ interrupt-map-mask = <0xf800 0x0 0x0 0x7>;
+ interrupt-map = <0x7000 0 0 1 &icu0 30 1>; /* slot 14, irq 30 */
+ req-mask = <0x1>; /* GNT1 */
+ };
+ };
+
+ adsl {
+ compatible = "lantiq,adsl-danube";
+ };
+};
diff --git a/target/linux/lantiq/files-4.19/arch/mips/boot/dts/lantiq/danube_arcadyan_arv4510pw.dts b/target/linux/lantiq/files-4.19/arch/mips/boot/dts/lantiq/danube_arcadyan_arv4510pw.dts
new file mode 100644
index 0000000000..19a44d5f6d
--- /dev/null
+++ b/target/linux/lantiq/files-4.19/arch/mips/boot/dts/lantiq/danube_arcadyan_arv4510pw.dts
@@ -0,0 +1,214 @@
+/dts-v1/;
+
+#include "danube.dtsi"
+
+#include <dt-bindings/input/input.h>
+
+/ {
+ compatible = "arcadyan,arv4510pw", "lantiq,xway", "lantiq,danube";
+ model = "Wippies, Elisa";
+
+ chosen {
+ bootargs = "console=ttyLTQ0,115200";
+ };
+
+ aliases {
+ led-boot = &power;
+ led-failsafe = &power2;
+ led-running = &power;
+ led-upgrade = &power;
+
+ led-dsl = &adsl;
+ led-internet = &internet;
+ led-usb = &led_usb;
+ led-usb2 = &led_usb2;
+ led-wifi = &wifi;
+ };
+
+ memory@0 {
+ device_type = "memory";
+ reg = <0x0 0x2000000>;
+ };
+
+ keys {
+ compatible = "gpio-keys-polled";
+ poll-interval = <100>;
+
+ wps {
+ label = "wps";
+ gpios = <&gpio 14 GPIO_ACTIVE_LOW>;
+ linux,code = <KEY_WPS_BUTTON>;
+ };
+ reset {
+ label = "reset";
+ gpios = <&gpio 3 GPIO_ACTIVE_LOW>;
+ linux,code = <KEY_RESTART>;
+ };
+ };
+
+ leds {
+ compatible = "gpio-leds";
+ power: power {
+ label = "power";
+ gpios = <&gpios 21 GPIO_ACTIVE_HIGH>;
+ default-state = "keep";
+ };
+ power2: power2 {
+ label = "power2";
+ gpios = <&gpios 20 GPIO_ACTIVE_HIGH>;
+ };
+ lan1 {
+ label = "lan1";
+ gpios = <&gpios 19 GPIO_ACTIVE_HIGH>;
+ };
+ lan2 {
+ label = "lan2";
+ gpios = <&gpios 18 GPIO_ACTIVE_HIGH>;
+ };
+ lan3 {
+ label = "lan3";
+ gpios = <&gpios 17 GPIO_ACTIVE_HIGH>;
+ };
+ lan4 {
+ label = "lan4";
+ gpios = <&gpios 16 GPIO_ACTIVE_HIGH>;
+ };
+ wifi: wifi {
+ label = "wifi";
+ gpios = <&gpios 15 GPIO_ACTIVE_HIGH>;
+ };
+ adsl: adsl {
+ label = "adsl";
+ gpios = <&gpios 14 GPIO_ACTIVE_HIGH>;
+ };
+ internet: internet {
+ label = "internet";
+ gpios = <&gpios 13 GPIO_ACTIVE_HIGH>;
+ };
+ internet2 {
+ label = "internet2";
+ gpios = <&gpios 12 GPIO_ACTIVE_HIGH>;
+ };
+ voip {
+ label = "voip";
+ gpios = <&gpios 11 GPIO_ACTIVE_HIGH>;
+ };
+ phone {
+ label = "phone";
+ gpios = <&gpios 10 GPIO_ACTIVE_HIGH>;
+ };
+ phone2 {
+ label = "phone2";
+ gpios = <&gpios 9 GPIO_ACTIVE_HIGH>;
+ };
+ led_usb: usb {
+ label = "usb";
+ gpios = <&gpios 8 GPIO_ACTIVE_HIGH>;
+ };
+ led_usb2: usb2 {
+ label = "usb2";
+ gpios = <&gpios 7 GPIO_ACTIVE_HIGH>;
+ };
+ usb3 {
+ label = "usb3";
+ gpios = <&gpios 6 GPIO_ACTIVE_HIGH>;
+ };
+ unlabeled {
+ label = "unlabeled";
+ gpios = <&gpios 5 GPIO_ACTIVE_HIGH>;
+ };
+ };
+};
+
+&gpio {
+ pinctrl-names = "default";
+ pinctrl-0 = <&state_default>;
+
+ state_default: pinmux {
+ ebu {
+ lantiq,groups = "ebu a23";
+ lantiq,function = "ebu";
+ lantiq,open-drain = <0>;
+ lantiq,output = <1>;
+ };
+ exin {
+ lantiq,groups = "exin1", "exin2";
+ lantiq,function = "exin";
+ lantiq,output = <0>;
+ };
+ pci_rst {
+ lantiq,pins = "io21";
+ lantiq,open-drain = <0>;
+ lantiq,output = <1>;
+ };
+ buttons {
+ lantiq,pins = "io3", "io14";
+ lantiq,pull = <2>;
+ lantiq,output = <0>;
+ };
+ };
+};
+
+&gpios {
+ status = "okay";
+ lantiq,groups = <0x7>;
+};
+
+&gsw {
+ phy-mode = "rmii";
+};
+
+&localbus {
+ flash@0 {
+ compatible = "lantiq,nor";
+ bank-width = <2>;
+ reg = <0 0x0 0x1000000>;
+
+ lantiq,noxip;
+
+ 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>;
+ read-only;
+ };
+
+ partition@60000 {
+ label = "firmware";
+ reg = <0x60000 0xfa0000>;
+ };
+ };
+ };
+};
+
+&pci0 {
+ status = "okay";
+
+ pinctrl-0 = <&pci_gnt1_pins>, <&pci_gnt2_pins>,
+ <&pci_req1_pins>, <&pci_req2_pins>;
+ pinctrl-names = "default";
+
+ lantiq,external-clock;
+ interrupt-map = <
+ 0x6000 0 0 1 &icu0 135
+ 0x7800 0 0 1 &icu0 66
+ 0x7800 0 0 2 &icu0 66
+ 0x7800 0 0 3 &icu0 66
+ >;
+ gpio-reset = <&gpio 21 GPIO_ACTIVE_HIGH>;
+ req-mask = <0x7>;
+};
+
+&vmmc {
+ status = "okay";
+};
diff --git a/target/linux/lantiq/files-4.19/arch/mips/boot/dts/lantiq/danube_arcadyan_arv4518pwr01.dts b/target/linux/lantiq/files-4.19/arch/mips/boot/dts/lantiq/danube_arcadyan_arv4518pwr01.dts
new file mode 100644
index 0000000000..ff34068005
--- /dev/null
+++ b/target/linux/lantiq/files-4.19/arch/mips/boot/dts/lantiq/danube_arcadyan_arv4518pwr01.dts
@@ -0,0 +1,8 @@
+/dts-v1/;
+
+#include "danube_arcadyan_arv4518pwr01.dtsi"
+
+/ {
+ compatible = "arcadyan,arv4518pwr01", "lantiq,xway", "lantiq,danube";
+ model = "SMC7908A-ISP";
+};
diff --git a/target/linux/lantiq/files-4.19/arch/mips/boot/dts/lantiq/danube_arcadyan_arv4518pwr01.dtsi b/target/linux/lantiq/files-4.19/arch/mips/boot/dts/lantiq/danube_arcadyan_arv4518pwr01.dtsi
new file mode 100644
index 0000000000..dcae06d894
--- /dev/null
+++ b/target/linux/lantiq/files-4.19/arch/mips/boot/dts/lantiq/danube_arcadyan_arv4518pwr01.dtsi
@@ -0,0 +1,200 @@
+#include "danube.dtsi"
+
+#include <dt-bindings/input/input.h>
+
+/ {
+ chosen {
+ bootargs = "console=ttyLTQ0,115200";
+ };
+
+ aliases {
+ led-boot = &power;
+ led-failsafe = &power;
+ led-running = &power;
+ led-upgrade = &power;
+
+ led-dsl = &dsl;
+ led-internet = &online;
+ led-usb = &led_usb;
+ led-wifi = &wifi;
+ };
+
+ memory@0 {
+ device_type = "memory";
+ reg = <0x0 0x4000000>;
+ };
+
+ ath5k_eep {
+ compatible = "ath5k,eeprom";
+ ath,eep-flash = <&boardconfig 0x400>;
+ ath,mac-offset = <0x16>;
+ ath,mac-increment = <1>;
+ ath,eep-swap;
+ };
+
+ keys {
+ compatible = "gpio-keys-polled";
+ poll-interval = <100>;
+
+ rfkill {
+ label = "rfkill";
+ gpios = <&gpio 28 GPIO_ACTIVE_LOW>;
+ linux,code = <KEY_RFKILL>;
+ };
+ reset {
+ label = "reset";
+ gpios = <&gpio 30 GPIO_ACTIVE_LOW>;
+ linux,code = <KEY_RESTART>;
+ };
+ };
+
+ leds {
+ compatible = "gpio-leds";
+ power: power {
+ label = "power";
+ gpios = <&gpio 3 GPIO_ACTIVE_HIGH>;
+ default-state = "keep";
+ };
+ dsl: dsl {
+ label = "dsl";
+ gpios = <&gpio 4 GPIO_ACTIVE_LOW>;
+ };
+ online: online {
+ label = "online";
+ gpios = <&gpio 5 GPIO_ACTIVE_LOW>;
+ };
+ wifi: wifi {
+ label = "wifi";
+ gpios = <&gpio 6 GPIO_ACTIVE_LOW>;
+ };
+ wps {
+ label = "wps";
+ gpios = <&gpio 7 GPIO_ACTIVE_LOW>;
+ };
+ dsl2 {
+ label = "dsl2";
+ gpios = <&gpio 8 GPIO_ACTIVE_LOW>;
+ };
+ led_usb: usb {
+ label = "usb";
+ gpios = <&gpio 19 GPIO_ACTIVE_LOW>;
+ };
+ voice {
+ label = "voice";
+ gpios = <&gpiomm 0 GPIO_ACTIVE_LOW>;
+ };
+ fxs1 {
+ label = "fxs1";
+ gpios = <&gpiomm 1 GPIO_ACTIVE_LOW>;
+ };
+ fxs2 {
+ label = "fxs2";
+ gpios = <&gpiomm 2 GPIO_ACTIVE_LOW>;
+ };
+ fxo {
+ label = "fxo";
+ gpios = <&gpiomm 3 GPIO_ACTIVE_LOW>;
+ };
+ };
+
+ usb_vbus: regulator-usb-vbus {
+ compatible = "regulator-fixed";
+
+ regulator-name = "USB_VBUS";
+
+ regulator-min-microvolt = <5000000>;
+ regulator-max-microvolt = <5000000>;
+
+ gpio = <&gpio 14 GPIO_ACTIVE_HIGH>;
+ enable-active-high;
+ };
+};
+
+&gpio {
+ pinctrl-names = "default";
+ pinctrl-0 = <&state_default>;
+
+ state_default: pinmux {
+ ebu {
+ lantiq,groups = "ebu cs1";
+ lantiq,function = "ebu";
+ };
+ };
+};
+
+&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 0x10000>; /* 64 KB */
+ read-only;
+ };
+
+ partition@10000 {
+ label = "uboot_env";
+ reg = <0x10000 0x10000>; /* 64 KB */
+ read-only;
+ };
+
+ partition@20000 {
+ label = "firmware";
+ reg = <0x20000 0x3d0000>;
+ };
+
+ boardconfig: partition@400000 {
+ label = "boardconfig";
+ reg = <0x3f0000 0x10000>;
+ read-only;
+ };
+ };
+ };
+
+ gpiomm: gpio@1 {
+ compatible = "lantiq,gpio-mm";
+ reg = <1 0x0 0x10 >;
+ #address-cells = <1>;
+ #size-cells = <1>;
+ #gpio-cells = <2>;
+ gpio-controller;
+ lantiq,shadow = <0x0>;
+ };
+};
+
+&pci0 {
+ status = "okay";
+
+ pinctrl-0 = <&pci_gnt1_pins>, <&pci_gnt2_pins>,
+ <&pci_req1_pins>, <&pci_req2_pins>;
+ pinctrl-names = "default";
+
+ gpio-reset = <&gpio 21 GPIO_ACTIVE_HIGH>;
+ req-mask = <0xf>;
+};
+
+&usb_phy {
+ status = "okay";
+};
+
+&usb {
+ status = "okay";
+ vbus-supply = <&usb_vbus>;
+};
+
+&vmmc {
+ status = "okay";
+ gpios = <&gpio 31 GPIO_ACTIVE_HIGH>;
+};
diff --git a/target/linux/lantiq/files-4.19/arch/mips/boot/dts/lantiq/danube_arcadyan_arv4518pwr01a.dts b/target/linux/lantiq/files-4.19/arch/mips/boot/dts/lantiq/danube_arcadyan_arv4518pwr01a.dts
new file mode 100644
index 0000000000..b261a2fa91
--- /dev/null
+++ b/target/linux/lantiq/files-4.19/arch/mips/boot/dts/lantiq/danube_arcadyan_arv4518pwr01a.dts
@@ -0,0 +1,12 @@
+/dts-v1/;
+
+#include "danube_arcadyan_arv4518pwr01.dtsi"
+
+/ {
+ compatible = "arcadyan,arv4518pwr01a", "lantiq,xway", "lantiq,danube";
+ model = "SMC7908A-ISP, Airties WAV-221";
+};
+
+&pci0 {
+ lantiq,external-clock;
+};
diff --git a/target/linux/lantiq/files-4.19/arch/mips/boot/dts/lantiq/danube_arcadyan_arv4519pw.dts b/target/linux/lantiq/files-4.19/arch/mips/boot/dts/lantiq/danube_arcadyan_arv4519pw.dts
new file mode 100644
index 0000000000..8e5301ddc9
--- /dev/null
+++ b/target/linux/lantiq/files-4.19/arch/mips/boot/dts/lantiq/danube_arcadyan_arv4519pw.dts
@@ -0,0 +1,205 @@
+/dts-v1/;
+
+#include "danube.dtsi"
+
+#include <dt-bindings/input/input.h>
+
+/ {
+ compatible = "arcadyan,arv4519pw", "lantiq,xway", "lantiq,danube";
+ model = "Vodafone Netfaster IAD 2, Pirelli P.RG A4201G";
+
+ chosen {
+ bootargs = "console=ttyLTQ0,115200";
+ };
+
+ aliases {
+ led-boot = &power_green;
+ led-failsafe = &power_red;
+ led-running = &power_green;
+ led-upgrade = &power_green;
+
+ led-dsl = &dsl;
+ led-internet = &internet_green;
+ led-usb = &led_usb;
+ led-wifi = &wifi;
+ };
+
+ memory@0 {
+ device_type = "memory";
+ reg = <0x0 0x2000000>;
+ };
+
+ keys {
+ compatible = "gpio-keys-polled";
+ poll-interval = <100>;
+
+ rfkill {
+ label = "rfkill";
+ gpios = <&gpio 28 GPIO_ACTIVE_LOW>;
+ linux,code = <KEY_RFKILL>;
+ };
+ reset {
+ label = "reset";
+ gpios = <&gpio 30 GPIO_ACTIVE_LOW>;
+ linux,code = <KEY_RESTART>;
+ };
+ };
+
+ leds {
+ compatible = "gpio-leds";
+
+ power_green: power {
+ label = "arv4519pw:green:power";
+ gpios = <&gpio 2 GPIO_ACTIVE_LOW>;
+ default-state = "keep";
+ };
+ power_red: power2 {
+ label = "arv4519pw:red:power";
+ gpios = <&gpio 7 GPIO_ACTIVE_LOW>;
+ };
+ wifi: wifi {
+ label = "arv4519pw:green:wlan";
+ gpios = <&gpio 6 GPIO_ACTIVE_LOW>;
+ };
+ dsl: dsl {
+ label = "arv4519pw:green:dsl";
+ gpios = <&gpio 4 GPIO_ACTIVE_LOW>;
+ };
+ internet_green: online {
+ label = "arv4519pw:green:internet";
+ gpios = <&gpio 5 GPIO_ACTIVE_LOW>;
+ };
+ online2 {
+ label = "arv4519pw:red:internet";
+ gpios = <&gpio 8 GPIO_ACTIVE_LOW>;
+ };
+ led_usb: usb {
+ label = "arv4519pw:green:usb";
+ gpios = <&gpio 19 GPIO_ACTIVE_LOW>;
+ };
+ voip {
+ label = "arv4519pw:green:voip";
+ gpios = <&gpiomm 0 GPIO_ACTIVE_LOW>;
+ };
+ fxs1 {
+ label = "arv4519pw:green:phone1";
+ gpios = <&gpiomm 1 GPIO_ACTIVE_LOW>;
+ };
+ fxs2 {
+ label = "arv4519pw:green:phone2";
+ gpios = <&gpiomm 2 GPIO_ACTIVE_LOW>;
+ };
+ fxo {
+ label = "arv4519pw:green:line";
+ gpios = <&gpiomm 3 GPIO_ACTIVE_LOW>;
+ };
+ wps2 {
+ label = "arv4519pw:green:wps";
+ gpios = <&gpiomm 4 GPIO_ACTIVE_LOW>;
+ };
+ wps {
+ label = "arv4519pw:orange:wps";
+ gpios = <&gpiomm 5 GPIO_ACTIVE_LOW>;
+ };
+ wps3 {
+ label = "arv4519pw:red:wps";
+ gpios = <&gpiomm 6 GPIO_ACTIVE_LOW>;
+ };
+ };
+
+ usb_vbus: regulator-usb-vbus {
+ compatible = "regulator-fixed";
+
+ regulator-name = "USB_VBUS";
+
+ regulator-min-microvolt = <5000000>;
+ regulator-max-microvolt = <5000000>;
+
+ gpio = <&gpio 14 GPIO_ACTIVE_HIGH>;
+ enable-active-high;
+ };
+};
+
+&gpio {
+ pinctrl-names = "default";
+ pinctrl-0 = <&state_default>;
+
+ state_default: pinmux {
+ ebu {
+ lantiq,groups = "ebu cs1";
+ lantiq,function = "ebu";
+ };
+ };
+};
+
+&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 0x10000>;
+ read-only;
+ };
+
+ partition@10000 {
+ label = "uboot_env";
+ reg = <0x10000 0x10000>;
+ };
+
+ partition@20000 {
+ label = "firmware";
+ reg = <0x20000 0x3d0000>;
+ };
+
+ boardconfig: partition@3f0000 {
+ label = "boardconfig";
+ reg = <0x3f0000 0x10000>;
+ read-only;
+ };
+ };
+ };
+
+ gpiomm: gpio@1 {
+ compatible = "lantiq,gpio-mm";
+ reg = <1 0x0 0x10 >;
+ #address-cells = <1>;
+ #size-cells = <1>;
+ #gpio-cells = <2>;
+ gpio-controller;
+ lantiq,shadow = <0x400>;
+ };
+};
+
+&pci0 {
+ status = "okay";
+ lantiq,external-clock;
+ gpio-reset = <&gpio 21 GPIO_ACTIVE_HIGH>;
+ req-mask = <0xf>;
+};
+
+&usb_phy {
+ status = "okay";
+};
+
+&usb {
+ status = "okay";
+ vbus-supply = <&usb_vbus>;
+};
+
+&vmmc {
+ status = "okay";
+ gpios = <&gpio 31 GPIO_ACTIVE_HIGH>;
+};
diff --git a/target/linux/lantiq/files-4.19/arch/mips/boot/dts/lantiq/danube_arcadyan_arv4520pw.dts b/target/linux/lantiq/files-4.19/arch/mips/boot/dts/lantiq/danube_arcadyan_arv4520pw.dts
new file mode 100644
index 0000000000..b59477cb19
--- /dev/null
+++ b/target/linux/lantiq/files-4.19/arch/mips/boot/dts/lantiq/danube_arcadyan_arv4520pw.dts
@@ -0,0 +1,222 @@
+/dts-v1/;
+
+#include "danube.dtsi"
+
+#include <dt-bindings/input/input.h>
+
+/ {
+ compatible = "arcadyan,arv4520pw", "lantiq,xway", "lantiq,danube";
+ model = "Easybox 800, WAV-281";
+
+ chosen {
+ bootargs = "console=ttyLTQ0,115200";
+ };
+
+ aliases {
+ led-boot = &power_blue;
+ led-failsafe = &power_red;
+ led-running = &power_blue;
+ led-upgrade = &power_blue;
+
+ led-dsl = &dsl;
+ led-internet = &internet_blue;
+ led-usb = &led_usb;
+ led-wifi = &wifi;
+ };
+
+ memory@0 {
+ device_type = "memory";
+ reg = <0x0 0x2000000>;
+ };
+
+ keys {
+ compatible = "gpio-keys-polled";
+ poll-interval = <100>;
+
+ rfkill {
+ label = "wps";
+ gpios = <&gpio 29 GPIO_ACTIVE_LOW>;
+ linux,code = <KEY_WPS_BUTTON>;
+ };
+ reset {
+ label = "reset";
+ gpios = <&gpio 30 GPIO_ACTIVE_LOW>;
+ linux,code = <KEY_RESTART>;
+ };
+ };
+
+ leds {
+ compatible = "gpio-leds";
+
+ power_blue: power {
+ label = "arv4520pw:blue:power";
+ gpios = <&gpio 3 GPIO_ACTIVE_LOW>;
+ default-state = "keep";
+ };
+ dsl: dsl {
+ label = "arv4520pw:blue:dsl";
+ gpios = <&gpio 4 GPIO_ACTIVE_LOW>;
+ };
+ internet_blue: internet {
+ label = "arv4520pw:blue:internet";
+ gpios = <&gpio 5 GPIO_ACTIVE_LOW>;
+ };
+ power_red: power2 {
+ label = "arv4520pw:red:power";
+ gpios = <&gpio 6 GPIO_ACTIVE_LOW>;
+ };
+ wps {
+ label = "arv4520pw:yellow:wps";
+ gpios = <&gpio 7 GPIO_ACTIVE_LOW>;
+ };
+ wps2 {
+ label = "arv4520pw:red:wps";
+ gpios = <&gpio 9 GPIO_ACTIVE_LOW>;
+ };
+ /*
+ wps green is missing
+ */
+ fxs1 {
+ label = "arv4520pw:blue:telefon1";
+ gpios = <&gpiomm 0 GPIO_ACTIVE_LOW>;
+ };
+ fxs2 {
+ label = "arv4520pw:blue:telefon2";
+ gpios = <&gpiomm 1 GPIO_ACTIVE_LOW>;
+ };
+ isdn {
+ label = "arv4520pw:blue:isdn";
+ gpios = <&gpiomm 2 GPIO_ACTIVE_LOW>;
+ };
+ fxo {
+ label = "arv4520pw:blue:line";
+ gpios = <&gpiomm 3 GPIO_ACTIVE_LOW>;
+ };
+ voice {
+ label = "arv4520pw:blue:sprache";
+ gpios = <&gpiomm 4 GPIO_ACTIVE_LOW>;
+ };
+ led_usb: usb {
+ label = "arv4520pw:blue:usb";
+ gpios = <&gpiomm 5 GPIO_ACTIVE_LOW>;
+ };
+ wifi: wifi {
+ label = "arv4520pw:blue:wifi";
+ gpios = <&gpiomm 6 GPIO_ACTIVE_LOW>;
+ };
+ internet2 {
+ label = "arv4520pw:red:internet";
+ gpios = <&gpiomm 9 GPIO_ACTIVE_LOW>;
+ };
+ /*
+ info is missing
+ */
+ };
+
+ usb_vbus: regulator-usb-vbus {
+ compatible = "regulator-fixed";
+
+ regulator-name = "USB_VBUS";
+
+ regulator-min-microvolt = <5000000>;
+ regulator-max-microvolt = <5000000>;
+
+ gpio = <&gpio 28 GPIO_ACTIVE_HIGH>;
+ enable-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,open-drain = <0>;
+ lantiq,pull = <0>;
+ };
+ };
+};
+
+&gsw {
+ /* gpiomm 10 - switch */
+ phy-mode = "rmii";
+ mtd-mac-address = <&boardconfig 0x16>;
+};
+
+&localbus {
+ flash@0 {
+ compatible = "lantiq,nor";
+ bank-width = <2>;
+ reg = <0 0x0 0x800000>;
+
+ partitions {
+ compatible = "fixed-partitions";
+ #address-cells = <1>;
+ #size-cells = <1>;
+
+ partition@0 {
+ label = "uboot";
+ reg = <0x00000 0x20000>;
+ read-only;
+ };
+
+ partition@20000 {
+ label = "uboot_env";
+ reg = <0x20000 0x10000>;
+ read-only;
+ };
+
+ partition@30000 {
+ label = "firmware";
+ reg = <0x30000 0x3c0000>;
+ };
+
+ boardconfig: partition@7f0000 {
+ label = "boardconfig";
+ reg = <0x3f0000 0x10000>;
+ read-only;
+ };
+ };
+ };
+
+ gpiomm: gpio@1 {
+ compatible = "lantiq,gpio-mm";
+ reg = <1 0x0 0x10 >;
+ #address-cells = <1>;
+ #size-cells = <1>;
+ #gpio-cells = <2>;
+ gpio-controller;
+ lantiq,shadow = <0x400>;
+ };
+};
+
+&pci0 {
+ status = "okay";
+
+ pinctrl-0 = <&pci_gnt1_pins>, <&pci_req1_pins>;
+ pinctrl-names = "default";
+
+ lantiq,external-clock;
+ gpio-reset = <&gpio 21 GPIO_ACTIVE_HIGH>;
+};
+
+&usb_phy {
+ status = "okay";
+};
+
+&usb {
+ status = "okay";
+ vbus-supply = <&usb_vbus>;
+};
+
+&vmmc {
+ status = "okay";
+ gpios = <&gpio 31 GPIO_ACTIVE_HIGH
+ &gpiomm 7 GPIO_ACTIVE_HIGH>;
+};
diff --git a/target/linux/lantiq/files-4.19/arch/mips/boot/dts/lantiq/danube_arcadyan_arv4525pw.dts b/target/linux/lantiq/files-4.19/arch/mips/boot/dts/lantiq/danube_arcadyan_arv4525pw.dts
new file mode 100644
index 0000000000..cceb42164e
--- /dev/null
+++ b/target/linux/lantiq/files-4.19/arch/mips/boot/dts/lantiq/danube_arcadyan_arv4525pw.dts
@@ -0,0 +1,151 @@
+/dts-v1/;
+
+#include "danube.dtsi"
+
+#include <dt-bindings/input/input.h>
+
+/ {
+ compatible = "arcadyan,arv4525pw", "lantiq,xway", "lantiq,danube";
+ model = "Speedport W501V Typ A";
+
+ chosen {
+ bootargs = "console=ttyLTQ0,115200";
+ };
+
+ aliases {
+ /* we dont have a power led, lets use the online led */
+ led-boot = &online;
+ led-failsafe = &online;
+
+ led-dsl = &dsl;
+ led-internet = &online;
+ led-wifi = &wifi;
+ };
+
+ memory@0 {
+ device_type = "memory";
+ reg = <0x0 0x2000000>;
+ };
+
+ ath5k_eep {
+ compatible = "ath5k,eeprom";
+ ath,eep-flash = <&boardconfig 0x400>;
+ ath,mac-offset = <0x0>;
+ ath,eep-swap;
+ };
+
+ keys {
+ compatible = "gpio-keys-polled";
+ poll-interval = <100>;
+
+ wps {
+ label = "wps";
+ gpios = <&gpio 29 GPIO_ACTIVE_LOW>;
+ linux,code = <KEY_WPS_BUTTON>;
+ };
+ reset {
+ label = "reset";
+ gpios = <&gpio 30 GPIO_ACTIVE_LOW>;
+ linux,code = <KEY_RESTART>;
+ };
+ };
+
+ leds {
+ compatible = "gpio-leds";
+ fxo {
+ label = "arv4525pw:green:festnetz";
+ gpios = <&gpio 4 GPIO_ACTIVE_LOW>;
+ };
+ fxs {
+ label = "arv4525pw:green:internet";
+ gpios = <&gpio 5 GPIO_ACTIVE_LOW>;
+ };
+ dsl: dsl {
+ label = "arv4525pw:green:t-dsl";
+ gpios = <&gpio 6 GPIO_ACTIVE_LOW>;
+ };
+ wifi: wifi {
+ label = "arv4525pw:green:wlan";
+ gpios = <&gpio 8 GPIO_ACTIVE_LOW>;
+ };
+ online: online {
+ label = "arv4525pw:green:online";
+ gpios = <&gpio 9 GPIO_ACTIVE_LOW>;
+ };
+ };
+};
+
+&gpio {
+ pinctrl-names = "default";
+ pinctrl-0 = <&state_default>;
+
+ state_default: pinmux {
+ pci_rst {
+ lantiq,pins = "io21";
+ lantiq,pull = <2>;
+ lantiq,output = <1>;
+ };
+ relay {
+ lantiq,pins = "io31";
+ lantiq,output = <1>;
+ };
+ };
+};
+
+/* #define ARV4525PW_PHYRESET 13 */
+&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 0x10000>;
+ read-only;
+ };
+
+ partition@10000 {
+ label = "uboot_env";
+ reg = <0x10000 0x10000>;
+ read-only;
+ };
+
+ partition@20000 {
+ label = "firmware";
+ reg = <0x20000 0x3d0000>;
+ };
+
+ boardconfig: partition@400000 {
+ label = "boardconfig";
+ reg = <0x3f0000 0x10000>;
+ read-only;
+ };
+ };
+ };
+};
+
+&pci0 {
+ status = "okay";
+
+ pinctrl-0 = <&pci_gnt1_pins>, <&pci_req1_pins>;
+ pinctrl-names = "default";
+
+ gpio-reset = <&gpio 21 GPIO_ACTIVE_HIGH>;
+};
+
+/* #define ARV4525PW_RELAY 31 */
+&vmmc {
+ status = "okay";
+ gpios = <&gpio 31 GPIO_ACTIVE_HIGH>;
+};
diff --git a/target/linux/lantiq/files-4.19/arch/mips/boot/dts/lantiq/danube_arcadyan_arv452cqw.dts b/target/linux/lantiq/files-4.19/arch/mips/boot/dts/lantiq/danube_arcadyan_arv452cqw.dts
new file mode 100644
index 0000000000..eecff4bb0b
--- /dev/null
+++ b/target/linux/lantiq/files-4.19/arch/mips/boot/dts/lantiq/danube_arcadyan_arv452cqw.dts
@@ -0,0 +1,240 @@
+/dts-v1/;
+
+#include "danube.dtsi"
+
+#include <dt-bindings/input/input.h>
+
+/ {
+ compatible = "arcadyan,arv452cqw", "lantiq,xway", "lantiq,danube";
+ model = "Arcor 801";
+
+ chosen {
+ bootargs = "console=ttyLTQ0,115200";
+ };
+
+ aliases {
+ led-boot = &power_blue;
+ led-failsafe = &power_red;
+ led-running = &power_blue;
+ led-upgrade = &power_blue;
+
+ led-dsl = &dsl_blue;
+ led-usb = &led_usb;
+ led-wifi = &wifi;
+ };
+
+ memory@0 {
+ device_type = "memory";
+ reg = <0x0 0x2000000>;
+ };
+
+ ath5k_eep {
+ compatible = "ath5k,eeprom";
+ ath,eep-flash = <&boardconfig 0x400>;
+ ath,mac-offset = <0x0>;
+ ath,eep-swap;
+ };
+
+ keys {
+ compatible = "gpio-keys-polled";
+ poll-interval = <100>;
+
+ rfkill {
+ label = "rfkill";
+ gpios = <&gpio 11 GPIO_ACTIVE_LOW>;
+ linux,code = <KEY_RFKILL>;
+ };
+ wps {
+ label = "wps";
+ gpios = <&gpio 29 GPIO_ACTIVE_LOW>;
+ linux,code = <KEY_WPS_BUTTON>;
+ };
+ reset {
+ label = "reset";
+ gpios = <&gpio 30 GPIO_ACTIVE_LOW>;
+ linux,code = <KEY_RESTART>;
+ };
+ };
+
+ leds {
+ compatible = "gpio-leds";
+ power_blue: power0 {
+ label = "arv452cqw:blue:power";
+ gpios = <&gpio 3 GPIO_ACTIVE_LOW>;
+ default-state = "keep";
+ };
+ dsl_blue: dsl {
+ label = "arv452cqw:blue:dsl";
+ gpios = <&gpio 4 GPIO_ACTIVE_LOW>;
+ };
+ isdn {
+ label = "arv452cqw:blue:isdn";
+ gpios = <&gpio 5 GPIO_ACTIVE_LOW>;
+ };
+ power_red: power1 {
+ label = "arv452cqw:red:power";
+ gpios = <&gpio 6 GPIO_ACTIVE_LOW>;
+ };
+ wps {
+ label = "arv452cqw:blue:wps";
+ gpios = <&gpio 7 GPIO_ACTIVE_LOW>;
+ };
+ wps1 {
+ label = "arv452cqw:yellow:wps";
+ gpios = <&gpio 9 GPIO_ACTIVE_LOW>;
+ };
+ fxs1 {
+ label = "arv452cqw:blue:telefon1";
+ gpios = <&gpiomm 0 GPIO_ACTIVE_LOW>;
+ };
+ fxs2 {
+ label = "arv452cqw:blue:telefon2";
+ gpios = <&gpiomm 1 GPIO_ACTIVE_LOW>;
+ };
+ wps2 {
+ label = "arv452cqw:red:wps";
+ gpios = <&gpiomm 2 GPIO_ACTIVE_LOW>;
+ };
+ fxo {
+ label = "arv452cqw:blue:line";
+ gpios = <&gpiomm 3 GPIO_ACTIVE_LOW>;
+ };
+ voice {
+ label = "arv452cqw:blue:sprache";
+ gpios = <&gpiomm 4 1>;
+ };
+ led_usb: usb {
+ label = "arv452cqw:blue:usb";
+ gpios = <&gpiomm 5 GPIO_ACTIVE_LOW>;
+ };
+ wifi: wifi {
+ label = "arv452cqw:blue:wlan";
+ gpios = <&gpiomm 6 GPIO_ACTIVE_LOW>;
+ };
+ /*
+ internet blue and internet red are missing
+ dsl2 and dsl3 are not referenced in manual
+ */
+ dsl2 {
+ label = "arv452cqw:yellow:dsl";
+ gpios = <&gpiomm 8 GPIO_ACTIVE_LOW>;
+ };
+ dsl3 {
+ label = "arv452cqw:red:dsl";
+ gpios = <&gpiomm 9 GPIO_ACTIVE_LOW>;
+ };
+ };
+
+ usb_vbus: regulator-usb-vbus {
+ compatible = "regulator-fixed";
+
+ regulator-name = "USB_VBUS";
+
+ regulator-min-microvolt = <5000000>;
+ regulator-max-microvolt = <5000000>;
+
+ gpio = <&gpio 28 GPIO_ACTIVE_HIGH>;
+ enable-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 = <0>;
+ lantiq,output = <1>;
+ };
+ leds {
+ lantiq,pins = "io3", "io5", "io6", "io7", "io9";
+ lantiq,output = <1>;
+ };
+ };
+};
+
+/*
+#define ARV452CPW_SWITCH_RESET 110
+*/
+&gsw {
+ phy-mode = "rmii";
+ mtd-mac-address = <&boardconfig 0x16>;
+};
+
+&localbus {
+ flash@0 {
+ compatible = "lantiq,nor";
+ bank-width = <2>;
+ reg = <0 0x0 0x400000>;
+
+ partitions {
+ compatible = "fixed-partitions";
+ #address-cells = <1>;
+ #size-cells = <1>;
+
+ partition@0 {
+ label = "uboot";
+ reg = <0x00000 0x10000>;
+ read-only;
+ };
+
+ partition@10000 {
+ label = "uboot_env";
+ reg = <0x10000 0x10000>;
+ read-only;
+ };
+
+ partition@20000 {
+ label = "firmware";
+ reg = <0x20000 0x3d0000>;
+ };
+
+ boardconfig: partition@3f0000 {
+ label = "boardconfig";
+ reg = <0x3f0000 0x10000>;
+ read-only;
+ };
+ };
+ };
+
+ gpiomm: gpio@1 {
+ compatible = "lantiq,gpio-mm";
+ reg = <1 0x0 0x10 >;
+ #address-cells = <1>;
+ #size-cells = <1>;
+ #gpio-cells = <2>;
+ gpio-controller;
+ lantiq,shadow = <0x77f>;
+ };
+};
+
+&pci0 {
+ status = "okay";
+
+ pinctrl-0 = <&pci_gnt1_pins>, <&pci_req1_pins>;
+ pinctrl-names = "default";
+
+ lantiq,external-clock;
+ gpio-reset = <&gpio 21 GPIO_ACTIVE_HIGH>;
+};
+
+&usb_phy {
+ status = "okay";
+};
+
+&usb {
+ status = "okay";
+ vbus-supply = <&usb_vbus>;
+};
+
+&vmmc {
+ status = "okay";
+ gpios = <&gpio 31 GPIO_ACTIVE_HIGH
+ &gpiomm 7 GPIO_ACTIVE_HIGH>;
+};
diff --git a/target/linux/lantiq/files-4.19/arch/mips/boot/dts/lantiq/danube_arcadyan_arv7506pw11.dts b/target/linux/lantiq/files-4.19/arch/mips/boot/dts/lantiq/danube_arcadyan_arv7506pw11.dts
new file mode 100644
index 0000000000..9e4216033b
--- /dev/null
+++ b/target/linux/lantiq/files-4.19/arch/mips/boot/dts/lantiq/danube_arcadyan_arv7506pw11.dts
@@ -0,0 +1,162 @@
+/dts-v1/;
+
+#include "danube.dtsi"
+
+#include <dt-bindings/input/input.h>
+
+/ {
+ compatible = "arcadyan,arv7506pw11", "lantiq,xway", "lantiq,danube";
+ model = "Alice/O2 IAD 4421";
+
+ chosen {
+ bootargs = "console=ttyLTQ0,115200";
+ };
+
+ aliases {
+ led-boot = &power;
+ led-failsafe = &power_red;
+ led-running = &power;
+ led-upgrade = &power;
+
+ led-dsl = &dsl;
+ led-internet = &internet;
+ led-wifi = &wlan;
+ };
+
+ 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 30 GPIO_ACTIVE_LOW>;
+ linux,code = <KEY_RESTART>;
+ };
+ };
+
+ leds {
+ compatible = "gpio-leds";
+ wlan: wlan {
+ label = "arv7506pw11:green:wlan";
+ gpios = <&gpio 2 GPIO_ACTIVE_LOW>;
+ };
+ power: power {
+ label = "arv7506pw11:green:power";
+ gpios = <&gpio 3 GPIO_ACTIVE_LOW>;
+ default-state = "keep";
+ };
+ dsl: dsl {
+ label = "arv7506pw11:green:dsl";
+ gpios = <&gpio 4 GPIO_ACTIVE_LOW>;
+ };
+ internet: internet {
+ label = "arv7506pw11:green:internet";
+ gpios = <&gpio 5 GPIO_ACTIVE_LOW>;
+ };
+ power_red: power_red {
+ label = "arv7506pw11:red:power";
+ gpios = <&gpio 6 GPIO_ACTIVE_LOW>;
+ };
+ internet_red {
+ label = "arv7506pw11:red:internet";
+ gpios = <&gpio 7 GPIO_ACTIVE_LOW>;
+ };
+ info {
+ label = "arv7506pw11:green:info";
+ gpios = <&gpio 8 GPIO_ACTIVE_LOW>;
+ };
+ telefon {
+ label = "arv7506pw11:green:telefon";
+ gpios = <&gpio 9 GPIO_ACTIVE_LOW>;
+ };
+ info_red {
+ label = "arv7506pw11:red:info";
+ gpios = <&gpio 20 GPIO_ACTIVE_LOW>;
+ };
+ };
+};
+
+&gpio {
+ pinctrl-names = "default";
+ pinctrl-0 = <&state_default>;
+
+ state_default: pinmux {
+ pci_rst {
+ lantiq,pins = "io21";
+ lantiq,pull = <2>;
+ lantiq,output = <1>;
+ };
+ };
+};
+
+/* GPIO 19: switch reset */
+&gsw {
+ phy-mode = "rmii";
+ mtd-mac-address = <&boardconfig 0x16>;
+};
+
+&localbus {
+ flash@0 {
+ compatible = "lantiq,nor";
+ bank-width = <2>;
+ reg = <0 0x0 0x800000>;
+
+ 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 0x10000>;
+ read-only;
+ };
+
+ partition@50000 {
+ label = "firmware";
+ reg = <0x50000 0x7a0000>;
+ };
+
+ boardconfig: partition@7f0000 {
+ label = "board_config";
+ reg = <0x7f0000 0x10000>;
+ 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>;
+
+ wifi@1814,3592 {
+ compatible = "pci1814,3592";
+ reg = <0x7000 0 0 0 0>;
+ ralink,mtd-eeprom = <&boardconfig 0x410>;
+ ralink,mtd-eeprom-swap;
+ mtd-mac-address = <&boardconfig 0x16>;
+ mtd-mac-address-increment = <1>;
+ };
+};
diff --git a/target/linux/lantiq/files-4.19/arch/mips/boot/dts/lantiq/danube_arcadyan_arv7510pw22.dts b/target/linux/lantiq/files-4.19/arch/mips/boot/dts/lantiq/danube_arcadyan_arv7510pw22.dts
new file mode 100644
index 0000000000..e5fd05fe40
--- /dev/null
+++ b/target/linux/lantiq/files-4.19/arch/mips/boot/dts/lantiq/danube_arcadyan_arv7510pw22.dts
@@ -0,0 +1,198 @@
+/dts-v1/;
+
+#include "danube.dtsi"
+
+#include <dt-bindings/input/input.h>
+
+/ {
+ compatible = "arcadyan,arv7510pw22", "lantiq,xway", "lantiq,danube";
+ model = "Astoria Networks ARV7510PW22";
+
+ chosen {
+ bootargs = "console=ttyLTQ0,115200";
+ };
+
+ aliases {
+ led-boot = &power;
+ led-failsafe = &power;
+ led-running = &power;
+ led-upgrade = &power;
+
+ led-dsl = &internet;
+ led-usb = &umts;
+ led-wifi = &wlan;
+ };
+
+ 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>;
+ };
+ restart {
+ label = "restart";
+ gpios = <&gpio 12 GPIO_ACTIVE_LOW>;
+ linux,code = <KEY_POWER>;
+ };
+ 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";
+ };
+ internet: internet {
+ label = "internet";
+ gpios = <&gpio 4 GPIO_ACTIVE_LOW>;
+ };
+ wlan: wlan {
+ label = "wlan";
+ gpios = <&gpio 10 GPIO_ACTIVE_LOW>;
+ };
+ umts: 3g {
+ label = "3g";
+ gpios = <&gpio 15 GPIO_ACTIVE_LOW>;
+ };
+ message {
+ label = "message";
+ gpios = <&gpio 20 GPIO_ACTIVE_LOW>;
+ };
+ };
+};
+
+&gpio {
+ pinctrl-names = "default";
+ pinctrl-0 = <&state_default>;
+
+ state_default: pinmux {
+ exin {
+ lantiq,groups = "exin1";
+ lantiq,function = "exin";
+ lantiq,pull = <2>;
+ lantiq,output = <0>;
+ };
+ pci_rst {
+ lantiq,pins = "io21";
+ lantiq,pull = <2>;
+ lantiq,output = <1>;
+ };
+ pins_out {
+ lantiq,pins = "io2", "io4", "io8", "io9", "io10", "io15", "io20";
+ lantiq,output = <1>;
+ };
+ pins_in {
+ lantiq,pins = "io11", "io12", "io28";
+ lantiq,open-drain = <1>;
+ lantiq,pull = <2>;
+ lantiq,output = <0>;
+ };
+ };
+
+ usb_vbus: regulator-usb-vbus {
+ compatible = "regulator-fixed";
+
+ regulator-name = "USB_VBUS";
+
+ regulator-min-microvolt = <5000000>;
+ regulator-max-microvolt = <5000000>;
+
+ gpio = <&gpio 8 GPIO_ACTIVE_HIGH>;
+ enable-active-high;
+ };
+};
+
+&gsw {
+ /* Switch reset 19 */
+ phy-mode = "mii";
+ mtd-mac-address = <&boardconfig 0x16>;
+};
+
+&localbus {
+ flash@0 {
+ compatible = "lantiq,nor";
+ bank-width = <2>;
+ reg = <0 0x0 0x1000000>;
+
+ 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>;
+ read-only;
+ };
+
+ 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>, <&pci_req2_pins>;
+ pinctrl-names = "default";
+
+ lantiq,external-clock;
+ interrupt-map = <
+ 0x7000 0 0 1 &icu0 30
+ 0x7800 0 0 1 &icu0 135
+ 0x7800 0 0 2 &icu0 135
+ 0x7800 0 0 3 &icu0 135
+ >;
+ gpio-reset = <&gpio 21 GPIO_ACTIVE_HIGH>;
+ req-mask = <0x3>;
+
+ wifi@1814,3592 {
+ compatible = "pci1814,3592";
+ reg = <0x7000 0 0 0 0>;
+ ralink,mtd-eeprom = <&boardconfig 0x410>;
+ ralink,mtd-eeprom-swap;
+ };
+};
+
+&usb_phy {
+ status = "okay";
+};
+
+&usb {
+ status = "okay";
+ vbus-supply = <&usb_vbus>;
+};
+
+&vmmc {
+ status = "okay";
+ gpios = <&gpio 9 GPIO_ACTIVE_HIGH>;
+};
diff --git a/target/linux/lantiq/files-4.19/arch/mips/boot/dts/lantiq/danube_arcadyan_arv7518pw.dts b/target/linux/lantiq/files-4.19/arch/mips/boot/dts/lantiq/danube_arcadyan_arv7518pw.dts
new file mode 100644
index 0000000000..ae0d27a042
--- /dev/null
+++ b/target/linux/lantiq/files-4.19/arch/mips/boot/dts/lantiq/danube_arcadyan_arv7518pw.dts
@@ -0,0 +1,233 @@
+/dts-v1/;
+
+#include "danube.dtsi"
+
+#include <dt-bindings/input/input.h>
+
+/ {
+ compatible = "arcadyan,arv7518pw", "lantiq,xway", "lantiq,danube";
+ model = "Astoria Networks ARV7518PW";
+
+ chosen {
+ bootargs = "console=ttyLTQ0,115200";
+ };
+
+ aliases {
+ led-boot = &power_green;
+ led-failsafe = &power_red;
+ led-running = &power_green;
+ led-upgrade = &power_green;
+
+ led-dsl = &dsl;
+ led-internet = &online_green;
+ led-usb = &led_usb;
+ led-wifi = &wifi;
+ };
+
+ memory@0 {
+ device_type = "memory";
+ reg = <0x0 0x4000000>;
+ };
+
+ keys {
+ compatible = "gpio-keys-polled";
+ poll-interval = <100>;
+
+ rfkill {
+ label = "rfkill";
+ gpios = <&gpio 28 GPIO_ACTIVE_LOW>;
+ linux,code = <KEY_RFKILL>;
+ };
+ reset {
+ label = "reset";
+ gpios = <&gpio 30 GPIO_ACTIVE_LOW>;
+ linux,code = <KEY_RESTART>;
+ };
+ };
+
+ leds {
+ compatible = "gpio-leds";
+ power_green: power {
+ label = "arv7518pw:green:power";
+ gpios = <&gpio 2 GPIO_ACTIVE_LOW>;
+ default-state = "keep";
+ };
+ dsl: dsl {
+ label = "arv7518pw:green:dsl";
+ gpios = <&gpio 4 GPIO_ACTIVE_LOW>;
+ };
+ online_green: online {
+ label = "arv7518pw:green:internet";
+ gpios = <&gpio 5 GPIO_ACTIVE_LOW>;
+ };
+ wifi: wifi {
+ label = "arv7518pw:green:wlan";
+ gpios = <&gpio 6 GPIO_ACTIVE_LOW>;
+ };
+ power_red: power2 {
+ label = "arv7518pw:red:power";
+ gpios = <&gpio 7 GPIO_ACTIVE_LOW>;
+ };
+ online2 {
+ label = "arv7518pw:red:internet";
+ gpios = <&gpio 8 GPIO_ACTIVE_LOW>;
+ };
+ led_usb: usb {
+ label = "arv7518pw:green:usb";
+ gpios = <&gpio 19 GPIO_ACTIVE_LOW>;
+ };
+ voice {
+ label = "arv7518pw:green:voip";
+ gpios = <&gpiomm 0 GPIO_ACTIVE_LOW>;
+ };
+ fxs1 {
+ label = "arv7518pw:green:phone1";
+ gpios = <&gpiomm 1 GPIO_ACTIVE_LOW>;
+ };
+ fxs2 {
+ label = "arv7518pw:green:phone2";
+ gpios = <&gpiomm 2 GPIO_ACTIVE_LOW>;
+ };
+ unlabeled {
+ label = "arv7518pw:amber:unlabeled";
+ gpios = <&gpiomm 3 GPIO_ACTIVE_LOW>;
+ };
+ wps {
+ label = "arv7518pw:amber:wps";
+ gpios = <&gpiomm 4 GPIO_ACTIVE_LOW>;
+ };
+ wps2 {
+ label = "arv7518pw:green:wps";
+ gpios = <&gpiomm 5 GPIO_ACTIVE_LOW>;
+ };
+ wps3 {
+ label = "arv7518pw:red:wps";
+ gpios = <&gpiomm 6 GPIO_ACTIVE_LOW>;
+ };
+ };
+};
+
+&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>;
+ };
+ leds {
+ lantiq,pins = "io2", "io4", "io5", "io6", "io7", "io8", "io19";
+ lantiq,output = <1>;
+ };
+ keys {
+ lantiq,pins = "io28", "io30";
+ lantiq,output = <0>;
+ lantiq,pull = <2>;
+ lantiq,open-drain = <1>;
+ };
+ };
+
+ usb_vbus: regulator-usb-vbus {
+ compatible = "regulator-fixed";
+
+ regulator-name = "USB_VBUS";
+
+ regulator-min-microvolt = <5000000>;
+ regulator-max-microvolt = <5000000>;
+
+ gpio = <&gpio 14 GPIO_ACTIVE_HIGH>;
+ enable-active-high;
+ };
+};
+
+/*
+#define SWITCH_RESET 13
+*/
+&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 0x10000>;
+ read-only;
+ };
+
+ partition@10000 {
+ label = "uboot_env";
+ reg = <0x10000 0x10000>;
+ };
+
+ partition@20000 {
+ label = "firmware";
+ reg = <0x20000 0x7d0000>;
+ };
+
+ boardconfig: partition@400000 {
+ label = "boardconfig";
+ reg = <0x7f0000 0x10000>;
+ read-only;
+ };
+ };
+ };
+
+ gpiomm: gpio@1 {
+ compatible = "lantiq,gpio-mm";
+ reg = <1 0x0 0x10 >;
+ #address-cells = <1>;
+ #size-cells = <1>;
+ #gpio-cells = <2>;
+ gpio-controller;
+ lantiq,shadow = <0x0>;
+ };
+};
+
+&pci0 {
+ status = "okay";
+
+ pinctrl-0 = <&pci_gnt1_pins>, <&pci_req1_pins>;
+ pinctrl-names = "default";
+
+ gpio-reset = <&gpio 21 GPIO_ACTIVE_HIGH>;
+ lantiq,external-clock;
+ req-mask = <0xf>;
+
+ wifi@168c,0029 {
+ compatible = "pci168c,0029";
+ reg = <0x7000 0 0 0 0>;
+ qca,no-eeprom; /* load from ath9k-eeprom-pci-0000:00:0e.0.bin */
+ mtd-mac-address = <&boardconfig 0x16>;
+ mtd-mac-address-increment = <1>;
+ };
+};
+
+&usb_phy {
+ status = "okay";
+};
+
+&usb {
+ status = "okay";
+ vbus-supply = <&usb_vbus>;
+};
+
+&vmmc {
+ status = "okay";
+};
diff --git a/target/linux/lantiq/files-4.19/arch/mips/boot/dts/lantiq/danube_arcadyan_arv7519pw.dts b/target/linux/lantiq/files-4.19/arch/mips/boot/dts/lantiq/danube_arcadyan_arv7519pw.dts
new file mode 100644
index 0000000000..34b541af92
--- /dev/null
+++ b/target/linux/lantiq/files-4.19/arch/mips/boot/dts/lantiq/danube_arcadyan_arv7519pw.dts
@@ -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";
+};
diff --git a/target/linux/lantiq/files-4.19/arch/mips/boot/dts/lantiq/danube_arcadyan_arv7525pw.dts b/target/linux/lantiq/files-4.19/arch/mips/boot/dts/lantiq/danube_arcadyan_arv7525pw.dts
new file mode 100644
index 0000000000..d673c9b204
--- /dev/null
+++ b/target/linux/lantiq/files-4.19/arch/mips/boot/dts/lantiq/danube_arcadyan_arv7525pw.dts
@@ -0,0 +1,149 @@
+/dts-v1/;
+
+#include "danube.dtsi"
+
+#include <dt-bindings/input/input.h>
+
+/ {
+ compatible = "arcadyan,arv7525pw", "lantiq,xway", "lantiq,danube";
+ model = "Speedport W303V Typ A";
+
+ chosen {
+ bootargs = "console=ttyLTQ0,115200";
+ };
+
+ aliases {
+ led-boot = &power_green;
+ led-failsafe = &power_red;
+ led-running = &power_green;
+ led-upgrade = &power_green;
+
+ led-dsl = &power_green;
+ led-internet = &online;
+ led-wifi = &wifi;
+ };
+
+ memory@0 {
+ device_type = "memory";
+ reg = <0x0 0x2000000>;
+ };
+
+ keys {
+ compatible = "gpio-keys-polled";
+ poll-interval = <100>;
+
+ wps {
+ label = "wps";
+ gpios = <&gpio 29 GPIO_ACTIVE_LOW>;
+ linux,code = <KEY_WPS_BUTTON>;
+ };
+ reset {
+ label = "reset";
+ gpios = <&gpio 30 GPIO_ACTIVE_LOW>;
+ linux,code = <KEY_RESTART>;
+ };
+ };
+
+ leds {
+ compatible = "gpio-leds";
+ power_green: power {
+ label = "arv7525pw:green:power";
+ gpios = <&gpio 3 GPIO_ACTIVE_LOW>;
+ default-state = "keep";
+ };
+ power_red: power1 {
+ label = "arv7525pw:red:power";
+ gpios = <&gpio 4 GPIO_ACTIVE_LOW>;
+ };
+ online: online {
+ label = "arv7525pw:green:online";
+ gpios = <&gpio 5 GPIO_ACTIVE_LOW>;
+ };
+ voice {
+ label = "arv7525pw:green:telefonie";
+ gpios = <&gpio 6 GPIO_ACTIVE_LOW>;
+ };
+ voice2 {
+ label = "arv7525pw:red:telefonie";
+ gpios = <&gpio 8 GPIO_ACTIVE_LOW>;
+ };
+ wifi: wifi {
+ label = "arv7525pw:green:wlan";
+ gpios = <&gpio 9 GPIO_ACTIVE_LOW>;
+ };
+ };
+};
+
+&gpio {
+ pinctrl-names = "default";
+ pinctrl-0 = <&state_default>;
+
+ state_default: pinmux {
+ exin {
+ lantiq,groups = "exin1";
+ lantiq,function = "exin";
+ };
+ };
+};
+
+&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 0x10000>;
+ read-only;
+ };
+
+ partition@10000 {
+ label = "uboot_env";
+ reg = <0x10000 0x10000>;
+ read-only;
+ };
+
+ partition@20000 {
+ label = "firmware";
+ reg = <0x20000 0x3d0000>;
+ };
+
+ boardconfig: partition@400000 {
+ label = "board_config";
+ reg = <0x3f0000 0x10000>;
+ read-only;
+ };
+ };
+ };
+};
+
+&pci0 {
+ status = "okay";
+
+ pinctrl-0 = <&pci_gnt1_pins>, <&pci_req1_pins>;
+ pinctrl-names = "default";
+
+ interrupt-map = <0x7000 0 0 1 &icu0 135 1>;
+
+ wifi@0,0 {
+ compatible = "pci0,0";
+ reg = <0x7000 0 0 0 0>;
+ ralink,mtd-eeprom = <&boardconfig 0x410>;
+ };
+};
+
+&vmmc {
+ status = "okay";
+ gpios = <&gpio 31 GPIO_ACTIVE_HIGH>;
+};
diff --git a/target/linux/lantiq/files-4.19/arch/mips/boot/dts/lantiq/danube_arcadyan_arv752dpw.dts b/target/linux/lantiq/files-4.19/arch/mips/boot/dts/lantiq/danube_arcadyan_arv752dpw.dts
new file mode 100644
index 0000000000..069b1b1ed6
--- /dev/null
+++ b/target/linux/lantiq/files-4.19/arch/mips/boot/dts/lantiq/danube_arcadyan_arv752dpw.dts
@@ -0,0 +1,240 @@
+/dts-v1/;
+
+#include "danube.dtsi"
+
+#include <dt-bindings/input/input.h>
+
+/ {
+ compatible = "arcadyan,arv752dpw", "lantiq,xway", "lantiq,danube";
+ model = "Arcor 802";
+
+ chosen {
+ bootargs = "console=ttyLTQ0,115200";
+ };
+
+ aliases {
+ led-boot = &power_red;
+ led-failsafe = &power_blue;
+ led-running = &power_red;
+ led-upgrade = &power_red;
+
+ led-dsl = &internet_red;
+ led-usb = &umts;
+ led-wifi = &wifi;
+ };
+
+ memory@0 {
+ device_type = "memory";
+ reg = <0x0 0x4000000>;
+ };
+
+ keys {
+ compatible = "gpio-keys-polled";
+ poll-interval = <100>;
+
+ wps {
+ label = "wps";
+ gpios = <&gpio 11 GPIO_ACTIVE_LOW>;
+ linux,code = <KEY_WPS_BUTTON>;
+ };
+ restart {
+ label = "restart";
+ gpios = <&gpio 12 GPIO_ACTIVE_LOW>;
+ linux,code = <KEY_POWER>;
+ };
+ dsl {
+ label = "dsl";
+ gpios = <&gpio 13 GPIO_ACTIVE_LOW>;
+ linux,code = <BTN_0>;
+ };
+ reset {
+ label = "reset";
+ gpios = <&gpio 30 GPIO_ACTIVE_LOW>;
+ linux,code = <KEY_RESTART>;
+ };
+ };
+
+ leds {
+ compatible = "gpio-leds";
+ power_blue: power1 {
+ label = "arv752dpw:blue:power";
+ gpios = <&gpio 3 GPIO_ACTIVE_LOW>;
+ };
+ internet_red: internet {
+ label = "arv752dpw:red:internet";
+ gpios = <&gpio 4 GPIO_ACTIVE_LOW>;
+ };
+ message {
+ label = "arv752dpw:red:message";
+ gpios = <&gpio 5 GPIO_ACTIVE_LOW>;
+ };
+ power_red: power {
+ label = "arv752dpw:red:power";
+ gpios = <&gpio 6 GPIO_ACTIVE_LOW>;
+ default-state = "keep";
+ };
+ voice1 {
+ label = "arv752dpw:red:voice";
+ gpios = <&gpio 8 GPIO_ACTIVE_LOW>;
+ };
+ umts: umts {
+ label = "arv752dpw:red:umts";
+ gpios = <&gpiomm 3 GPIO_ACTIVE_LOW>;
+ };
+ wifi: wifi {
+ label = "arv752dpw:red:wifi";
+ gpios = <&gpiomm 4 GPIO_ACTIVE_LOW>;
+ };
+ fxs1 {
+ label = "arv752dpw:green:tae-n";
+ gpios = <&gpiomm 5 GPIO_ACTIVE_LOW>;
+ };
+ fxs2 {
+ label = "arv752dpw:green:tae-u";
+ gpios = <&gpiomm 6 GPIO_ACTIVE_LOW>;
+ };
+ fxo {
+ label = "arv752dpw:green:isdn";
+ gpios = <&gpiomm 7 GPIO_ACTIVE_LOW>;
+ };
+ internet2 {
+ label = "arv752dpw:blue:internet";
+ gpios = <&gpiomm 8 GPIO_ACTIVE_LOW>;
+ };
+ voice2 {
+ label = "arv752dpw:blue:voice";
+ gpios = <&gpiomm 9 GPIO_ACTIVE_LOW>;
+ };
+ };
+};
+
+&gpio {
+ pinctrl-names = "default";
+ pinctrl-0 = <&state_default>;
+
+ state_default: pinmux {
+ ebu {
+ lantiq,groups = "ebu cs1";
+ lantiq,function = "ebu";
+ };
+ exin {
+ lantiq,groups = "exin1";
+ lantiq,function = "exin";
+ lantiq,pull = <2>;
+ lantiq,output = <0>;
+ };
+ pci_rst {
+ lantiq,pins = "io21";
+ lantiq,pull = <2>;
+ lantiq,output = <1>;
+ };
+ leds {
+ lantiq,pins = "io3", "io5", "io6", "io8";
+ lantiq,output = <1>;
+ lantiq,pull = <0>;
+ };
+ keys {
+ lantiq,pins = "io11", "io12", "io13", "io28";
+ lantiq,output = <0>;
+ lantiq,pull = <2>;
+ lantiq,open-drain = <1>;
+ };
+ };
+
+ usb_vbus: regulator-usb-vbus {
+ compatible = "regulator-fixed";
+
+ regulator-name = "USB_VBUS";
+
+ regulator-min-microvolt = <5000000>;
+ regulator-max-microvolt = <5000000>;
+
+ gpio = <&gpiomm 0 GPIO_ACTIVE_HIGH>;
+ enable-active-high;
+ };
+};
+
+&gsw {
+ phy-mode = "rmii";
+ mtd-mac-address = <&boardconfig 0x16>;
+};
+
+&localbus {
+ flash@0 {
+ compatible = "lantiq,nor";
+ bank-width = <2>;
+ reg = <0 0x0 0x800000>;
+
+ partitions {
+ compatible = "fixed-partitions";
+ #address-cells = <1>;
+ #size-cells = <1>;
+
+ partition@0 {
+ label = "uboot";
+ reg = <0x00000 0x10000>;
+ read-only;
+ };
+
+ partition@10000 {
+ label = "uboot_env";
+ reg = <0x10000 0x10000>;
+ read-only;
+ };
+
+ partition@20000 {
+ label = "firmware";
+ reg = <0x20000 0x7d0000>;
+ };
+
+ boardconfig: partition@7f0000 {
+ label = "board_config";
+ reg = <0x7f0000 0x10000>;
+ read-only;
+ };
+ };
+ };
+
+ gpiomm: gpio@1 {
+ compatible = "lantiq,gpio-mm";
+ reg = <1 0x0 0x10 >;
+ #address-cells = <1>;
+ #size-cells = <1>;
+ #gpio-cells = <2>;
+ gpio-controller;
+ lantiq,shadow = <0x3>;
+ };
+};
+
+&pci0 {
+ status = "okay";
+
+ pinctrl-0 = <&pci_gnt1_pins>, <&pci_req1_pins>, <&pci_req2_pins>;
+ pinctrl-names = "default";
+
+ lantiq,external-clock;
+ gpio-reset = <&gpio 21 GPIO_ACTIVE_HIGH>;
+ interrupt-map = <0x7000 0 0 1 &icu0 135>;
+ req-mask = <0x3>;
+
+ wifi@1814,0601 {
+ compatible = "pci1814,0601";
+ reg = <0x7000 0 0 0 0>;
+ ralink,mtd-eeprom = <&boardconfig 0x410>;
+ ralink,mtd-eeprom-swap;
+ };
+};
+
+&usb_phy {
+ status = "okay";
+};
+
+&usb {
+ status = "okay";
+ vbus-supply = <&usb_vbus>;
+};
+
+&vmmc {
+ status = "okay";
+ gpios = <&gpiomm 1 GPIO_ACTIVE_HIGH>;
+};
diff --git a/target/linux/lantiq/files-4.19/arch/mips/boot/dts/lantiq/danube_arcadyan_arv752dpw22.dts b/target/linux/lantiq/files-4.19/arch/mips/boot/dts/lantiq/danube_arcadyan_arv752dpw22.dts
new file mode 100644
index 0000000000..ec90a2bef9
--- /dev/null
+++ b/target/linux/lantiq/files-4.19/arch/mips/boot/dts/lantiq/danube_arcadyan_arv752dpw22.dts
@@ -0,0 +1,261 @@
+/dts-v1/;
+
+#include "danube.dtsi"
+
+#include <dt-bindings/input/input.h>
+
+/ {
+ compatible = "arcadyan,arv752dpw22", "lantiq,xway", "lantiq,danube";
+ model = "Arcor 803";
+
+ chosen {
+ bootargs = "console=ttyLTQ0,115200";
+ };
+
+ aliases {
+ led-boot = &power_red;
+ led-failsafe = &power_blue;
+ led-running = &power_red;
+ led-upgrade = &power_red;
+
+ led-dsl = &internet_red;
+ led-usb = &umts;
+ led-wifi = &wifi;
+ };
+
+ memory@0 {
+ device_type = "memory";
+ reg = <0x0 0x4000000>;
+ };
+
+ keys {
+ compatible = "gpio-keys-polled";
+ poll-interval = <100>;
+
+ wps {
+ label = "wps";
+ gpios = <&gpio 11 GPIO_ACTIVE_LOW>;
+ linux,code = <KEY_WPS_BUTTON>;
+ };
+ restart {
+ label = "restart";
+ gpios = <&gpio 12 GPIO_ACTIVE_LOW>;
+ linux,code = <KEY_POWER>;
+ };
+ dsl {
+ label = "dsl";
+ gpios = <&gpio 13 GPIO_ACTIVE_LOW>;
+ linux,code = <BTN_0>;
+ };
+ reset {
+ label = "reset";
+ gpios = <&gpio 28 GPIO_ACTIVE_LOW>;
+ linux,code = <KEY_RESTART>;
+ };
+ };
+
+ leds {
+ compatible = "gpio-leds";
+ power_blue: power1 {
+ label = "arv752dpw22:blue:power";
+ gpios = <&gpio 3 GPIO_ACTIVE_LOW>;
+ };
+ internet_red: internet {
+ label = "arv752dpw22:red:internet";
+ gpios = <&gpio 4 GPIO_ACTIVE_LOW>;
+ };
+ message {
+ label = "arv752dpw22:red:message";
+ gpios = <&gpio 5 GPIO_ACTIVE_LOW>;
+ };
+ power_red: power {
+ label = "arv752dpw22:red:power";
+ gpios = <&gpio 6 GPIO_ACTIVE_LOW>;
+ default-state = "keep";
+ };
+ voice1 {
+ label = "arv752dpw22:red:voice";
+ gpios = <&gpio 8 GPIO_ACTIVE_LOW>;
+ };
+ umts: umts {
+ label = "arv752dpw22:red:umts";
+ gpios = <&gpiomm 3 GPIO_ACTIVE_LOW>;
+ };
+ wifi: wifi {
+ label = "arv752dpw22:red:wifi";
+ gpios = <&gpiomm 4 GPIO_ACTIVE_LOW>;
+ };
+ fxs1 {
+ label = "arv752dpw22:green:tae-n";
+ gpios = <&gpiomm 5 GPIO_ACTIVE_LOW>;
+ };
+ fxs2 {
+ label = "arv752dpw22:green:tae-u";
+ gpios = <&gpiomm 6 GPIO_ACTIVE_LOW>;
+ };
+ fxo {
+ label = "arv752dpw22:green:isdn";
+ gpios = <&gpiomm 7 GPIO_ACTIVE_LOW>;
+ };
+ internet2 {
+ label = "arv752dpw22:blue:internet";
+ gpios = <&gpiomm 8 GPIO_ACTIVE_LOW>;
+ };
+ voice2 {
+ label = "arv752dpw22:blue:voice";
+ gpios = <&gpiomm 9 GPIO_ACTIVE_LOW>;
+ };
+ eth1 {
+ label = "arv752dpw22:green:lan1";
+ gpios = <&gpiomm 11 GPIO_ACTIVE_LOW>;
+ };
+ eth2 {
+ label = "arv752dpw22:green:lan2";
+ gpios = <&gpiomm 12 GPIO_ACTIVE_LOW>;
+ };
+ eth3 {
+ label = "arv752dpw22:green:lan3";
+ gpios = <&gpiomm 13 GPIO_ACTIVE_LOW>;
+ };
+ eth4 {
+ label = "arv752dpw22:green:lan4";
+ gpios = <&gpiomm 14 GPIO_ACTIVE_LOW>;
+ };
+ };
+
+ usb_vbus: regulator-usb-vbus {
+ compatible = "regulator-fixed";
+
+ regulator-name = "USB_VBUS";
+
+ regulator-min-microvolt = <5000000>;
+ regulator-max-microvolt = <5000000>;
+
+ gpio = <&gpiomm 0 GPIO_ACTIVE_HIGH>;
+ enable-active-high;
+ };
+};
+
+&gpio {
+ pinctrl-names = "default";
+ pinctrl-0 = <&state_default>;
+
+ state_default: pinmux {
+ ebu {
+ lantiq,groups = "ebu cs1";
+ lantiq,function = "ebu";
+ };
+ exin {
+ lantiq,groups = "exin1";
+ lantiq,function = "exin";
+ lantiq,pull = <2>;
+ lantiq,output = <0>;
+ };
+ pci_rst {
+ lantiq,pins = "io21";
+ lantiq,open-drain = <1>;
+ lantiq,output = <1>;
+ };
+ leds {
+ lantiq,pins = "io3", "io5", "io6", "io8";
+ lantiq,open-drain = <1>;
+ lantiq,output = <1>;
+ };
+ buttons {
+ lantiq,pins = "io11", "io12", "io13", "io28";
+ lantiq,pull = <2>;
+ lantiq,output = <0>;
+ };
+ };
+};
+
+&gsw {
+ phy-mode = "mii";
+ mtd-mac-address = <&boardconfig 0x16>;
+};
+
+&localbus {
+ flash@0 {
+ compatible = "lantiq,nor";
+ bank-width = <2>;
+ reg = <0 0x0 0x800000>;
+
+ partitions {
+ compatible = "fixed-partitions";
+ #address-cells = <1>;
+ #size-cells = <1>;
+
+ partition@0 {
+ label = "uboot";
+ reg = <0x00000 0x30000>;
+ read-only;
+ };
+
+ partition@10000 {
+ label = "uboot_env";
+ reg = <0x30000 0x10000>;
+ read-only;
+ };
+
+ partition@20000 {
+ label = "firmware";
+ reg = <0x40000 0x7b0000>;
+ };
+
+ boardconfig: partition@7f0000 {
+ label = "board_config";
+ reg = <0x7f0000 0x10000>;
+ read-only;
+ };
+ };
+ };
+
+ gpiomm: gpio@1 {
+ compatible = "lantiq,gpio-mm";
+ reg = <1 0x0 0x10 >;
+ #address-cells = <1>;
+ #size-cells = <1>;
+ #gpio-cells = <2>;
+ gpio-controller;
+ lantiq,shadow = <3>;
+ };
+};
+
+&pci0 {
+ status = "okay";
+
+ pinctrl-0 = <&pci_gnt1_pins>, <&pci_req1_pins>;
+ pinctrl-names = "default";
+
+ lantiq,external-clock;
+ interrupt-map = <
+ 0x7000 0 0 1 &icu0 30
+ 0x7800 0 0 1 &icu0 135
+ 0x7800 0 0 2 &icu0 135
+ 0x7800 0 0 3 &icu0 135
+ >;
+ gpio-reset = <&gpio 21 GPIO_ACTIVE_HIGH>;
+ req-mask = <0x3>;
+
+ wifi@1814,3592 {
+ compatible = "pci1814,3592";
+ reg = <0x7000 0 0 0 0>;
+ ralink,mtd-eeprom = <&boardconfig 0x410>;
+ ralink,mtd-eeprom-swap;
+ mtd-mac-address = <&boardconfig 0x16>;
+ };
+};
+
+&usb_phy {
+ status = "okay";
+};
+
+&usb {
+ status = "okay";
+ vbus-supply = <&usb_vbus>;
+};
+
+&vmmc {
+ status = "okay";
+ gpios = <&gpiomm 1 GPIO_ACTIVE_HIGH>;
+};
diff --git a/target/linux/lantiq/files-4.19/arch/mips/boot/dts/lantiq/danube_arcadyan_arv8539pw22.dts b/target/linux/lantiq/files-4.19/arch/mips/boot/dts/lantiq/danube_arcadyan_arv8539pw22.dts
new file mode 100644
index 0000000000..4bf44a10e1
--- /dev/null
+++ b/target/linux/lantiq/files-4.19/arch/mips/boot/dts/lantiq/danube_arcadyan_arv8539pw22.dts
@@ -0,0 +1,181 @@
+/dts-v1/;
+
+#include "danube.dtsi"
+
+#include <dt-bindings/input/input.h>
+
+/ {
+ compatible = "arcadyan,arv8539pw22", "lantiq,xway", "lantiq,danube";
+ model = "Speedport W 504V Typ A";
+
+ chosen {
+ bootargs = "console=ttyLTQ0,115200";
+ };
+
+ aliases {
+ led-boot = &power_green;
+ led-failsafe = &power_red;
+ led-running = &power_green;
+ led-upgrade = &power_green;
+
+ led-dsl = &dsl_green;
+ led-internet = &online_green;
+ led-wifi = &wireless_green;
+ };
+
+ memory@0 {
+ device_type = "memory";
+ reg = <0x0 0x4000000>;
+ };
+
+ keys {
+ compatible = "gpio-keys-polled";
+ poll-interval = <100>;
+
+ wlan {
+ label = "wlan";
+ gpios = <&gpio 29 GPIO_ACTIVE_LOW>;
+ linux,code = <KEY_WPS_BUTTON>;
+ };
+ reset {
+ label = "reset";
+ gpios = <&gpio 30 GPIO_ACTIVE_LOW>;
+ linux,code = <KEY_RESTART>;
+ };
+ /* key DECT is missing */
+ };
+
+ leds {
+ compatible = "gpio-leds";
+
+ power_green: power-green {
+ label = "arv8539pw22:green:power";
+ gpios = <&gpio 24 GPIO_ACTIVE_LOW>;
+ default-state = "keep";
+ };
+ power_red: power-red {
+ label = "arv8539pw22:red:power";
+ gpios = <&gpio 4 GPIO_ACTIVE_LOW>;
+ };
+
+ dsl_green: dsl-green {
+ label = "arv8539pw22:green:dsl";
+ gpios = <&gpio 5 GPIO_ACTIVE_LOW>;
+ };
+
+ online_green: online-green {
+ label = "arv8539pw22:green:online";
+ gpios = <&gpio 6 GPIO_ACTIVE_LOW>;
+ };
+
+ wireless_green: wireless-green {
+ label = "arv8539pw22:green:wlan";
+ gpios = <&gpio 8 GPIO_ACTIVE_LOW>;
+ };
+ /*
+ telefonie green is missing
+ */
+ };
+
+ usb_vbus: regulator-usb-vbus {
+ compatible = "regulator-fixed";
+
+ regulator-name = "USB_VBUS";
+
+ regulator-min-microvolt = <5000000>;
+ regulator-max-microvolt = <5000000>;
+
+ gpio = <&gpio 14 GPIO_ACTIVE_HIGH>;
+ enable-active-high;
+ };
+};
+
+&gpio {
+ pinctrl-names = "default";
+ pinctrl-0 = <&state_default>;
+
+ state_default: pinmux {
+ pci_rst {
+ lantiq,pins = "io21";
+ lantiq,pull = <2>;
+ lantiq,output = <1>;
+ };
+ relay {
+ lantiq,pins = "io31";
+ lantiq,output = <1>;
+ };
+ };
+};
+
+&gsw {
+ phy-mode = "mii";
+ mtd-mac-address = <&art 0x16>;
+};
+
+&localbus {
+ flash@0 {
+ compatible = "lantiq,nor";
+ bank-width = <2>;
+ reg = <0 0x0 0x800000>;
+
+ partitions {
+ compatible = "fixed-partitions";
+ #address-cells = <1>;
+ #size-cells = <1>;
+
+ partition@0 {
+ label = "uboot";
+ reg = <0x00000 0x30000>; /* 192 KiB */
+ read-only;
+ };
+
+ partition@30000 {
+ label = "uboot";
+ reg = <0x30000 0x10000>; /* 64 KiB */
+ read-only;
+ };
+
+ partition@40000 {
+ label = "firmware";
+ reg = <0x40000 0x7b0000>; /* 7872 KiB */
+ };
+
+ art: partition@7f0000 {
+ label = "art";
+ reg = <0x7f0000 0x10000>; /* 64 KiB*/
+ read-only;
+ };
+ };
+ };
+};
+
+&pci0 {
+ status = "okay";
+
+ pinctrl-0 = <&pci_gnt1_pins>, <&pci_req1_pins>;
+ pinctrl-names = "default";
+
+ gpio-reset = <&gpio 21 GPIO_ACTIVE_HIGH>;
+
+ wifi@168c,0029 {
+ compatible = "pci168c,0029";
+ reg = <0x7000 0 0 0 0>;
+ qca,no-eeprom; /* load from ath9k-eeprom-pci-0000:00:0e.0.bin */
+ mtd-mac-address = <&art 0x16>;
+ mtd-mac-address-increment = <1>;
+ };
+};
+
+&usb_phy {
+ status = "okay";
+};
+
+&usb {
+ status = "okay";
+ vbus-supply = <&usb_vbus>;
+};
+
+&vmmc {
+ status = "okay";
+ gpios = <&gpio 31 GPIO_ACTIVE_HIGH>;
+};
diff --git a/target/linux/lantiq/files-4.19/arch/mips/boot/dts/lantiq/danube_audiocodes_mp-252.dts b/target/linux/lantiq/files-4.19/arch/mips/boot/dts/lantiq/danube_audiocodes_mp-252.dts
new file mode 100644
index 0000000000..67b0f9631f
--- /dev/null
+++ b/target/linux/lantiq/files-4.19/arch/mips/boot/dts/lantiq/danube_audiocodes_mp-252.dts
@@ -0,0 +1,112 @@
+/dts-v1/;
+
+#include "danube.dtsi"
+
+/ {
+ compatible = "audiocodes,mp-252", "lantiq,xway", "lantiq,danube";
+ model = "AudioCodes MediaPack MP-252";
+
+ chosen {
+ bootargs = "console=ttyLTQ0,115200";
+ };
+
+ memory@0 {
+ device_type = "memory";
+ reg = <0x0 0x4000000>;
+ };
+
+ usb_vbus: regulator-usb-vbus {
+ compatible = "regulator-fixed";
+
+ regulator-name = "USB_VBUS";
+
+ regulator-min-microvolt = <5000000>;
+ regulator-max-microvolt = <5000000>;
+
+ gpio = <&gpio 3 GPIO_ACTIVE_HIGH>;
+ enable-active-high;
+ };
+};
+
+&gpio {
+ pinctrl-names = "default";
+ pinctrl-0 = <&state_default>;
+
+ state_default: pinmux {
+ exin {
+ lantiq,groups = "exin1";
+ lantiq,function = "exin";
+ };
+ };
+};
+
+&gsw {
+ phy-mode = "rmii";
+};
+
+&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 = <0x0 0x20000>;
+ read-only;
+ };
+
+ partition@20000 {
+ label = "uboot_env";
+ reg = <0x20000 0x20000>;
+ };
+
+ partition@40000 {
+ label = "boardconfig";
+ reg = <0x40000 0x60000>;
+ read-only;
+ };
+
+ partition@a0000 {
+ label = "firmware";
+ reg = <0xa0000 0xf20000>;
+ };
+
+ partition@fc0000 {
+ label = "sysconfig";
+ reg = <0xfc0000 0x40000>;
+ };
+
+ partition@1000000 {
+ label = "rootfs_data";
+ reg = <0x1000000 0x1000000>;
+ };
+ };
+ };
+};
+
+&pci0 {
+ status = "okay";
+
+ pinctrl-0 = <&pci_gnt1_pins>, <&pci_req1_pins>;
+ pinctrl-names = "default";
+};
+
+&usb_phy {
+ status = "okay";
+};
+
+&usb {
+ status = "okay";
+ vbus-supply = <&usb_vbus>;
+};
+
+&vmmc {
+ status = "okay";
+ gpios = <&gpio 31 GPIO_ACTIVE_HIGH>;
+};
diff --git a/target/linux/lantiq/files-4.19/arch/mips/boot/dts/lantiq/danube_bt_homehub-v2b.dts b/target/linux/lantiq/files-4.19/arch/mips/boot/dts/lantiq/danube_bt_homehub-v2b.dts
new file mode 100644
index 0000000000..40886feec4
--- /dev/null
+++ b/target/linux/lantiq/files-4.19/arch/mips/boot/dts/lantiq/danube_bt_homehub-v2b.dts
@@ -0,0 +1,238 @@
+/dts-v1/;
+
+#include "danube.dtsi"
+
+#include <dt-bindings/input/input.h>
+
+/ {
+ compatible = "bt,homehub-v2b", "lantiq,xway", "lantiq,danube";
+ model = "BT Home Hub 2B"; /* SoC: Lantiq Danube-S PSB 50712 @ 333MHz V1.3/1.5 */
+
+ chosen {
+ bootargs = "console=ttyLTQ0,115200";
+ };
+
+ aliases {
+ led-boot = &power_orange;
+ led-failsafe = &power_red;
+ led-running = &power_blue;
+ led-upgrade = &power_blue;
+
+ led-dsl = &broadband_blue;
+ led-wifi = &wireless_blue;
+ };
+
+ memory@0 { /* RAM: Samsung K4H511638F-LC 64MB */
+ device_type = "memory";
+ reg = <0x0 0x4000000>;
+ };
+
+ keys {
+ compatible = "gpio-keys-polled";
+ poll-interval = <100>;
+
+ reset {
+ label = "reset";
+ gpios = <&gpio 2 GPIO_ACTIVE_LOW>;
+ linux,code = <KEY_RESTART>;
+ };
+ findhandset {
+ label = "findhandset";
+ gpios = <&gpio 15 GPIO_ACTIVE_LOW>;
+ linux,code = <KEY_PHONE>;
+ };
+ wps {
+ label = "wps";
+ gpios = <&gpio 22 GPIO_ACTIVE_LOW>;
+ linux,code = <KEY_WPS_BUTTON>;
+ };
+ };
+
+ leds {
+ compatible = "gpio-leds";
+
+ upgrading-orange {
+ label = "bthomehubv2b:orange:upgrading";
+ gpios = <&gpios 5 GPIO_ACTIVE_HIGH>;
+ };
+
+ phone-orange {
+ label = "bthomehubv2b:orange:phone";
+ gpios = <&gpios 6 GPIO_ACTIVE_HIGH>;
+ };
+ phone-blue {
+ label = "bthomehubv2b:blue:phone";
+ gpios = <&gpios 7 GPIO_ACTIVE_HIGH>;
+ };
+
+ wireless-orange {
+ label = "bthomehubv2b:orange:wireless";
+ gpios = <&gpios 8 GPIO_ACTIVE_HIGH>;
+ };
+ wireless_blue: wireless-blue {
+ label = "bthomehubv2b:blue:wireless";
+ gpios = <&gpios 9 GPIO_ACTIVE_HIGH>;
+ };
+
+ broadband-red {
+ label = "bthomehubv2b:red:broadband";
+ gpios = <&gpios 10 GPIO_ACTIVE_HIGH>;
+ };
+ broadband-orange {
+ label = "bthomehubv2b:orange:broadband";
+ gpios = <&gpios 11 GPIO_ACTIVE_HIGH>;
+ };
+ broadband_blue: broadband-blue {
+ label = "bthomehubv2b:blue:broadband";
+ gpios = <&gpios 12 GPIO_ACTIVE_HIGH>;
+ };
+
+ power_red: power-red {
+ label = "bthomehubv2b:red:power";
+ gpios = <&gpios 13 GPIO_ACTIVE_HIGH>;
+ };
+ power_orange: power-orange {
+ label = "bthomehubv2b:orange:power";
+ gpios = <&gpios 14 GPIO_ACTIVE_HIGH>;
+ default-state = "keep";
+ };
+ power_blue: power-blue {
+ label = "bthomehubv2b:blue:power";
+ gpios = <&gpios 15 GPIO_ACTIVE_HIGH>;
+ };
+ };
+};
+
+&gpio {
+ pinctrl-names = "default";
+ pinctrl-0 = <&state_default>;
+
+ state_default: pinmux {
+ exin {
+ lantiq,groups = "exin1";
+ lantiq,function = "exin";
+ };
+
+ pci_rst {
+ lantiq,pins = "io21";
+ lantiq,output = <1>;
+ lantiq,open-drain = <0>;
+ };
+
+ btn_in {
+ lantiq,pins = "io2", "io15", "io22";
+ lantiq,output = <0>;
+ lantiq,open-drain = <1>;
+ lantiq,pull = <2>;
+ };
+ };
+};
+
+&gpios {
+ status = "okay";
+};
+
+&gsw {
+ phy-mode = "rmii";
+};
+
+&localbus {
+ flash@0 { /* NOR Flash: Spansion S29AL004D 512KB */
+ compatible = "lantiq,nor"; /* "AMD AM29LV400BB" compatible on 3.3.8 */
+ lantiq,cs = <0>;
+ bank-width = <2>;
+ reg = <0 0x0 0x80000>;
+
+ partitions {
+ compatible = "fixed-partitions";
+ #address-cells = <1>;
+ #size-cells = <1>;
+
+ partition@0 {
+ label = "uboot";
+ reg = <0x00000 0x40000>; /* 256KB */
+ };
+
+ partition@40000 {
+ label = "uboot_env";
+ reg = <0x40000 0x10000>; /* 64KB */
+ };
+
+ partition@50000 {
+ label = "rg_conf_1";
+ reg = <0x50000 0x10000>;
+ };
+
+ partition@60000 {
+ label = "rg_conf_2";
+ reg = <0x60000 0x10000>;
+ };
+
+ partition@70000 {
+ label = "rg_conf_factory";
+ reg = <0x70000 0x10000>;
+ };
+ };
+ };
+
+ flash@1 { /* NAND Flash: Samsung K9F5608U0D-JIB0 32MB */
+ compatible = "lantiq,nand-xway";
+ lantiq,cs = <1>;
+ bank-width = <2>;
+ reg = <1 0x0 0x2000000 >;
+ req-mask = <0x1>; /* PCI request lines to mask during NAND access */
+
+ pinctrl-0 = <&nand_pins>, <&nand_cs1_pins>;
+ pinctrl-names = "default";
+
+ partitions {
+ compatible = "fixed-partitions";
+ #address-cells = <1>;
+ #size-cells = <1>;
+
+ ath9k_cal: partition@0 {
+ label = "art"; /* Atheros 9160 wifi b/g/n radio EEPROM */
+ reg = <0x00000 0x4000>;
+ read-only;
+ };
+
+ partition@4000 {
+ label = "kernel";
+ reg = <0x4000 0x200000>;
+ };
+
+ partition@164000 {
+ label = "ubi";
+ reg = <0x204000 0x1dfc000>;
+ };
+ };
+ };
+};
+
+&pci0 {
+ status = "okay";
+
+ pinctrl-0 = <&pci_gnt1_pins>, <&pci_req1_pins>;
+ pinctrl-names = "default";
+
+ gpio-reset = <&gpio 21 GPIO_ACTIVE_HIGH>;
+
+ wifi@168c,0027 {
+ compatible = "pci168c,0027";
+ reg = <0x7000 0 0 0 0>;
+ qca,no-eeprom; /* load from ath9k-eeprom-pci-0000:00:0e.0.bin */
+ };
+};
+
+&usb_phy {
+ status = "okay";
+};
+
+&usb {
+ status = "okay";
+};
+
+&vmmc {
+ status = "okay";
+ gpios = <&gpio 31 GPIO_ACTIVE_HIGH>;
+};
diff --git a/target/linux/lantiq/files-4.19/arch/mips/boot/dts/lantiq/danube_lantiq_easy50712.dts b/target/linux/lantiq/files-4.19/arch/mips/boot/dts/lantiq/danube_lantiq_easy50712.dts
new file mode 100644
index 0000000000..1afc74900e
--- /dev/null
+++ b/target/linux/lantiq/files-4.19/arch/mips/boot/dts/lantiq/danube_lantiq_easy50712.dts
@@ -0,0 +1,72 @@
+/dts-v1/;
+
+#include "danube.dtsi"
+
+/ {
+ compatible = "lantiq,easy50712", "lantiq,xway", "lantiq,danube";
+ model = "Intel EASY50712 Nand";
+
+ chosen {
+ bootargs = "console=ttyLTQ0,115200";
+ };
+
+ memory@0 {
+ device_type = "memory";
+ reg = <0x0 0x2000000>;
+ };
+};
+
+&gpio {
+ pinctrl-names = "default";
+ pinctrl-0 = <&state_default>;
+
+ state_default: pinmux {
+ exin {
+ lantiq,groups = "exin1";
+ lantiq,function = "exin";
+ };
+ };
+};
+
+&gsw {
+ phy-mode = "rmii";
+};
+
+&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 0x10000>; /* 64 KB */
+ };
+
+ partition@10000 {
+ label = "uboot_env";
+ reg = <0x10000 0x10000>; /* 64 KB */
+ };
+
+ partition@20000 {
+ label = "firmware";
+ reg = <0x20000 0x3d0000>;
+ };
+
+ partition@400000 {
+ label = "rootfs";
+ reg = <0x400000 0x400000>;
+ };
+ };
+ };
+};
+
+&pci0 {
+ pinctrl-0 = <&pci_gnt1_pins>, <&pci_req1_pins>;
+ pinctrl-names = "default";
+};
diff --git a/target/linux/lantiq/files-4.19/arch/mips/boot/dts/lantiq/danube_siemens_gigaset-sx76x.dts b/target/linux/lantiq/files-4.19/arch/mips/boot/dts/lantiq/danube_siemens_gigaset-sx76x.dts
new file mode 100644
index 0000000000..0072f7e2b1
--- /dev/null
+++ b/target/linux/lantiq/files-4.19/arch/mips/boot/dts/lantiq/danube_siemens_gigaset-sx76x.dts
@@ -0,0 +1,119 @@
+/dts-v1/;
+
+#include "danube.dtsi"
+
+#include <dt-bindings/input/input.h>
+
+/ {
+ compatible = "siemens,gigaset-sx76x", "lantiq,xway", "lantiq,danube";
+ model = "Gigaset SX761,SX762,SX763";
+
+ chosen {
+ bootargs = "console=ttyLTQ0,115200";
+ };
+
+ memory@0 {
+ device_type = "memory";
+ reg = <0x0 0x2000000>;
+ };
+
+ keys {
+ compatible = "gpio-keys-polled";
+ poll-interval = <100>;
+
+ reset {
+ label = "reset";
+ gpios = <&gpio 14 GPIO_ACTIVE_HIGH>;
+ linux,code = <KEY_RESTART>;
+ };
+ };
+
+ gpio_export {
+ compatible = "gpio-export";
+ #size-cells = <0>;
+
+ switch {
+ gpio-export,name = "switch";
+ gpio-export,output = <1>;
+ gpios = <&gpio 19 GPIO_ACTIVE_HIGH>;
+ };
+ };
+
+ usb_vbus: regulator-usb-vbus {
+ compatible = "regulator-fixed";
+
+ regulator-name = "USB_VBUS";
+
+ regulator-min-microvolt = <5000000>;
+ regulator-max-microvolt = <5000000>;
+
+ gpio = <&gpio 29 GPIO_ACTIVE_HIGH>;
+ enable-active-high;
+ };
+};
+
+&gpios {
+ status = "okay";
+};
+
+&gsw {
+ phy-mode = "rmii";
+};
+
+&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 = <0x0 0x30000>;
+ };
+
+ partition@10000 {
+ label = "uboot_env";
+ reg = <0x30000 0x10000>;
+ };
+
+ partition@40000 {
+ label = "firmware";
+ reg = <0x40000 0x7c0000>;
+ };
+ };
+ };
+
+ gpiomm: gpio@1 {
+ compatible = "lantiq,gpio-mm";
+ reg = <1 0x0 0x10 >;
+ #address-cells = <1>;
+ #size-cells = <1>;
+ #gpio-cells = <2>;
+ gpio-controller;
+ lantiq,shadow = <0x3>;
+ };
+};
+
+&pci0 {
+ status = "okay";
+ gpio-reset = <&gpio 21 GPIO_ACTIVE_HIGH>;
+};
+
+&usb_phy {
+ status = "okay";
+};
+
+&usb {
+ status = "okay";
+ vbus-supply = <&usb_vbus>;
+};
+
+&vmmc {
+ status = "okay";
+ gpios = <&gpiomm 1 GPIO_ACTIVE_HIGH>;
+};
diff --git a/target/linux/lantiq/files-4.19/arch/mips/boot/dts/lantiq/falcon.dtsi b/target/linux/lantiq/files-4.19/arch/mips/boot/dts/lantiq/falcon.dtsi
new file mode 100644
index 0000000000..dada3bcff2
--- /dev/null
+++ b/target/linux/lantiq/files-4.19/arch/mips/boot/dts/lantiq/falcon.dtsi
@@ -0,0 +1,366 @@
+/ {
+ #address-cells = <1>;
+ #size-cells = <1>;
+ compatible = "lantiq,falcon";
+
+ cpus {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ cpu@0 {
+ compatible = "mips,mips34kc";
+ reg = <0>;
+ };
+ };
+
+ aliases {
+ serial0 = &serial0;
+ serial1 = &serial1;
+ gpio0 = &gpio0;
+ gpio1 = &gpio1;
+ gpio2 = &gpio2;
+ gpio3 = &gpio3;
+ gpio4 = &gpio4;
+ };
+
+ chosen {
+ stdout-path = "serial0:115200n8";
+ };
+
+ ebu_cs0: localbus@10000000 {
+ #address-cells = <1>;
+ #size-cells = <1>;
+ compatible = "lantiq,localbus", "simple-bus";
+ reg = <0x10000000 0x4000000>;
+ ranges = <0x0 0x10000000 0x4000000>;
+ };
+ ebu_cs1: localbus@14000000 {
+ #address-cells = <1>;
+ #size-cells = <1>;
+ compatible = "lantiq,localbus", "simple-bus";
+ reg = <0x14000000 0x4000000>;
+ ranges = <0x0 0x14000000 0x4000000>;
+ };
+
+ ebu@18000000 {
+ compatible = "lantiq,ebu-falcon";
+ reg = <0x18000000 0x100>;
+ };
+
+ sbs2@1d000000 {
+ #address-cells = <1>;
+ #size-cells = <1>;
+ compatible = "lantiq,sysb2", "simple-bus";
+ reg = <0x1d000000 0x1000000>;
+ ranges = <0x0 0x1d000000 0x1000000>;
+
+ clock_sysgpe: clock-controller@700000 {
+ compatible = "lantiq,sysgpe-falcon";
+ reg = <0x700000 0x100>;
+ #clock-cells = <1>;
+ };
+
+ mps@4000 {
+ compatible = "lantiq,mps-falcon", "lantiq,mps-xrx100";
+ reg = <0x4000 0x1000>;
+ interrupt-parent = <&icu0>;
+ interrupts = <154 155>;
+ lantiq,mbx = <&mpsmbx>;
+ };
+
+ gpio0: gpio@810000 {
+ compatible = "lantiq,falcon-gpio";
+ gpio-controller;
+ #gpio-cells = <2>;
+ interrupt-controller;
+ #interrupt-cells = <2>;
+ interrupt-parent = <&icu0>;
+ interrupts = <44>;
+ reg = <0x810000 0x80>;
+ clocks = <&clock_syseth 16>;
+ };
+
+ gpio2: gpio@810100 {
+ compatible = "lantiq,falcon-gpio";
+ gpio-controller;
+ #gpio-cells = <2>;
+ interrupt-controller;
+ #interrupt-cells = <2>;
+ interrupt-parent = <&icu0>;
+ interrupts = <46>;
+ reg = <0x810100 0x80>;
+ clocks = <&clock_syseth 17>;
+ };
+
+ clock_syseth: clock-controller@b00000 {
+ compatible = "lantiq,syseth-falcon";
+ reg = <0xb00000 0x100>;
+ #clock-cells = <1>;
+ };
+
+ pad@b01000 {
+ compatible = "lantiq,pad-falcon";
+ reg = <0xb01000 0x100>;
+ lantiq,bank = <0>;
+ clocks = <&clock_syseth 20>;
+ };
+
+ pad@b02000 {
+ compatible = "lantiq,pad-falcon";
+ reg = <0xb02000 0x100>;
+ lantiq,bank = <2>;
+ clocks = <&clock_syseth 21>;
+ };
+ };
+
+ fpi@1e000000 {
+ #address-cells = <1>;
+ #size-cells = <1>;
+ compatible = "lantiq,fpi", "simple-bus";
+ reg = <0x1e000000 0x1000000>;
+ ranges = <0x0 0x1e000000 0x1000000>;
+
+ serial1: serial@100b00 {
+ status = "disabled";
+ compatible = "lantiq,asc";
+ reg = <0x100b00 0x100>;
+ interrupt-parent = <&icu0>;
+ interrupts = <112 113 114>;
+ line = <1>;
+ pinctrl-names = "default";
+ pinctrl-0 = <&asc1_pins>;
+ clocks = <&clock_sys1 11>;
+ };
+
+ serial0: serial@100c00 {
+ compatible = "lantiq,asc";
+ reg = <0x100c00 0x100>;
+ interrupt-parent = <&icu0>;
+ interrupts = <104 105 106>;
+ line = <0>;
+ pinctrl-names = "default";
+ pinctrl-0 = <&asc0_pins>;
+ clocks = <&clock_sys1 12>;
+ };
+
+ spi: spi@100d00 {
+ status = "disabled";
+ compatible = "lantiq,falcon-spi", "lantiq,xrx100-spi", "lantiq,spi-lantiq-ssc";
+ interrupts = <22 23 24 25>;
+ interrupt-names = "spi_tx", "spi_rx", "spi_err", "spi_frm";
+ #address-cells = <1>;
+ #size-cells = <0>;
+ reg = <0x100d00 0x100>;
+ interrupt-parent = <&icu0>;
+ clocks = <&clock_sys1 13>;
+ base_cs = <1>;
+ num_cs = <2>;
+ };
+
+ gptc@100e00 {
+ compatible = "lantiq,gptc-falcon";
+ reg = <0x100e00 0x100>;
+ };
+
+ i2c: i2c@200000 {
+ status = "disabled";
+ #address-cells = <1>;
+ #size-cells = <0>;
+ compatible = "lantiq,lantiq-i2c";
+ reg = <0x200000 0x10000>;
+ interrupt-parent = <&icu0>;
+ interrupts = <18 19 20 21>;
+ gpios = <&gpio1 7 0 &gpio1 8 0>;
+ pinctrl-names = "default";
+ pinctrl-0 = <&i2c_pins>;
+ clocks = <&clock_sys1 14>;
+ };
+
+ gpio1: gpio@800100 {
+ compatible = "lantiq,falcon-gpio";
+ gpio-controller;
+ #gpio-cells = <2>;
+ interrupt-controller;
+ #interrupt-cells = <2>;
+ interrupt-parent = <&icu0>;
+ interrupts = <45>;
+ reg = <0x800100 0x100>;
+ clocks = <&clock_sys1 16>;
+ };
+
+ gpio3: gpio@800200 {
+ compatible = "lantiq,falcon-gpio";
+ gpio-controller;
+ #gpio-cells = <2>;
+ interrupt-controller;
+ #interrupt-cells = <2>;
+ interrupt-parent = <&icu0>;
+ interrupts = <47>;
+ reg = <0x800200 0x100>;
+ clocks = <&clock_sys1 17>;
+ };
+
+ gpio4: gpio@800300 {
+ compatible = "lantiq,falcon-gpio";
+ gpio-controller;
+ #gpio-cells = <2>;
+ interrupt-controller;
+ #interrupt-cells = <2>;
+ interrupt-parent = <&icu0>;
+ interrupts = <48>;
+ reg = <0x800300 0x100>;
+ clocks = <&clock_sys1 18>;
+ };
+
+ pad@800400 {
+ compatible = "lantiq,pad-falcon";
+ reg = <0x800400 0x100>;
+ lantiq,bank = <1>;
+ clocks = <&clock_sys1 20>;
+ };
+
+ pad@800500 {
+ compatible = "lantiq,pad-falcon";
+ reg = <0x800500 0x100>;
+ lantiq,bank = <3>;
+ clocks = <&clock_sys1 21>;
+ };
+
+ pad@800600 {
+ compatible = "lantiq,pad-falcon";
+ reg = <0x800600 0x100>;
+ lantiq,bank = <4>;
+ clocks = <&clock_sys1 22>;
+ };
+
+ status@802000 {
+ compatible = "lantiq,status-falcon";
+ reg = <0x802000 0x80>;
+ };
+
+ clock_sys1: clock-controller@f00000 {
+ compatible = "lantiq,sys1-falcon";
+ reg = <0xf00000 0x100>;
+ #clock-cells = <1>;
+ };
+ };
+
+ sbs0@1f000000 {
+ #address-cells = <1>;
+ #size-cells = <1>;
+ compatible = "simple-bus";
+ reg = <0x1f000000 0x400000>;
+ ranges = <0x0 0x1f000000 0x400000>;
+
+ mpsmbx: mpsmbx@200000 {
+ reg = <0x200000 0x200>;
+ };
+ };
+
+ biu@1f800000 {
+ #address-cells = <1>;
+ #size-cells = <1>;
+ compatible = "lantiq,biu", "simple-bus";
+ reg = <0x1f800000 0x800000>;
+ ranges = <0x0 0x1f800000 0x800000>;
+
+ icu0: icu@80200 {
+ #interrupt-cells = <1>;
+ interrupt-controller;
+ compatible = "lantiq,icu";
+ reg = <0x80200 0x28
+ 0x80228 0x28
+ 0x80250 0x28
+ 0x80278 0x28
+ 0x802a0 0x28>;
+ };
+
+ watchdog@803f0 {
+ compatible = "lantiq,wdt";
+ reg = <0x803f0 0x10>;
+ };
+ };
+
+ pinctrl {
+ compatible = "lantiq,pinctrl-falcon";
+ pinctrl-names = "default";
+ pinctrl-0 = <&state_default>;
+
+ state_default: pinctrl0 {
+ /*ntr {
+ lantiq,groups = "ntr8k";
+ lantiq,function = "ntr";
+ };*/
+ hrst {
+ lantiq,groups = "hrst";
+ lantiq,function = "rst";
+ };
+ };
+
+ asc0_pins: asc0 {
+ asc0 {
+ lantiq,groups = "asc0";
+ lantiq,function = "asc";
+ };
+ };
+ asc1_pins: asc1 {
+ asc1 {
+ lantiq,groups = "asc1";
+ lantiq,function = "asc";
+ };
+ };
+ i2c_pins: i2c_pins {
+ i2c_pins {
+ lantiq,groups = "i2c";
+ lantiq,function = "i2c";
+ };
+ };
+ bootled_pins: bootled {
+ bootled {
+ lantiq,groups = "bootled";
+ lantiq,function = "led";
+ };
+ };
+ ntr_ntr8k: ntr8k {
+ ntr8k {
+ lantiq,groups = "ntr8k";
+ lantiq,function = "ntr";
+ };
+ };
+ ntr_pps: pps {
+ pps {
+ lantiq,groups = "pps";
+ lantiq,function = "ntr";
+ };
+ };
+ ntr_gpio: gpio {
+ gpio {
+ lantiq,pins = "io5";
+ lantiq,mux = <1>;
+ lantiq,output = <0>;
+ };
+ };
+ slic_pins: slic {
+ slic {
+ lantiq,groups = "slic";
+ lantiq,function = "slic";
+ };
+ };
+ };
+
+ pinselect-ntr {
+ compatible = "lantiq,onu-ntr","lantiq,pinselect-ntr";
+ pinctrl-names = "ntr8k", "pps", "gpio";
+ pinctrl-0 = <&ntr_ntr8k>;
+ pinctrl-1 = <&ntr_pps>;
+ pinctrl-2 = <&ntr_gpio>;
+ };
+
+ pinselect-asc1 {
+ compatible = "lantiq,onu-asc1","lantiq,pinselect-asc1";
+ pinctrl-names = "default", "asc1";
+ pinctrl-0 = <&slic_pins>;
+ pinctrl-1 = <&asc1_pins>;
+ };
+
+};
diff --git a/target/linux/lantiq/files-4.19/arch/mips/boot/dts/lantiq/falcon_lantiq_easy88388.dts b/target/linux/lantiq/files-4.19/arch/mips/boot/dts/lantiq/falcon_lantiq_easy88388.dts
new file mode 100644
index 0000000000..22ce8caced
--- /dev/null
+++ b/target/linux/lantiq/files-4.19/arch/mips/boot/dts/lantiq/falcon_lantiq_easy88388.dts
@@ -0,0 +1,93 @@
+/dts-v1/;
+
+#include <dt-bindings/gpio/gpio.h>
+#include "falcon.dtsi"
+#include "falcon_sflash-16m.dtsi"
+
+/ {
+ model = "Lantiq Falcon FTTDP8 Reference Board";
+ compatible = "lantiq,easy88388", "lantiq,falcon";
+
+ aliases {
+ spi0 = &ebu_cs0;
+ };
+
+ memory@0 {
+ device_type = "memory";
+ reg = <0x0 0x4000000>; // 64M at 0x0
+ };
+
+ keys {
+ compatible = "gpio-keys";
+ reset {
+ label = "reset";
+ gpios = <&gpio0 1 GPIO_ACTIVE_LOW>;
+ linux,code = <0x198>;
+ };
+ };
+
+ pinctrl {
+ led_pins: led-pins {
+ lantiq,pins = "io34", "io35", "io36", "io37", "io38",
+ "io39", "io40", "io41";
+ lantiq,function = "gpio";
+ };
+ };
+
+ leds {
+ compatible = "gpio-leds";
+ pinctrl-names = "default";
+ pinctrl-0 = <&led_pins &bootled_pins>;
+
+ GPON {
+ label = "easy88388:green:gpon";
+ gpios = <&gpio0 11 GPIO_ACTIVE_HIGH>;
+ };
+ TEST {
+ label = "easy88388:green:test";
+ gpios = <&gpio0 14 GPIO_ACTIVE_HIGH>;
+ };
+ STATUS {
+ label = "easy88388:green:status";
+ gpios = <&gpio1 5 GPIO_ACTIVE_HIGH>;
+ };
+ ERROR {
+ label = "easy88388:red:error";
+ gpios = <&gpio1 6 GPIO_ACTIVE_HIGH>;
+ };
+
+ DSL1 {
+ label = "easy88388:dsl:1";
+ gpios = <&gpio0 12 GPIO_ACTIVE_HIGH>;
+ };
+ DSL2 {
+ label = "easy88388:dsl:2";
+ gpios = <&gpio0 13 GPIO_ACTIVE_HIGH>;
+ };
+ DSL3 {
+ label = "easy88388:dsl:3";
+ gpios = <&gpio1 2 GPIO_ACTIVE_HIGH>;
+ };
+ DSL4 {
+ label = "easy88388:dsl:4";
+ gpios = <&gpio1 3 GPIO_ACTIVE_HIGH>;
+ };
+ DSL5 {
+ label = "easy88388:dsl:5";
+ gpios = <&gpio1 4 GPIO_ACTIVE_HIGH>;
+ };
+ DSL6 {
+ label = "easy88388:dsl:6";
+ gpios = <&gpio1 7 GPIO_ACTIVE_HIGH>;
+ };
+ DSL7 {
+ label = "easy88388:dsl:7";
+ gpios = <&gpio1 8 GPIO_ACTIVE_HIGH>;
+ };
+ DSL8 {
+ label = "easy88388:dsl:8";
+ gpios = <&gpio1 9 GPIO_ACTIVE_HIGH>;
+ };
+ };
+};
+
diff --git a/target/linux/lantiq/files-4.19/arch/mips/boot/dts/lantiq/falcon_lantiq_easy88444.dts b/target/linux/lantiq/files-4.19/arch/mips/boot/dts/lantiq/falcon_lantiq_easy88444.dts
new file mode 100644
index 0000000000..fa331450bf
--- /dev/null
+++ b/target/linux/lantiq/files-4.19/arch/mips/boot/dts/lantiq/falcon_lantiq_easy88444.dts
@@ -0,0 +1,72 @@
+/dts-v1/;
+
+#include <dt-bindings/gpio/gpio.h>
+#include "falcon.dtsi"
+#include "falcon_sflash-16m.dtsi"
+
+/ {
+ model = "Lantiq Falcon FTTdp G.FAST Reference Board";
+ compatible = "lantiq,easy88444", "lantiq,falcon";
+
+ aliases {
+ spi0 = &ebu_cs0;
+ };
+
+ memory@0 {
+ device_type = "memory";
+ reg = <0x0 0x4000000>; // 64M at 0x0
+ };
+
+ keys {
+ compatible = "gpio-keys";
+ reset {
+ label = "reset";
+ gpios = <&gpio0 1 GPIO_ACTIVE_LOW>;
+ linux,code = <0x198>;
+ };
+ };
+
+ pinctrl {
+ led_pins: led-pins {
+ lantiq,pins = "io34", "io35", "io37";
+ lantiq,function = "gpio";
+ };
+ };
+
+ leds {
+ compatible = "gpio-leds";
+ pinctrl-names = "default";
+ pinctrl-0 = <&led_pins &bootled_pins>;
+
+ GPON {
+ label = "easy88444:green:gpon";
+ gpios = <&gpio0 11 GPIO_ACTIVE_HIGH>;
+ };
+ TEST {
+ label = "easy88444:green:test";
+ gpios = <&gpio0 14 GPIO_ACTIVE_HIGH>;
+ };
+ STATUS {
+ label = "easy88444:green:status";
+ gpios = <&gpio1 5 GPIO_ACTIVE_HIGH>;
+ };
+
+ GFAST1 {
+ label = "easy88444:gfast:1";
+ gpios = <&gpio0 12 GPIO_ACTIVE_HIGH>;
+ };
+ GFAST2 {
+ label = "easy88444:gfast:2";
+ gpios = <&gpio0 13 GPIO_ACTIVE_HIGH>;
+ };
+ GFAST3 {
+ label = "easy88444:gfast:3";
+ gpios = <&gpio1 2 GPIO_ACTIVE_HIGH>;
+ };
+ GFAST4 {
+ label = "easy88444:gfast:4";
+ gpios = <&gpio1 3 GPIO_ACTIVE_HIGH>;
+ };
+ };
+};
+
diff --git a/target/linux/lantiq/files-4.19/arch/mips/boot/dts/lantiq/falcon_lantiq_easy98000-nand.dts b/target/linux/lantiq/files-4.19/arch/mips/boot/dts/lantiq/falcon_lantiq_easy98000-nand.dts
new file mode 100644
index 0000000000..2107da5435
--- /dev/null
+++ b/target/linux/lantiq/files-4.19/arch/mips/boot/dts/lantiq/falcon_lantiq_easy98000-nand.dts
@@ -0,0 +1,39 @@
+/dts-v1/;
+
+#include "falcon_lantiq_easy98000.dtsi"
+
+/ {
+ model = "Lantiq Falcon (NAND)";
+ compatible = "lantiq,easy98000-nand", "lantiq,easy98000", "lantiq,falcon";
+
+ aliases {
+ spi0 = &spi;
+ };
+};
+
+&ebu_cs0 {
+ flash@0 {
+ compatible = "gen_nand", "lantiq,nand-falcon";
+ bank-width = <1>;
+ reg = <0x0 0x40000>;
+ #address-cells = <1>;
+ #size-cells = <1>;
+ linux,mtd-name = "gen_nand";
+ bbt-use-flash;
+
+ partition@0 {
+ label = "uboot";
+ reg = <0x00000 0x40000>;
+ };
+
+ partition@10000 {
+ label = "uboot_env";
+ reg = <0x40000 0x40000>;
+ };
+
+ partition@20000 {
+ label = "linux";
+ reg = <0x80000 0x3d0000>;
+ };
+ };
+};
diff --git a/target/linux/lantiq/files-4.19/arch/mips/boot/dts/lantiq/falcon_lantiq_easy98000-nor.dts b/target/linux/lantiq/files-4.19/arch/mips/boot/dts/lantiq/falcon_lantiq_easy98000-nor.dts
new file mode 100644
index 0000000000..56d0fe0bc3
--- /dev/null
+++ b/target/linux/lantiq/files-4.19/arch/mips/boot/dts/lantiq/falcon_lantiq_easy98000-nor.dts
@@ -0,0 +1,41 @@
+/dts-v1/;
+
+#include "falcon_lantiq_easy98000.dtsi"
+
+/ {
+ model = "Lantiq Falcon (NOR)";
+ compatible = "lantiq,easy98000-nor", "lantiq,easy98000", "lantiq,falcon";
+
+ aliases {
+ spi0 = &spi;
+ };
+};
+
+&ebu_cs0 {
+ flash@0 {
+ compatible = "lantiq,nor";
+ bank-width = <2>;
+ reg = <0x0 0x4000000>;
+
+ partitions {
+ compatible = "fixed-partitions";
+ #address-cells = <1>;
+ #size-cells = <1>;
+
+ partition@0 {
+ label = "uboot";
+ reg = <0x00000 0x40000>;
+ };
+
+ partition@10000 {
+ label = "uboot_env";
+ reg = <0x40000 0x40000>;
+ };
+
+ partition@20000 {
+ label = "linux";
+ reg = <0x80000 0x3d0000>;
+ };
+ };
+ };
+};
diff --git a/target/linux/lantiq/files-4.19/arch/mips/boot/dts/lantiq/falcon_lantiq_easy98000-sflash.dts b/target/linux/lantiq/files-4.19/arch/mips/boot/dts/lantiq/falcon_lantiq_easy98000-sflash.dts
new file mode 100644
index 0000000000..8c931746ed
--- /dev/null
+++ b/target/linux/lantiq/files-4.19/arch/mips/boot/dts/lantiq/falcon_lantiq_easy98000-sflash.dts
@@ -0,0 +1,14 @@
+/dts-v1/;
+
+#include "falcon_lantiq_easy98000.dtsi"
+#include "falcon_sflash-16m.dtsi"
+
+/ {
+ model = "Lantiq Falcon (SFLASH)";
+ compatible = "lantiq,easy98000-sflash", "lantiq,easy98000", "lantiq,falcon";
+
+ aliases {
+ spi0 = &ebu_cs0;
+ spi1 = &spi;
+ };
+};
diff --git a/target/linux/lantiq/files-4.19/arch/mips/boot/dts/lantiq/falcon_lantiq_easy98000.dtsi b/target/linux/lantiq/files-4.19/arch/mips/boot/dts/lantiq/falcon_lantiq_easy98000.dtsi
new file mode 100644
index 0000000000..5821c51def
--- /dev/null
+++ b/target/linux/lantiq/files-4.19/arch/mips/boot/dts/lantiq/falcon_lantiq_easy98000.dtsi
@@ -0,0 +1,110 @@
+#include <dt-bindings/interrupt-controller/irq.h>
+#include <dt-bindings/gpio/gpio.h>
+
+#include "falcon.dtsi"
+
+/ {
+ compatible = "lantiq,easy98000", "lantiq,falcon";
+
+ memory@0 {
+ device_type = "memory";
+ reg = <0x0 0x4000000>;
+ };
+
+ leds {
+ compatible = "gpio-leds";
+ pinctrl-names = "default";
+ pinctrl-0 = <&bootled_pins>;
+
+ LED_0 {
+ label = "easy98000:green:gpon";
+ gpios = <&gpio0 9 GPIO_ACTIVE_HIGH>;
+ default-state = "keep";
+ };
+ LED_1 {
+ label = "easy98000:red:gpon";
+ gpios = <&gpio0 10 GPIO_ACTIVE_HIGH>;
+ default-state = "keep";
+ };
+ LED_2 {
+ label = "easy98000:green:gpon_tx";
+ gpios = <&gpio0 11 GPIO_ACTIVE_HIGH>;
+ default-state = "keep";
+ };
+ LED_3 {
+ label = "easy98000:green:gpon_rx";
+ gpios = <&gpio0 12 GPIO_ACTIVE_HIGH>;
+ default-state = "keep";
+ };
+ LED_4 {
+ label = "easy98000:green:voice";
+ gpios = <&gpio0 13 GPIO_ACTIVE_HIGH>;
+ default-state = "keep";
+ };
+ LED_5 {
+ label = "easy98000:green:status";
+ gpios = <&gpio0 14 GPIO_ACTIVE_HIGH>;
+ default-state = "keep";
+ };
+ };
+};
+
+&ebu_cs1 {
+ eth0: ethernet@3 {
+ compatible = "davicom,dm9000";
+ device_type = "network";
+ reg = <0x0000003 0x1>, <0x0000001 0x1>;
+ reg-names = "addr", "data";
+ interrupt-parent = <&gpio1>;
+ #interrupt-cells = <2>;
+ interrupts = <10 IRQ_TYPE_LEVEL_LOW>;
+ local-mac-address = [ 00 00 00 00 00 00 ];
+ };
+
+ cpld@3c00000 {
+ compatible = "lantiq,easy98000_addon";
+ reg = <0x3c00000 0x2>;
+ };
+
+ cpld@3c0000c {
+ compatible = "lantiq,easy98000_cpld_led";
+ reg = <0x3c0000c 0x2>, <0x3c00012 0x2>;
+ };
+};
+
+/* // enable this for second uart:
+&serial1 {
+ status = "okay";
+};*/
+
+&spi {
+ status = "okay";
+
+ eeprom@2 {
+ compatible = "atmel,at25", "atmel,at25160n";
+ reg = <2>;
+ spi-max-frequency = <1000000>;
+ spi-cpha;
+ spi-cpol;
+
+ pagesize = <32>;
+ size = <2048>;
+ address-width = <16>;
+ };
+};
+
+&i2c {
+ status = "okay";
+
+ clock-frequency = <100000>;
+
+ /* eeprom-emulation by OMU */
+ eeprom@50 {
+ compatible = "at,24c02";
+ reg = <0x50>;
+ };
+ eeprom@51 {
+ compatible = "at,24c02";
+ reg = <0x51>;
+ };
+};
diff --git a/target/linux/lantiq/files-4.19/arch/mips/boot/dts/lantiq/falcon_lantiq_easy98020-v18.dts b/target/linux/lantiq/files-4.19/arch/mips/boot/dts/lantiq/falcon_lantiq_easy98020-v18.dts
new file mode 100644
index 0000000000..773a490019
--- /dev/null
+++ b/target/linux/lantiq/files-4.19/arch/mips/boot/dts/lantiq/falcon_lantiq_easy98020-v18.dts
@@ -0,0 +1,68 @@
+/dts-v1/;
+
+#include <dt-bindings/gpio/gpio.h>
+
+#include "falcon.dtsi"
+#include "falcon_sflash-16m.dtsi"
+
+/ {
+ model = "Lantiq Falcon Reference Board V1.8";
+ compatible = "lantiq,easy98020-v18", "lantiq,easy98020", "lantiq,falcon";
+
+ aliases {
+ spi0 = &ebu_cs0;
+ };
+
+ memory@0 {
+ device_type = "memory";
+ reg = <0x0 0x4000000>; // 64M at 0x0
+ };
+
+ keys {
+ compatible = "gpio-keys";
+ reset {
+ label = "reset";
+ gpios = <&gpio0 1 GPIO_ACTIVE_LOW>;
+ linux,code = <0x198>;
+ };
+ };
+
+ pinctrl {
+ led_pins: led-pins {
+ lantiq,pins = "io11", "io14", "io36", "io37", "io38";
+ lantiq,function = "gpio";
+ };
+ };
+
+ leds {
+ compatible = "gpio-leds";
+ pinctrl-names = "default";
+ pinctrl-0 = <&led_pins &bootled_pins>;
+
+ GPON {
+ label = "easy98020:green:gpon";
+ gpios = <&gpio0 11 GPIO_ACTIVE_HIGH>;
+ default-state = "keep";
+ };
+ TEST {
+ label = "easy98020:green:test";
+ gpios = <&gpio0 14 GPIO_ACTIVE_HIGH>;
+ default-state = "keep";
+ };
+ ETH {
+ label = "easy98020:green:status";
+ gpios = <&gpio1 4 GPIO_ACTIVE_HIGH>;
+ default-state = "keep";
+ };
+ VOICE {
+ label = "easy98020:green:voice";
+ gpios = <&gpio1 5 GPIO_ACTIVE_HIGH>;
+ default-state = "keep";
+ };
+ VIDEO {
+ label = "easy98020:green:video";
+ gpios = <&gpio1 6 GPIO_ACTIVE_HIGH>;
+ default-state = "keep";
+ };
+ };
+};
diff --git a/target/linux/lantiq/files-4.19/arch/mips/boot/dts/lantiq/falcon_lantiq_easy98020.dts b/target/linux/lantiq/files-4.19/arch/mips/boot/dts/lantiq/falcon_lantiq_easy98020.dts
new file mode 100644
index 0000000000..397764aac4
--- /dev/null
+++ b/target/linux/lantiq/files-4.19/arch/mips/boot/dts/lantiq/falcon_lantiq_easy98020.dts
@@ -0,0 +1,85 @@
+/dts-v1/;
+
+#include <dt-bindings/gpio/gpio.h>
+
+#include "falcon.dtsi"
+#include "falcon_sflash-16m.dtsi"
+
+/ {
+ model = "Lantiq Falcon Reference Board";
+ compatible = "lantiq,easy98020", "lantiq,falcon";
+
+ aliases {
+ spi0 = &ebu_cs0;
+ };
+
+ memory@0 {
+ device_type = "memory";
+ reg = <0x0 0x4000000>; // 64M at 0x0
+ };
+
+ keys {
+ compatible = "gpio-keys";
+ reset {
+ label = "reset";
+ gpios = <&gpio0 1 GPIO_ACTIVE_LOW>;
+ linux,code = <0x198>;
+ };
+ };
+
+ pinctrl {
+ led_pins: phy-led-pins {
+ lantiq,pins = "io42", "io41", "io38", "io37";
+ lantiq,function = "gpio";
+ };
+ };
+
+ leds {
+ compatible = "gpio-leds";
+ pinctrl-names = "default";
+ pinctrl-0 = <&bootled_pins>, <&led_pins>;
+
+ GPON {
+ label = "easy98020:green:gpon";
+ gpios = <&gpio0 9 GPIO_ACTIVE_HIGH>;
+ default-state = "keep";
+ };
+ TEST {
+ label = "easy98020:green:test";
+ gpios = <&gpio0 10 GPIO_ACTIVE_HIGH>;
+ default-state = "keep";
+ };
+ ETH {
+ label = "easy98020:green:status";
+ gpios = <&gpio0 11 GPIO_ACTIVE_HIGH>;
+ default-state = "keep";
+ };
+ VOICE {
+ label = "easy98020:green:voice";
+ gpios = <&gpio0 12 GPIO_ACTIVE_HIGH>;
+ default-state = "keep";
+ };
+ VIDEO {
+ label = "easy98020:green:video";
+ gpios = <&gpio0 13 GPIO_ACTIVE_HIGH>;
+ default-state = "keep";
+ };
+
+ GE0_ACT {
+ label = "easy98020:ge0_act";
+ gpios = <&gpio1 10 GPIO_ACTIVE_HIGH>;
+ };
+ GE0_LINK {
+ label = "easy98020:ge0_link";
+ gpios = <&gpio1 9 GPIO_ACTIVE_HIGH>;
+ };
+ GE1_ACT {
+ label = "easy98020:ge1_act";
+ gpios = <&gpio1 6 GPIO_ACTIVE_HIGH>;
+ };
+ GE1_LINK {
+ label = "easy98020:ge1_link";
+ gpios = <&gpio1 5 GPIO_ACTIVE_HIGH>;
+ };
+ };
+};
diff --git a/target/linux/lantiq/files-4.19/arch/mips/boot/dts/lantiq/falcon_lantiq_easy98021.dts b/target/linux/lantiq/files-4.19/arch/mips/boot/dts/lantiq/falcon_lantiq_easy98021.dts
new file mode 100644
index 0000000000..aa63268149
--- /dev/null
+++ b/target/linux/lantiq/files-4.19/arch/mips/boot/dts/lantiq/falcon_lantiq_easy98021.dts
@@ -0,0 +1,81 @@
+/dts-v1/;
+
+#include <dt-bindings/gpio/gpio.h>
+
+#include "falcon.dtsi"
+#include "falcon_sflash-16m.dtsi"
+
+/ {
+ model = "Lantiq Falcon HGU Reference Board";
+ compatible = "lantiq,easy98021", "lantiq,easy98020", "lantiq,falcon";
+
+ aliases {
+ spi0 = &ebu_cs0;
+ };
+
+ memory@0 {
+ device_type = "memory";
+ reg = <0x0 0x4000000>; // 64M at 0x0
+ };
+
+ keys {
+ compatible = "gpio-keys";
+ reset {
+ label = "reset";
+ gpios = <&gpio0 1 GPIO_ACTIVE_LOW>;
+ linux,code = <0x198>;
+ };
+ };
+
+ gpio-mmc {
+ /* Place-holder for SIM-Card connector,
+ to list the used GPIOs, no official binding */
+ compatible = "gpio-mmc";
+ gpios = <&gpio0 3 GPIO_ACTIVE_HIGH>,
+ <&gpio0 3 GPIO_ACTIVE_HIGH>,
+ <&gpio0 2 GPIO_ACTIVE_HIGH>,
+ <0>; /* no CS */
+ gpio-names = "di", "do", "clk", "cs";
+ reset-gpio = <&gpio3 24 GPIO_ACTIVE_HIGH>;
+ };
+
+ pinctrl {
+ led_pins: led-pins {
+ lantiq,pins = "io11", "io14", "io36", "io37", "io38";
+ lantiq,function = "gpio";
+ };
+ };
+
+ leds {
+ compatible = "gpio-leds";
+ pinctrl-names = "default";
+ pinctrl-0 = <&led_pins &bootled_pins>;
+
+ GPON {
+ label = "easy98021:green:gpon";
+ gpios = <&gpio0 11 GPIO_ACTIVE_HIGH>;
+ default-state = "keep";
+ };
+ TEST {
+ label = "easy98021:red:test";
+ gpios = <&gpio0 14 GPIO_ACTIVE_HIGH>;
+ default-state = "keep";
+ };
+ ETH {
+ label = "easy98021:green:status";
+ gpios = <&gpio1 4 GPIO_ACTIVE_HIGH>;
+ default-state = "keep";
+ };
+ VOICE {
+ label = "easy98021:green:voice";
+ gpios = <&gpio1 5 GPIO_ACTIVE_HIGH>;
+ default-state = "keep";
+ };
+ SIMCARD {
+ label = "easy98021:green:simcard";
+ gpios = <&gpio1 6 GPIO_ACTIVE_HIGH>;
+ default-state = "keep";
+ };
+ };
+};
+
diff --git a/target/linux/lantiq/files-4.19/arch/mips/boot/dts/lantiq/falcon_lantiq_easy98035synce.dts b/target/linux/lantiq/files-4.19/arch/mips/boot/dts/lantiq/falcon_lantiq_easy98035synce.dts
new file mode 100644
index 0000000000..f1ecebec3b
--- /dev/null
+++ b/target/linux/lantiq/files-4.19/arch/mips/boot/dts/lantiq/falcon_lantiq_easy98035synce.dts
@@ -0,0 +1,76 @@
+/dts-v1/;
+
+#include "falcon.dtsi"
+#include "falcon_sflash-16m.dtsi"
+
+/ {
+ model = "Lantiq Falcon SFP Stick with SyncE";
+ compatible = "lantiq,easy98035synce", "lantiq,falcon-sfp", "lantiq,falcon";
+
+ aliases {
+ spi0 = &ebu_cs0;
+ };
+
+ memory@0 {
+ device_type = "memory";
+ reg = <0x0 0x4000000>; // 64M at 0x0
+ };
+
+ pinctrl {
+ compatible = "lantiq,pinctrl-falcon";
+
+ asc0_func1: func1 {
+ func1_tx {
+ lantiq,pins = "io32";
+ lantiq,mux = <1>;
+ lantiq,input = <0>;
+ };
+ func1_rx {
+ lantiq,pins = "io33";
+ lantiq,mux = <0>;
+ };
+ };
+ asc0_func2: func2 {
+ func2_tx {
+ lantiq,pins = "io32";
+ lantiq,mux = <0>;
+ };
+ func2_rx {
+ lantiq,pins = "io33";
+ lantiq,mux = <1>;
+ lantiq,input = <0>;
+ };
+ };
+ asc0_func3: func3 {
+ func3_tx {
+ lantiq,pins = "io32";
+ lantiq,mux = <1>;
+ lantiq,input = <0>;
+ };
+ func3_rx {
+ lantiq,pins = "io33";
+ lantiq,mux = <1>;
+ lantiq,input = <0>;
+ };
+ };
+ };
+
+ pinselect-asc0 {
+ compatible = "lantiq,pinselect-asc0";
+ pinctrl-names = "asc0", "func1", "func2", "func3";
+ pinctrl-0 = <&asc0_pins>;
+ pinctrl-1 = <&asc0_func1>;
+ pinctrl-2 = <&asc0_func2>;
+ pinctrl-3 = <&asc0_func3>;
+ };
+};
+
+&serial0 {
+ pinctrl-names = "default";
+ /* use "empty" pinctrl to leave setting from u-boot enabled */
+ pinctrl-0 = < >;
+};
+
+&i2c {
+ status = "okay";
+};
diff --git a/target/linux/lantiq/files-4.19/arch/mips/boot/dts/lantiq/falcon_lantiq_easy98035synce1588.dts b/target/linux/lantiq/files-4.19/arch/mips/boot/dts/lantiq/falcon_lantiq_easy98035synce1588.dts
new file mode 100644
index 0000000000..98421174d3
--- /dev/null
+++ b/target/linux/lantiq/files-4.19/arch/mips/boot/dts/lantiq/falcon_lantiq_easy98035synce1588.dts
@@ -0,0 +1,76 @@
+/dts-v1/;
+
+#include "falcon.dtsi"
+#include "falcon_sflash-16m.dtsi"
+
+/ {
+ model = "Lantiq Falcon SFP Stick with SyncE/1588";
+ compatible = "lantiq,easy98035synce1588", "lantiq,falcon-sfp", "lantiq,falcon";
+
+ aliases {
+ spi0 = &ebu_cs0;
+ };
+
+ memory@0 {
+ device_type = "memory";
+ reg = <0x0 0x4000000>; // 64M at 0x0
+ };
+
+ pinctrl {
+ compatible = "lantiq,pinctrl-falcon";
+
+ asc0_func1: func1 {
+ func1_tx {
+ lantiq,pins = "io32";
+ lantiq,mux = <1>;
+ lantiq,input = <0>;
+ };
+ func1_rx {
+ lantiq,pins = "io33";
+ lantiq,mux = <0>;
+ };
+ };
+ asc0_func2: func2 {
+ func2_tx {
+ lantiq,pins = "io32";
+ lantiq,mux = <0>;
+ };
+ func2_rx {
+ lantiq,pins = "io33";
+ lantiq,mux = <1>;
+ lantiq,input = <0>;
+ };
+ };
+ asc0_func3: func3 {
+ func3_tx {
+ lantiq,pins = "io32";
+ lantiq,mux = <1>;
+ lantiq,input = <0>;
+ };
+ func3_rx {
+ lantiq,pins = "io33";
+ lantiq,mux = <1>;
+ lantiq,input = <0>;
+ };
+ };
+ };
+
+ pinselect-asc0 {
+ compatible = "lantiq,pinselect-asc0";
+ pinctrl-names = "asc0", "func1", "func2", "func3";
+ pinctrl-0 = <&asc0_pins>;
+ pinctrl-1 = <&asc0_func1>;
+ pinctrl-2 = <&asc0_func2>;
+ pinctrl-3 = <&asc0_func3>;
+ };
+};
+
+&serial0 {
+ pinctrl-names = "default";
+ /* use "empty" pinctrl to leave setting from u-boot enabled */
+ pinctrl-0 = < >;
+};
+
+&i2c {
+ status = "okay";
+};
diff --git a/target/linux/lantiq/files-4.19/arch/mips/boot/dts/lantiq/falcon_lantiq_falcon-mdu.dts b/target/linux/lantiq/files-4.19/arch/mips/boot/dts/lantiq/falcon_lantiq_falcon-mdu.dts
new file mode 100644
index 0000000000..130d49ebd7
--- /dev/null
+++ b/target/linux/lantiq/files-4.19/arch/mips/boot/dts/lantiq/falcon_lantiq_falcon-mdu.dts
@@ -0,0 +1,53 @@
+/dts-v1/;
+
+#include <dt-bindings/gpio/gpio.h>
+
+#include "falcon.dtsi"
+#include "falcon_sflash-16m.dtsi"
+
+/ {
+ model = "Lantiq Falcon / Vinax MDU Board";
+ compatible = "lantiq,falcon-mdu", "lantiq,falcon";
+
+ aliases {
+ spi0 = &ebu_cs0;
+ };
+
+ memory@0 {
+ device_type = "memory";
+ reg = <0x0 0x4000000>; // 64M at 0x0
+ };
+
+ leds {
+ compatible = "gpio-leds";
+ pinctrl-names = "default";
+ pinctrl-0 = <&bootled_pins>;
+
+ LED_0 {
+ label = "mdu:green:gpon";
+ gpios = <&gpio0 9 GPIO_ACTIVE_HIGH>;
+ default-state = "keep";
+ };
+ LED_1 {
+ label = "mdu:green:status";
+ gpios = <&gpio0 10 GPIO_ACTIVE_HIGH>;
+ default-state = "keep";
+ };
+ LED_2 {
+ label = "mdu:green:2";
+ gpios = <&gpio0 11 GPIO_ACTIVE_HIGH>;
+ default-state = "keep";
+ };
+ LED_3 {
+ label = "mdu:green:3";
+ gpios = <&gpio0 12 GPIO_ACTIVE_HIGH>;
+ default-state = "keep";
+ };
+ LED_4 {
+ label = "mdu:green:4";
+ gpios = <&gpio0 13 GPIO_ACTIVE_HIGH>;
+ default-state = "keep";
+ };
+ };
+};
+
diff --git a/target/linux/lantiq/files-4.19/arch/mips/boot/dts/lantiq/falcon_lantiq_falcon-sfp.dts b/target/linux/lantiq/files-4.19/arch/mips/boot/dts/lantiq/falcon_lantiq_falcon-sfp.dts
new file mode 100644
index 0000000000..880c4edca8
--- /dev/null
+++ b/target/linux/lantiq/files-4.19/arch/mips/boot/dts/lantiq/falcon_lantiq_falcon-sfp.dts
@@ -0,0 +1,76 @@
+/dts-v1/;
+
+#include "falcon.dtsi"
+#include "falcon_sflash-16m.dtsi"
+
+/ {
+ model = "Lantiq Falcon SFP Stick";
+ compatible = "lantiq,falcon-sfp", "lantiq,falcon";
+
+ aliases {
+ spi0 = &ebu_cs0;
+ };
+
+ memory@0 {
+ device_type = "memory";
+ reg = <0x0 0x4000000>; // 64M at 0x0
+ };
+
+ pinctrl {
+ compatible = "lantiq,pinctrl-falcon";
+
+ asc0_func1: func1 {
+ func1_tx {
+ lantiq,pins = "io32";
+ lantiq,mux = <1>;
+ lantiq,output = <0>;
+ };
+ func1_rx {
+ lantiq,pins = "io33";
+ lantiq,mux = <0>;
+ };
+ };
+ asc0_func2: func2 {
+ func2_tx {
+ lantiq,pins = "io32";
+ lantiq,mux = <0>;
+ };
+ func2_rx {
+ lantiq,pins = "io33";
+ lantiq,mux = <1>;
+ lantiq,input = <0>;
+ };
+ };
+ asc0_func3: func3 {
+ func3_tx {
+ lantiq,pins = "io32";
+ lantiq,mux = <1>;
+ lantiq,output = <0>;
+ };
+ func3_rx {
+ lantiq,pins = "io33";
+ lantiq,mux = <1>;
+ lantiq,input = <0>;
+ };
+ };
+ };
+
+ pinselect-asc0 {
+ compatible = "lantiq,pinselect-asc0";
+ pinctrl-names = "asc0", "func1", "func2", "func3";
+ pinctrl-0 = <&asc0_pins>;
+ pinctrl-1 = <&asc0_func1>;
+ pinctrl-2 = <&asc0_func2>;
+ pinctrl-3 = <&asc0_func3>;
+ };
+};
+
+&serial0 {
+ pinctrl-names = "default";
+ /* use "empty" pinctrl to leave setting from u-boot enabled */
+ pinctrl-0 = < >;
+};
+
+&i2c {
+ status = "okay";
+};
diff --git a/target/linux/lantiq/files-4.19/arch/mips/boot/dts/lantiq/falcon_sflash-16m.dtsi b/target/linux/lantiq/files-4.19/arch/mips/boot/dts/lantiq/falcon_sflash-16m.dtsi
new file mode 100644
index 0000000000..b35f70b646
--- /dev/null
+++ b/target/linux/lantiq/files-4.19/arch/mips/boot/dts/lantiq/falcon_sflash-16m.dtsi
@@ -0,0 +1,41 @@
+
+&ebu_cs0 {
+ #address-cells = <1>;
+ #size-cells = <1>;
+ compatible = "lantiq,sflash-falcon", "simple-bus";
+
+ flash@0 {
+ compatible = "spansion,s25fl129p0", "spansion,s25fl129p1";
+ reg = <0 0>;
+ linux,mtd-name = "sflash";
+ spi-max-frequency = <80000000>;
+ m25p,fast-read;
+
+ partitions {
+ compatible = "fixed-partitions";
+ #address-cells = <1>;
+ #size-cells = <1>;
+
+ partition@0 {
+ reg = <0x0 0x40000>;
+ label = "uboot";
+ read-only;
+ };
+
+ partition@40000 {
+ reg = <0x40000 0x80000>;
+ label = "uboot_env";
+ };
+
+ partition@c0000 {
+ reg = <0xc0000 0x740000>;
+ label = "image0";
+ };
+
+ partition@800000 {
+ reg = <0x800000 0x800000>;
+ label = "image1";
+ };
+ };
+ };
+};
diff --git a/target/linux/lantiq/files-4.19/arch/mips/boot/dts/lantiq/vr9.dtsi b/target/linux/lantiq/files-4.19/arch/mips/boot/dts/lantiq/vr9.dtsi
new file mode 100644
index 0000000000..35b1f180a5
--- /dev/null
+++ b/target/linux/lantiq/files-4.19/arch/mips/boot/dts/lantiq/vr9.dtsi
@@ -0,0 +1,495 @@
+#include <dt-bindings/gpio/gpio.h>
+
+/ {
+ #address-cells = <1>;
+ #size-cells = <1>;
+ compatible = "lantiq,xway", "lantiq,vr9";
+
+ aliases {
+ serial0 = &asc1;
+ };
+
+ chosen {
+ stdout-path = "serial0:115200n8";
+ };
+
+ cpus {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ cpu@0 {
+ compatible = "mips,mips34Kc";
+ reg = <0>;
+ };
+ };
+
+ cputemp {
+ compatible = "lantiq,cputemp";
+ };
+
+ reboot {
+ compatible = "syscon-reboot";
+
+ regmap = <&rcu0>;
+ offset = <0x10>;
+ mask = <0xe0000000>;
+ };
+
+ biu@1f800000 {
+ #address-cells = <1>;
+ #size-cells = <1>;
+ compatible = "lantiq,biu", "simple-bus";
+ reg = <0x1f800000 0x800000>;
+ ranges = <0x0 0x1f800000 0x7fffff>;
+
+ icu0: icu@80200 {
+ #interrupt-cells = <1>;
+ interrupt-controller;
+ compatible = "lantiq,icu";
+ reg = <0x80200 0x28
+ 0x80228 0x28
+ 0x80250 0x28
+ 0x80278 0x28
+ 0x802a0 0x28>;
+ };
+
+ watchdog@803f0 {
+ compatible = "lantiq,xrx100-wdt", "lantiq,xrx100-wdt";
+ reg = <0x803f0 0x10>;
+
+ regmap = <&rcu0>;
+ };
+ };
+
+ sram@1f000000 {
+ #address-cells = <1>;
+ #size-cells = <1>;
+ compatible = "lantiq,sram", "simple-bus";
+ reg = <0x1f000000 0x800000>;
+ ranges = <0x0 0x1f000000 0x7fffff>;
+
+ eiu0: eiu@101000 {
+ #interrupt-cells = <1>;
+ interrupt-controller;
+ compatible = "lantiq,eiu-xway";
+ reg = <0x101000 0x1000>;
+ interrupt-parent = <&icu0>;
+ lantiq,eiu-irqs = <166 135 66 40 41 42>;
+ };
+
+ pmu0: pmu@102000 {
+ compatible = "lantiq,pmu-xway";
+ reg = <0x102000 0x1000>;
+ };
+
+ cgu0: cgu@103000 {
+ compatible = "lantiq,cgu-xway";
+ reg = <0x103000 0x1000>;
+ };
+
+ dcdc@106a00 {
+ compatible = "lantiq,dcdc-xrx200";
+ reg = <0x106a00 0x200>;
+ };
+
+ vmmc: vmmc@107000 {
+ status = "disabled";
+ compatible = "lantiq,vmmc-xway";
+ reg = <0x107000 0x300>;
+ interrupt-parent = <&icu0>;
+ interrupts = <150 151 152 153 154 155>;
+ };
+
+ rcu0: rcu@203000 {
+ #address-cells = <1>;
+ #size-cells = <1>;
+ compatible = "lantiq,xrx200-rcu", "simple-mfd", "syscon";
+ reg = <0x203000 0x100>;
+ ranges = <0x0 0x203000 0x100>;
+ big-endian;
+
+ gphy0: gphy@20 {
+ compatible = "lantiq,xrx200-gphy";
+ reg = <0x20 0x4>;
+
+ resets = <&reset0 31 30>, <&reset1 7 7>;
+ reset-names = "gphy", "gphy2";
+ };
+
+ gphy1: gphy@68 {
+ compatible = "lantiq,xrx200-gphy";
+ reg = <0x68 0x4>;
+
+ resets = <&reset0 29 28>, <&reset1 6 6>;
+ reset-names = "gphy", "gphy2";
+ };
+
+ reset0: reset-controller@10 {
+ compatible = "lantiq,xrx200-reset";
+ reg = <0x10 4>, <0x14 4>;
+
+ #reset-cells = <2>;
+ };
+
+ reset1: reset-controller@48 {
+ compatible = "lantiq,xrx200-reset";
+ reg = <0x48 4>, <0x24 4>;
+
+ #reset-cells = <2>;
+ };
+
+ usb_phy0: usb2-phy@18 {
+ compatible = "lantiq,xrx200-usb2-phy";
+ reg = <0x18 4>, <0x38 4>;
+ status = "disabled";
+
+ resets = <&reset1 4 4>, <&reset0 4 4>;
+ reset-names = "phy", "ctrl";
+ #phy-cells = <0>;
+ };
+
+ usb_phy1: usb2-phy@34 {
+ compatible = "lantiq,xrx200-usb2-phy";
+ reg = <0x34 4>, <0x3c 4>;
+ status = "disabled";
+
+ resets = <&reset1 5 5>, <&reset0 4 4>;
+ reset-names = "phy", "ctrl";
+ #phy-cells = <0>;
+ };
+ };
+ };
+
+ fpi@10000000 {
+ compatible = "lantiq,xrx200-fpi", "simple-bus";
+ ranges = <0x0 0x10000000 0xf000000>;
+ reg = <0x1f400000 0x1000>,
+ <0x10000000 0xf000000>;
+ regmap = <&rcu0>;
+ offset-endianness = <0x4c>;
+ #address-cells = <1>;
+ #size-cells = <1>;
+
+ localbus: localbus@0 {
+ #address-cells = <2>;
+ #size-cells = <1>;
+ ranges = <0 0 0x0 0x3ffffff /* addrsel0 */
+ 1 0 0x4000000 0x4000010>; /* addsel1 */
+ compatible = "lantiq,localbus", "simple-bus";
+ };
+
+ gptu@e100a00 {
+ compatible = "lantiq,gptu-xway";
+ reg = <0xe100a00 0x100>;
+ interrupt-parent = <&icu0>;
+ interrupts = <126 127 128 129 130 131>;
+ };
+
+ usif: usif@da00000 {
+ compatible = "lantiq,usif";
+ reg = <0xda00000 0x1000000>;
+ interrupt-parent = <&icu0>;
+ interrupts = <29 125 107 108 109 110>;
+ status = "disabled";
+ };
+
+ spi: spi@e100800 {
+ compatible = "lantiq,xrx200-spi", "lantiq,xrx100-spi";
+ reg = <0xe100800 0x100>;
+ interrupt-parent = <&icu0>;
+ interrupts = <22 23 24>;
+ interrupt-names = "spi_rx", "spi_tx", "spi_err",
+ "spi_frm";
+ #address-cells = <1>;
+ #size-cells = <0>;
+ pinctrl-names = "default";
+ pinctrl-0 = <&spi_pins>, <&spi_cs4_pins>;
+ status = "disabled";
+ };
+
+ gpio: pinmux@e100b10 {
+ compatible = "lantiq,xrx200-pinctrl";
+ #gpio-cells = <2>;
+ gpio-controller;
+ reg = <0xe100b10 0xa0>;
+
+ gphy0_led0_pins: gphy0-led0 {
+ mux {
+ lantiq,groups = "gphy0 led0";
+ lantiq,function = "gphy";
+ lantiq,open-drain = <0>;
+ lantiq,pull = <2>;
+ lantiq,output = <1>;
+ };
+ };
+
+ gphy0_led1_pins: gphy0-led1 {
+ mux {
+ lantiq,groups = "gphy0 led1";
+ lantiq,function = "gphy";
+ lantiq,open-drain = <0>;
+ lantiq,pull = <2>;
+ lantiq,output = <1>;
+ };
+ };
+
+ gphy0_led2_pins: gphy0-led2 {
+ mux {
+ lantiq,groups = "gphy0 led2";
+ lantiq,function = "gphy";
+ lantiq,open-drain = <0>;
+ lantiq,pull = <2>;
+ lantiq,output = <1>;
+ };
+ };
+
+ gphy1_led0_pins: gphy1-led0 {
+ mux {
+ lantiq,groups = "gphy1 led0";
+ lantiq,function = "gphy";
+ lantiq,open-drain = <0>;
+ lantiq,pull = <2>;
+ lantiq,output = <1>;
+ };
+ };
+
+ gphy1_led1_pins: gphy1-led1 {
+ mux {
+ lantiq,groups = "gphy1 led1";
+ lantiq,function = "gphy";
+ lantiq,open-drain = <0>;
+ lantiq,pull = <2>;
+ lantiq,output = <1>;
+ };
+ };
+
+ gphy1_led2_pins: gphy1-led2 {
+ mux {
+ lantiq,groups = "gphy1 led2";
+ lantiq,function = "gphy";
+ lantiq,open-drain = <0>;
+ lantiq,pull = <2>;
+ lantiq,output = <1>;
+ };
+ };
+
+ mdio_pins: mdio {
+ mux {
+ lantiq,groups = "mdio";
+ lantiq,function = "mdio";
+ };
+ };
+
+ nand_pins: nand {
+ mux-0 {
+ lantiq,groups = "nand cle", "nand ale",
+ "nand rd";
+ lantiq,function = "ebu";
+ lantiq,output = <1>;
+ lantiq,open-drain = <0>;
+ lantiq,pull = <0>;
+ };
+ mux-1 {
+ lantiq,groups = "nand rdy";
+ lantiq,function = "ebu";
+ lantiq,output = <0>;
+ lantiq,pull = <2>;
+ };
+ };
+
+ nand_cs1_pins: nand-cs1 {
+ mux {
+ lantiq,groups = "nand cs1";
+ lantiq,function = "ebu";
+ lantiq,open-drain = <0>;
+ lantiq,pull = <0>;
+ };
+ };
+
+ pci_gnt1_pins: pci-gnt1 {
+ mux {
+ lantiq,groups = "gnt1";
+ lantiq,function = "pci";
+ lantiq,output = <1>;
+ lantiq,open-drain = <0>;
+ lantiq,pull = <0>;
+ };
+ };
+
+ pci_req1_pins: pci-req1 {
+ mux {
+ lantiq,groups = "req1";
+ lantiq,function = "pci";
+ lantiq,output = <0>;
+ lantiq,open-drain = <1>;
+ lantiq,pull = <2>;
+ };
+ };
+
+ spi_pins: spi {
+ mux-0 {
+ lantiq,groups = "spi_di";
+ lantiq,function = "spi";
+ };
+ mux-1 {
+ lantiq,groups = "spi_do", "spi_clk";
+ lantiq,function = "spi";
+ lantiq,output = <1>;
+ };
+ };
+
+ spi_cs4_pins: spi-cs4 {
+ mux {
+ lantiq,groups = "spi_cs4";
+ lantiq,function = "spi";
+ lantiq,output = <1>;
+ };
+ };
+
+ stp_pins: stp {
+ mux {
+ lantiq,groups = "stp";
+ lantiq,function = "stp";
+ lantiq,pull = <0>;
+ lantiq,open-drain = <0>;
+ lantiq,output = <1>;
+ };
+ };
+ };
+
+ stp: stp@e100bb0 {
+ status = "disabled";
+ compatible = "lantiq,gpio-stp-xway";
+ reg = <0xe100bb0 0x40>;
+ #gpio-cells = <2>;
+ gpio-controller;
+
+ pinctrl-0 = <&stp_pins>;
+ pinctrl-names = "default";
+
+ lantiq,shadow = <0xffffff>;
+ lantiq,groups = <0x7>;
+ lantiq,dsl = <0x0>;
+ lantiq,phy1 = <0x0>;
+ lantiq,phy2 = <0x0>;
+ };
+
+ asc1: serial@e100c00 {
+ compatible = "lantiq,asc";
+ reg = <0xe100c00 0x400>;
+ interrupt-parent = <&icu0>;
+ interrupts = <112 113 114>;
+ };
+
+ deu@e103100 {
+ compatible = "lantiq,deu-xrx200";
+ reg = <0xe103100 0xf00>;
+ };
+
+ dma0: dma@e104100 {
+ compatible = "lantiq,dma-xway";
+ reg = <0xe104100 0x800>;
+ };
+
+ ebu0: ebu@e105300 {
+ compatible = "lantiq,ebu-xway";
+ reg = <0xe105300 0x100>;
+ };
+
+ usb0: usb@e101000 {
+ status = "disabled";
+ compatible = "lantiq,xrx200-usb";
+ reg = <0xe101000 0x1000
+ 0xe120000 0x3f000>;
+ interrupt-parent = <&icu0>;
+ interrupts = <62 91>;
+ dr_mode = "host";
+ phys = <&usb_phy0>;
+ phy-names = "usb2-phy";
+ };
+
+ usb1: usb@e106000 {
+ status = "disabled";
+ compatible = "lantiq,xrx200-usb";
+ reg = <0xe106000 0x1000>;
+ interrupt-parent = <&icu0>;
+ interrupts = <91>;
+ dr_mode = "host";
+ phys = <&usb_phy1>;
+ phy-names = "usb2-phy";
+ };
+
+ eth0: eth@e108000 {
+ #address-cells = <1>;
+ #size-cells = <0>;
+ compatible = "lantiq,xrx200-net";
+ reg = < 0xe108000 0x3000 /* switch */
+ 0xe10b100 0x70 /* mdio */
+ 0xe10b1d8 0x30 /* mii */
+ 0xe10b308 0x30 /* pmac */
+ >;
+ interrupt-parent = <&icu0>;
+ interrupts = <75 73 72>;
+ resets = <&reset0 21 16>, <&reset0 8 8>;
+ reset-names = "switch", "ppe";
+ lantiq,phys = <&gphy0>, <&gphy1>;
+ pinctrl-0 = <&mdio_pins>;
+ pinctrl-names = "default";
+ };
+
+ mei@e116000 {
+ compatible = "lantiq,mei-xrx200";
+ reg = <0xe116000 0x9c>;
+ interrupt-parent = <&icu0>;
+ interrupts = <63>;
+ };
+
+ ppe@e234000 {
+ compatible = "lantiq,ppe-xrx200";
+ reg = <0xe234000 0x3ffd>;
+ interrupt-parent = <&icu0>;
+ interrupts = <96>;
+ resets = <&reset0 3 3>, <&reset0 11 11>, <&reset0 23 23>;
+ reset-names = "dsp", "dfe", "tc";
+ };
+
+ pcie0: pcie@d900000 {
+ compatible = "lantiq,pcie-xrx200";
+
+ #interrupt-cells = <1>;
+ #size-cells = <2>;
+ #address-cells = <3>;
+
+ reg = <0xd900000 0x1000>;
+
+ interrupt-parent = <&icu0>;
+ interrupts = <161 144>;
+
+ device_type = "pci";
+
+ gpio-reset = <&gpio 38 GPIO_ACTIVE_HIGH>;
+ };
+
+ pci0: pci@e105400 {
+ status = "disabled";
+
+ #address-cells = <3>;
+ #size-cells = <2>;
+ #interrupt-cells = <1>;
+ compatible = "lantiq,pci-xway";
+ bus-range = <0x0 0x0>;
+ ranges = <0x2000000 0 0x8000000 0x8000000 0 0x2000000 /* pci memory */
+ 0x1000000 0 0x00000000 0xae00000 0 0x200000>; /* io space */
+ reg = <0x7000000 0x8000 /* config space */
+ 0xe105400 0x400>; /* pci bridge */
+ lantiq,bus-clock = <33333333>;
+ interrupt-map-mask = <0xf800 0x0 0x0 0x7>;
+ interrupt-map = <0x7000 0 0 1 &icu0 30 1>; /* slot 14, irq 30 */
+ req-mask = <0x1>; /* GNT1 */
+ };
+ };
+
+ vdsl {
+ compatible = "lantiq,vdsl-vrx200";
+ };
+};
diff --git a/target/linux/lantiq/files-4.19/arch/mips/boot/dts/lantiq/vr9_alphanetworks_asl56026.dts b/target/linux/lantiq/files-4.19/arch/mips/boot/dts/lantiq/vr9_alphanetworks_asl56026.dts
new file mode 100644
index 0000000000..3d10f582b0
--- /dev/null
+++ b/target/linux/lantiq/files-4.19/arch/mips/boot/dts/lantiq/vr9_alphanetworks_asl56026.dts
@@ -0,0 +1,155 @@
+/dts-v1/;
+
+#include "vr9.dtsi"
+
+#include <dt-bindings/input/input.h>
+#include <dt-bindings/mips/lantiq_rcu_gphy.h>
+
+/ {
+ compatible = "alphanetworks,asl56026", "lantiq,xway", "lantiq,vr9";
+ model = "BT OpenReach VDSL Modem";
+
+ chosen {
+ bootargs = "console=ttyLTQ0,115200";
+ };
+
+ aliases {
+ led-boot = &power_green;
+ led-failsafe = &power_red;
+ led-running = &power_green;
+ led-upgrade = &power_green;
+
+ led-dsl = &dsl;
+ };
+
+ memory@0 {
+ device_type = "memory";
+ reg = <0x0 0x2000000>;
+ };
+
+ keys {
+ compatible = "gpio-keys-polled";
+ poll-interval = <100>;
+
+ reset {
+ label = "reset";
+ gpios = <&gpio 40 GPIO_ACTIVE_LOW>;
+ linux,code = <KEY_RESTART>;
+ };
+ };
+
+ leds {
+ compatible = "gpio-leds";
+
+ dsl: dsl {
+ label = "asl56026:green:dsl";
+ gpios = <&gpio 6 GPIO_ACTIVE_LOW>;
+ };
+
+ /* power-* is a bicolour led */
+ power_green: power_green {
+ label = "asl56026:green:power";
+ gpios = <&gpio 17 GPIO_ACTIVE_HIGH>;
+ default-state = "keep";
+ };
+
+ power_red: power_red {
+ label = "asl56026:red:power";
+ gpios = <&gpio 18 GPIO_ACTIVE_HIGH>;
+ };
+ };
+
+ gpio_export {
+ compatible = "gpio-export";
+ #size-cells = <0>;
+
+ power_led_blink {
+ gpio-export,name = "power_led_blink";
+ gpio-export,output = <0>;
+ gpios = <&gpio 16 GPIO_ACTIVE_LOW>;
+ };
+ };
+};
+
+&eth0 {
+ lan: interface@0 {
+ compatible = "lantiq,xrx200-pdi";
+ #address-cells = <1>;
+ #size-cells = <0>;
+ reg = <0>;
+ lantiq,switch;
+
+ ethernet@2 {
+ compatible = "lantiq,xrx200-pdi-port";
+ reg = <2>;
+ phy-mode = "mii";
+ phy-handle = <&phy11>;
+ };
+
+ ethernet@3 {
+ compatible = "lantiq,xrx200-pdi-port";
+ reg = <3>;
+ phy-mode = "mii";
+ phy-handle = <&phy14>;
+ };
+ };
+
+ mdio {
+ #address-cells = <1>;
+ #size-cells = <0>;
+ compatible = "lantiq,xrx200-mdio";
+
+ phy11: ethernet-phy@11 {
+ reg = <0x11>;
+ compatible = "lantiq,phy22f", "ethernet-phy-ieee802.3-c22";
+ };
+
+ phy14: ethernet-phy@14 {
+ reg = <0x14>;
+ compatible = "lantiq,phy22f", "ethernet-phy-ieee802.3-c22";
+ };
+ };
+};
+
+&gphy0 {
+ lantiq,gphy-mode = <GPHY_MODE_FE>;
+};
+
+&gphy1 {
+ lantiq,gphy-mode = <GPHY_MODE_FE>;
+};
+
+&localbus {
+ flash@0 {
+ compatible = "lantiq,nor";
+ bank-width = <2>;
+ reg = <0 0x0 0x0800000>;
+
+ partitions {
+ compatible = "fixed-partitions";
+ #address-cells = <1>;
+ #size-cells = <1>;
+
+ partition@0 {
+ label = "uboot";
+ reg = <0x0 0x30000>;
+ };
+
+ partition@30000 {
+ label = "uboot_env";
+ reg = <0x30000 0x10000>;
+ };
+
+ partition@40000 {
+ label = "firmware";
+ reg = <0x40000 0x750000>;
+ };
+
+ partition@790000 {
+ label = "ddrconfig";
+ reg = <0x790000 0x70000>;
+ read-only;
+ };
+ };
+ };
+};
diff --git a/target/linux/lantiq/files-4.19/arch/mips/boot/dts/lantiq/vr9_arcadyan_arv7519rw22.dts b/target/linux/lantiq/files-4.19/arch/mips/boot/dts/lantiq/vr9_arcadyan_arv7519rw22.dts
new file mode 100644
index 0000000000..d6c521cfe7
--- /dev/null
+++ b/target/linux/lantiq/files-4.19/arch/mips/boot/dts/lantiq/vr9_arcadyan_arv7519rw22.dts
@@ -0,0 +1,246 @@
+/dts-v1/;
+
+#include "vr9.dtsi"
+
+#include <dt-bindings/input/input.h>
+#include <dt-bindings/mips/lantiq_rcu_gphy.h>
+
+/ {
+ compatible = "arcadyan,arv7519rw22", "lantiq,xway", "lantiq,vr9";
+ model = "Orange Livebox 2.1";
+
+ chosen {
+ bootargs = "console=ttyLTQ0,115200";
+ };
+
+ aliases {
+ led-boot = &power_green;
+ led-failsafe = &power_green;
+ led-running = &power_green;
+ led-upgrade = &power_green;
+
+ led-dsl = &internet_green;
+ };
+
+ memory@0 {
+ device_type = "memory";
+ reg = <0x0 0x8000000>;
+ };
+
+ keys {
+ compatible = "gpio-keys-polled";
+ poll-interval = <100>;
+
+ reset {
+ label = "reset";
+ gpios = <&gpio 6 GPIO_ACTIVE_LOW>;
+ linux,code = <KEY_RESTART>;
+ };
+ rfkill {
+ label = "rfkill";
+ gpios = <&gpio 33 GPIO_ACTIVE_LOW>;
+ linux,code = <KEY_RFKILL>;
+ };
+ wps {
+ label = "wps";
+ gpios = <&gpio 37 GPIO_ACTIVE_LOW>;
+ linux,code = <KEY_WPS_BUTTON>;
+ };
+ };
+
+ leds {
+ compatible = "gpio-leds";
+
+ lan_green {
+ label = "arv7519rw22:green:lan";
+ gpios = <&gpio 2 GPIO_ACTIVE_LOW>;
+ };
+ internet_red {
+ label = "arv7519rw22:red:internet";
+ gpios = <&gpio 10 GPIO_ACTIVE_LOW>;
+ };
+ power_green: power_green {
+ label = "arv7519rw22:green:power";
+ gpios = <&gpio 14 GPIO_ACTIVE_LOW>;
+ default-state = "keep";
+ };
+ alarm_blue {
+ label = "arv7519rw22:blue:alarm";
+ gpios = <&gpio 15 GPIO_ACTIVE_LOW>;
+ };
+ internet_orange {
+ label = "arv7519rw22:orange:internet";
+ gpios = <&gpio 19 GPIO_ACTIVE_LOW>;
+ };
+ internet_green: internet_green {
+ label = "arv7519rw22:green:internet";
+ gpios = <&gpio 28 GPIO_ACTIVE_LOW>;
+ };
+ voice_green {
+ label = "arv7519rw22:green:voice";
+ gpios = <&gpio 29 GPIO_ACTIVE_LOW>;
+ };
+ };
+
+ usb_vbus: regulator-usb-vbus {
+ compatible = "regulator-fixed";
+
+ regulator-name = "USB_VBUS";
+
+ regulator-min-microvolt = <5000000>;
+ regulator-max-microvolt = <5000000>;
+
+ gpio = <&gpio 32 GPIO_ACTIVE_HIGH>;
+ enable-active-high;
+ };
+};
+
+&eth0 {
+ lan: interface@0 {
+ compatible = "lantiq,xrx200-pdi";
+ #address-cells = <1>;
+ #size-cells = <0>;
+ reg = <0>;
+ mtd-mac-address = <&boardconfig 0x16>;
+ lantiq,switch;
+
+ ethernet@0 {
+ compatible = "lantiq,xrx200-pdi-port";
+ reg = <0>;
+ phy-mode = "rgmii";
+ phy-handle = <&phy0>;
+ };
+ ethernet@1 {
+ compatible = "lantiq,xrx200-pdi-port";
+ reg = <4>;
+ phy-mode = "mii";
+ phy-handle = <&phy13>;
+ };
+ ethernet@2 {
+ compatible = "lantiq,xrx200-pdi-port";
+ reg = <5>;
+ phy-mode = "mii";
+ phy-handle = <&phy14>;
+ };
+ ethernet@3 {
+ compatible = "lantiq,xrx200-pdi-port";
+ reg = <2>;
+ phy-mode = "mii";
+ phy-handle = <&phy11>;
+ };
+ ethernet@4 {
+ compatible = "lantiq,xrx200-pdi-port";
+ reg = <3>;
+ phy-mode = "mii";
+ phy-handle = <&phy12>;
+ };
+ };
+
+ mdio {
+ #address-cells = <1>;
+ #size-cells = <0>;
+ compatible = "lantiq,xrx200-mdio";
+
+ phy0: ethernet-phy@0 {
+ reg = <0x0>;
+ compatible = "lantiq,phy11g", "ethernet-phy-ieee802.3-c22";
+ };
+ phy11: ethernet-phy@11 {
+ reg = <0x11>;
+ compatible = "lantiq,phy22f", "ethernet-phy-ieee802.3-c22";
+ };
+ phy12: ethernet-phy@12 {
+ reg = <0x12>;
+ compatible = "lantiq,phy22f", "ethernet-phy-ieee802.3-c22";
+ };
+ phy13: ethernet-phy@13 {
+ reg = <0x13>;
+ compatible = "lantiq,phy22f", "ethernet-phy-ieee802.3-c22";
+ };
+ phy14: ethernet-phy@14 {
+ reg = <0x14>;
+ compatible = "lantiq,phy22f", "ethernet-phy-ieee802.3-c22";
+ };
+ };
+};
+
+&gphy0 {
+ lantiq,gphy-mode = <GPHY_MODE_FE>;
+};
+
+&gphy1 {
+ lantiq,gphy-mode = <GPHY_MODE_FE>;
+};
+
+&gpio {
+ pinctrl-names = "default";
+ pinctrl-0 = <&state_default>;
+
+ state_default: pinmux {
+ pcie-rst {
+ lantiq,pins = "io21";
+ lantiq,pull = <0>;
+ lantiq,output = <1>;
+ };
+ };
+};
+
+&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 = <0x0 0x60000>;
+ read-only;
+ };
+
+ partition@60000 {
+ label = "uboot-env";
+ reg = <0x60000 0x20000>;
+ read-only;
+ };
+
+ partition@80000 {
+ label = "firmware";
+ reg = <0x80000 0x1f00000>;
+ };
+
+ boardconfig: partition@1f80000 {
+ label = "boardconfig";
+ reg = <0x1f80000 0x80000>;
+ read-only;
+ };
+ };
+ };
+};
+
+&pcie0 {
+ status = "okay";
+ gpio-reset = <&gpio 21 GPIO_ACTIVE_HIGH>;
+};
+
+&usb_phy0 {
+ status = "okay";
+};
+
+&usb_phy1 {
+ status = "okay";
+};
+
+&usb0 {
+ status = "okay";
+ vbus-supply = <&usb_vbus>;
+};
+
+&usb1 {
+ status = "okay";
+ vbus-supply = <&usb_vbus>;
+};
diff --git a/target/linux/lantiq/files-4.19/arch/mips/boot/dts/lantiq/vr9_arcadyan_vg3503j.dts b/target/linux/lantiq/files-4.19/arch/mips/boot/dts/lantiq/vr9_arcadyan_vg3503j.dts
new file mode 100644
index 0000000000..e074147d66
--- /dev/null
+++ b/target/linux/lantiq/files-4.19/arch/mips/boot/dts/lantiq/vr9_arcadyan_vg3503j.dts
@@ -0,0 +1,144 @@
+/dts-v1/;
+
+#include "vr9.dtsi"
+
+#include <dt-bindings/input/input.h>
+#include <dt-bindings/mips/lantiq_rcu_gphy.h>
+
+/ {
+ compatible = "arcadyan,vg3503j", "lantiq,xway", "lantiq,vr9";
+ model = "BT OpenReach VDSL Modem";
+
+ chosen {
+ bootargs = "console=ttyLTQ0,115200";
+ };
+
+ aliases {
+ led-boot = &power_green;
+ led-failsafe = &power_red;
+ led-running = &power_green;
+ led-upgrade = &power_green;
+
+ led-dsl = &dsl;
+ };
+
+ memory@0 {
+ device_type = "memory";
+ reg = <0x0 0x2000000>;
+ };
+
+ keys {
+ compatible = "gpio-keys-polled";
+ poll-interval = <100>;
+ reset {
+ label = "reset";
+ gpios = <&gpio 6 GPIO_ACTIVE_LOW>;
+ linux,code = <KEY_RESTART>;
+ };
+ };
+
+ leds {
+ compatible = "gpio-leds";
+
+ power_red: power2 {
+ label = "vg3503j:red:power";
+ gpios = <&gpio 14 GPIO_ACTIVE_LOW>;
+ };
+ dsl: dsl {
+ label = "vg3503j:green:dsl";
+ gpios = <&gpio 19 GPIO_ACTIVE_LOW>;
+ };
+ power_green: power {
+ label = "vg3503j:green:power";
+ gpios = <&gpio 28 GPIO_ACTIVE_LOW>;
+ default-state = "keep";
+ };
+ };
+};
+
+&eth0 {
+ pinctrl-0 = <&mdio_pins>,
+ <&gphy0_led0_pins>, <&gphy0_led1_pins>, <&gphy0_led2_pins>,
+ <&gphy1_led0_pins>, <&gphy1_led1_pins>, <&gphy1_led2_pins>;
+
+ interface@0 {
+ compatible = "lantiq,xrx200-pdi";
+ #address-cells = <1>;
+ #size-cells = <0>;
+ reg = <0>;
+
+ lantiq,switch;
+ ethernet@2 {
+ compatible = "lantiq,xrx200-pdi-port";
+ reg = <2>;
+ phy-mode = "mii";
+ phy-handle = <&phy11>;
+ };
+ ethernet@4 {
+ compatible = "lantiq,xrx200-pdi-port";
+ reg = <4>;
+ phy-mode = "mii";
+ phy-handle = <&phy13>;
+ };
+ };
+
+ mdio {
+ #address-cells = <1>;
+ #size-cells = <0>;
+ compatible = "lantiq,xrx200-mdio";
+
+ phy11: ethernet-phy@11 {
+ reg = <0x11>;
+ compatible = "lantiq,phy11g", "ethernet-phy-ieee802.3-c22";
+ lantiq,led1h = <0x70>;
+ lantiq,led1l = <0x00>;
+ lantiq,led2h = <0x00>;
+ lantiq,led2l = <0x03>;
+ };
+ phy13: ethernet-phy@13 {
+ reg = <0x13>;
+ compatible = "lantiq,phy11g", "ethernet-phy-ieee802.3-c22";
+ lantiq,led1h = <0x70>;
+ lantiq,led1l = <0x00>;
+ lantiq,led2h = <0x00>;
+ lantiq,led2l = <0x03>;
+ };
+ };
+};
+
+&gphy0 {
+ lantiq,gphy-mode = <GPHY_MODE_GE>;
+};
+
+&gphy1 {
+ lantiq,gphy-mode = <GPHY_MODE_GE>;
+};
+
+&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 0x20000>;
+ };
+
+ partition@20000 {
+ label = "firmware";
+ reg = <0x20000 0x7d0000>;
+ };
+
+ partition@7f0000 {
+ label = "uboot-env";
+ reg = <0x7f0000 0x10000>;
+ };
+ };
+ };
+};
diff --git a/target/linux/lantiq/files-4.19/arch/mips/boot/dts/lantiq/vr9_arcadyan_vgv7510kw22-brn.dts b/target/linux/lantiq/files-4.19/arch/mips/boot/dts/lantiq/vr9_arcadyan_vgv7510kw22-brn.dts
new file mode 100644
index 0000000000..9f6f405a09
--- /dev/null
+++ b/target/linux/lantiq/files-4.19/arch/mips/boot/dts/lantiq/vr9_arcadyan_vgv7510kw22-brn.dts
@@ -0,0 +1,65 @@
+/dts-v1/;
+
+#include "vr9_arcadyan_vgv7510kw22.dtsi"
+
+/ {
+ compatible = "arcadyan,vgv7510kw22-brn", "arcadyan,vgv7510kw22", "lantiq,xway", "lantiq,vr9";
+ model = "o2 Box 6431";
+
+ sram@1f000000 {
+ cgu@103000 {
+ lantiq,phy-clk-src = <0x2>;
+ };
+ };
+};
+
+&localbus {
+ flash@0 {
+ partitions {
+ partition@0 {
+ label = "Boot";
+ reg = <0x00000 0x40000>;
+ read-only;
+ };
+
+ partition@40000 {
+ label = "Configuration";
+ reg = <0x40000 0x40000>;
+ read-only;
+ };
+
+ partition@80000 {
+ label = "Certificate";
+ reg = <0x80000 0x20000>;
+ read-only;
+ };
+
+ partition@a0000 {
+ label = "Special_Area";
+ reg = <0xa0000 0x20000>;
+ read-only;
+ };
+
+ partition@c0000 {
+ compatible = "brnboot,root-selector";
+ label = "Primary_Setting";
+ reg = <0xc0000 0x20000>;
+ read-only;
+ };
+
+ partition@e0000 {
+ label = "Code_Image_0";
+ reg = <0xe0000 0x780000>;
+ brnboot,root-id = <0x00>;
+ read-only;
+ };
+
+ partition@860000 {
+ label = "Code_Image_1";
+ reg = <0x860000 0x780000>;
+ brnboot,root-id = <0x01>;
+ read-only;
+ };
+ };
+ };
+};
diff --git a/target/linux/lantiq/files-4.19/arch/mips/boot/dts/lantiq/vr9_arcadyan_vgv7510kw22-nor.dts b/target/linux/lantiq/files-4.19/arch/mips/boot/dts/lantiq/vr9_arcadyan_vgv7510kw22-nor.dts
new file mode 100644
index 0000000000..613ff3782c
--- /dev/null
+++ b/target/linux/lantiq/files-4.19/arch/mips/boot/dts/lantiq/vr9_arcadyan_vgv7510kw22-nor.dts
@@ -0,0 +1,31 @@
+/dts-v1/;
+
+#include "vr9_arcadyan_vgv7510kw22.dtsi"
+
+/ {
+ compatible = "arcadyan,vgv7510kw22-nor", "arcadyan,vgv7510kw22", "lantiq,xway", "lantiq,vr9";
+ model = "o2 Box 6431";
+};
+
+&localbus {
+ flash@0 {
+ partitions {
+ partition@0 {
+ label = "uboot";
+ reg = <0x0 0x60000>; /* 384 KiB */
+ read-only;
+ };
+
+ partition@60000 {
+ label = "uboot-env";
+ reg = <0x60000 0x20000>; /* 128 KiB */
+ read-only;
+ };
+
+ partition@80000 {
+ label = "firmware";
+ reg = <0x80000 0xf60000>; /* 15744 KiB */
+ };
+ };
+ };
+};
diff --git a/target/linux/lantiq/files-4.19/arch/mips/boot/dts/lantiq/vr9_arcadyan_vgv7510kw22.dtsi b/target/linux/lantiq/files-4.19/arch/mips/boot/dts/lantiq/vr9_arcadyan_vgv7510kw22.dtsi
new file mode 100644
index 0000000000..017e473a04
--- /dev/null
+++ b/target/linux/lantiq/files-4.19/arch/mips/boot/dts/lantiq/vr9_arcadyan_vgv7510kw22.dtsi
@@ -0,0 +1,258 @@
+#include "vr9.dtsi"
+
+#include <dt-bindings/input/input.h>
+#include <dt-bindings/mips/lantiq_rcu_gphy.h>
+
+/ {
+ compatible = "arcadyan,vgv7510kw22", "lantiq,xway", "lantiq,vr9";
+
+ chosen {
+ bootargs = "console=ttyLTQ0,115200 mem=62M vpe1_load_addr=0x83e00000 vpe1_mem=2M maxvpes=1 maxtcs=1 nosmp";
+ };
+
+ aliases {
+ led-boot = &power_green;
+ led-failsafe = &power_red;
+ led-running = &power_green;
+ led-upgrade = &power_green;
+
+ led-dsl = &dsl;
+ led-internet = &internet_green;
+ led-wifi = &wifi;
+ };
+
+ memory@0 {
+ device_type = "memory";
+ reg = <0x0 0x4000000>;
+ };
+
+ keys {
+ compatible = "gpio-keys-polled";
+ poll-interval = <100>;
+
+ reset {
+ label = "reset";
+ gpios = <&gpio 6 GPIO_ACTIVE_LOW>;
+ linux,code = <KEY_RESTART>;
+ };
+
+ wps {
+ label = "wps";
+ gpios = <&gpio 9 GPIO_ACTIVE_LOW>;
+ linux,code = <KEY_WPS_BUTTON>;
+ };
+ };
+
+ leds {
+ compatible = "gpio-leds";
+
+ dsl: dsl {
+ label = "vgv7510kw22:green:dsl";
+ gpios = <&gpio 2 GPIO_ACTIVE_LOW>;
+ };
+
+ internet_red {
+ label = "vgv7510kw22:red:internet";
+ gpios = <&gpio 10 GPIO_ACTIVE_LOW>;
+ };
+
+ info_red {
+ label = "vgv7510kw22:red:info";
+ gpios = <&gpio 12 GPIO_ACTIVE_LOW>;
+ };
+
+ power_green: power {
+ label = "vgv7510kw22:green:power";
+ gpios = <&gpio 14 GPIO_ACTIVE_LOW>;
+ default-state = "keep";
+ };
+
+ info_green {
+ label = "vgv7510kw22:green:info";
+ gpios = <&gpio 15 GPIO_ACTIVE_LOW>;
+ };
+
+ internet_green: internet_green {
+ label = "vgv7510kw22:green:internet";
+ gpios = <&gpio 19 GPIO_ACTIVE_LOW>;
+ };
+
+ wifi: wifi {
+ label = "vgv7510kw22:green:wlan";
+ gpios = <&gpio 20 GPIO_ACTIVE_LOW>;
+ };
+
+ power_red: power2 {
+ label = "vgv7510kw22:red:power";
+ gpios = <&gpio 28 GPIO_ACTIVE_LOW>;
+ };
+
+ phone {
+ label = "vgv7510kw22:green:telefon";
+ gpios = <&gpio 29 GPIO_ACTIVE_LOW>;
+ };
+ };
+
+ usb_vbus: regulator-usb-vbus {
+ compatible = "regulator-fixed";
+
+ regulator-name = "USB_VBUS";
+
+ regulator-min-microvolt = <5000000>;
+ regulator-max-microvolt = <5000000>;
+
+ gpio = <&gpio 47 GPIO_ACTIVE_HIGH>;
+ enable-active-high;
+ };
+};
+
+&eth0 {
+ pinctrl-0 = <&mdio_pins>,
+ <&gphy0_led0_pins>,
+ <&gphy1_led0_pins>, <&gphy1_led1_pins>;
+ pinctrl-names = "default";
+
+ lan: interface@0 {
+ compatible = "lantiq,xrx200-pdi";
+ #address-cells = <1>;
+ #size-cells = <0>;
+ reg = <0>;
+ mtd-mac-address = <&boardconfig 0x16>;
+ lantiq,switch;
+
+ ethernet@0 {
+ compatible = "lantiq,xrx200-pdi-port";
+ reg = <0>;
+ phy-mode = "mii";
+ phy-handle = <&phy1>;
+ };
+ ethernet@2 {
+ compatible = "lantiq,xrx200-pdi-port";
+ reg = <2>;
+ phy-mode = "mii";
+ phy-handle = <&phy11>;
+ };
+ ethernet@3 {
+ compatible = "lantiq,xrx200-pdi-port";
+ reg = <3>;
+ phy-mode = "mii";
+ phy-handle = <&phy12>;
+ };
+ ethernet@4 {
+ compatible = "lantiq,xrx200-pdi-port";
+ reg = <4>;
+ phy-mode = "mii";
+ phy-handle = <&phy13>;
+ };
+ ethernet@5 {
+ compatible = "lantiq,xrx200-pdi-port";
+ reg = <5>;
+ phy-mode = "mii";
+ phy-handle = <&phy14>;
+ };
+ };
+
+ mdio {
+ #address-cells = <1>;
+ #size-cells = <0>;
+ compatible = "lantiq,xrx200-mdio";
+
+ phy1: ethernet-phy@1 {
+ reg = <0x1>;
+ compatible = "ethernet-phy-ieee802.3-c22";
+ };
+
+ phy11: ethernet-phy@11 {
+ reg = <0x11>;
+ compatible = "lantiq,phy22f", "ethernet-phy-ieee802.3-c22";
+ };
+ phy12: ethernet-phy@12 {
+ reg = <0x12>;
+ compatible = "lantiq,phy22f", "ethernet-phy-ieee802.3-c22";
+ };
+ phy13: ethernet-phy@13 {
+ reg = <0x13>;
+ compatible = "lantiq,phy22f", "ethernet-phy-ieee802.3-c22";
+ };
+ phy14: ethernet-phy@14 {
+ reg = <0x14>;
+ compatible = "lantiq,phy22f", "ethernet-phy-ieee802.3-c22";
+ };
+ };
+};
+
+&gphy0 {
+ lantiq,gphy-mode = <GPHY_MODE_FE>;
+};
+
+&gphy1 {
+ lantiq,gphy-mode = <GPHY_MODE_FE>;
+};
+
+&gpio {
+ pinctrl-names = "default";
+ pinctrl-0 = <&state_default>, <&gphy0_led1_pins>;
+
+ state_default: pinmux {
+ pci-rst {
+ lantiq,pins = "io21";
+ lantiq,open-drain = <0>;
+ lantiq,pull = <0>;
+ lantiq,output = <1>;
+ };
+ };
+};
+
+&localbus {
+ flash@0 {
+ compatible = "lantiq,nor";
+ bank-width = <2>;
+ reg = <0 0x0 0x1000000>;
+
+ partitions {
+ compatible = "fixed-partitions";
+ #address-cells = <1>;
+ #size-cells = <1>;
+
+ boardconfig: partition@fe0000 {
+ label = "board_config";
+ reg = <0xfe0000 0x20000>;
+ read-only;
+ };
+ };
+ };
+};
+
+&pci0 {
+ status = "okay";
+ gpio-reset = <&gpio 21 GPIO_ACTIVE_HIGH>;
+
+ wifi@1814,3592 {
+ compatible = "pci1814,3592";
+ reg = <0x7000 0 0 0 0>;
+ ralink,mtd-eeprom = <&boardconfig 0x410>;
+ ralink,mtd-eeprom-swap;
+ mtd-mac-address = <&boardconfig 0x16>;
+ mtd-mac-address-increment = <1>;
+ };
+};
+
+&pcie0 {
+ status = "disabled";
+};
+
+&usb_phy0 {
+ status = "okay";
+};
+
+&usb0 {
+ status = "okay";
+ vbus-supply = <&usb_vbus>;
+};
+
+&vmmc {
+ status = "okay";
+ gpios = <&gpio 30 GPIO_ACTIVE_HIGH //fxs relay
+ &gpio 31 GPIO_ACTIVE_HIGH //still unknown
+ &gpio 3 GPIO_ACTIVE_HIGH>; //reset_slic?
+};
diff --git a/target/linux/lantiq/files-4.19/arch/mips/boot/dts/lantiq/vr9_arcadyan_vgv7519-brn.dts b/target/linux/lantiq/files-4.19/arch/mips/boot/dts/lantiq/vr9_arcadyan_vgv7519-brn.dts
new file mode 100644
index 0000000000..051de0c23e
--- /dev/null
+++ b/target/linux/lantiq/files-4.19/arch/mips/boot/dts/lantiq/vr9_arcadyan_vgv7519-brn.dts
@@ -0,0 +1,70 @@
+/dts-v1/;
+
+#include "vr9_arcadyan_vgv7519.dtsi"
+
+/ {
+ compatible = "arcadyan,vgv7519-brn", "arcadyan,vgv7519", "lantiq,xway", "lantiq,vr9";
+ model = "KPN Experiabox V8";
+};
+
+&localbus {
+ flash@0 {
+ partitions {
+ partition@0 {
+ label = "Boot";
+ reg = <0x00000 0x40000>;
+ read-only;
+ };
+
+ partition@50000 {
+ label = "Certificate";
+ reg = <0x50000 0x10000>;
+ read-only;
+ };
+ partition@60000 {
+ label = "Special_Area";
+ reg = <0x60000 0x10000>;
+ read-only;
+ };
+
+ partition@70000 {
+ label = " Reserve_0";
+ reg = <0x70000 0x10000>;
+ read-only;
+ };
+
+ partition@80000 {
+ label = "Code_Image_0";
+ reg = <0x80000 0x780000>;
+ brnboot,root-id = <0x00>;
+ read-only;
+ };
+
+ partition@4000000 {
+ compatible = "brnboot,root-selector";
+ label = "Primary_Setting";
+ reg = <0x4000000 0x10000>;
+ read-only;
+ };
+
+ partition@4010000 {
+ label = "Configuration";
+ reg = <0x4010000 0x60000>;
+ read-only;
+ };
+
+ partition@4070000 {
+ label = " Reserve_1";
+ reg = <0x4070000 0x10000>;
+ read-only;
+ };
+
+ partition@4080000 {
+ label = "Code_Image_1";
+ reg = <0x4080000 0x780000>;
+ brnboot,root-id = <0x01>;
+ read-only;
+ };
+ };
+ };
+};
diff --git a/target/linux/lantiq/files-4.19/arch/mips/boot/dts/lantiq/vr9_arcadyan_vgv7519-nor.dts b/target/linux/lantiq/files-4.19/arch/mips/boot/dts/lantiq/vr9_arcadyan_vgv7519-nor.dts
new file mode 100644
index 0000000000..2121fbf41d
--- /dev/null
+++ b/target/linux/lantiq/files-4.19/arch/mips/boot/dts/lantiq/vr9_arcadyan_vgv7519-nor.dts
@@ -0,0 +1,29 @@
+/dts-v1/;
+
+#include "vr9_arcadyan_vgv7519.dtsi"
+
+/ {
+ compatible = "arcadyan,vgv7519-nor", "arcadyan,vgv7519", "lantiq,xway", "lantiq,vr9";
+ model = "KPN Experiabox V8";
+};
+
+&localbus {
+ flash@0 {
+ partitions {
+ partition@0 {
+ label = "uboot";
+ reg = <0x00000 0x40000>;
+ read-only;
+ };
+ partition@60000 {
+ label = "uboot_env";
+ reg = <0x60000 0x10000>;
+ read-only;
+ };
+ partition@80000 {
+ label = "firmware";
+ reg = <0x80000 0xf80000>;
+ };
+ };
+ };
+};
diff --git a/target/linux/lantiq/files-4.19/arch/mips/boot/dts/lantiq/vr9_arcadyan_vgv7519.dtsi b/target/linux/lantiq/files-4.19/arch/mips/boot/dts/lantiq/vr9_arcadyan_vgv7519.dtsi
new file mode 100644
index 0000000000..e82407d7c3
--- /dev/null
+++ b/target/linux/lantiq/files-4.19/arch/mips/boot/dts/lantiq/vr9_arcadyan_vgv7519.dtsi
@@ -0,0 +1,295 @@
+#include "vr9.dtsi"
+
+#include <dt-bindings/input/input.h>
+#include <dt-bindings/mips/lantiq_rcu_gphy.h>
+
+/ {
+ compatible = "arcadyan,vgv7519", "lantiq,xway", "lantiq,vr9";
+
+ chosen {
+ bootargs = "console=ttyLTQ0,115200 mem=62M vpe1_load_addr=0x83e00000 vpe1_mem=2M maxvpes=1 maxtcs=1 nosmp";
+ };
+
+ aliases {
+ led-boot = &power_green;
+ led-failsafe = &power_red;
+ led-running = &power_green;
+ led-upgrade = &power_green;
+
+ led-dsl = &broadband_green;
+ led-internet = &internet_green;
+ led-wifi = &wireless_green;
+ };
+
+ memory@0 {
+ device_type = "memory";
+ reg = <0x0 0x4000000>;
+ };
+
+ keys {
+ compatible = "gpio-keys-polled";
+ poll-interval = <100>;
+ reset {
+ label = "reset";
+ gpios = <&gpio 9 GPIO_ACTIVE_LOW>;
+ linux,code = <KEY_RESTART>;
+ };
+ eco {
+ label = "eco";
+ gpios = <&gpio 41 GPIO_ACTIVE_LOW>;
+ linux,code = <BTN_0>;
+ };
+ rfkill {
+ label = "rfkill";
+ gpios = <&gpio 45 GPIO_ACTIVE_LOW>;
+ linux,code = <KEY_RFKILL>;
+ };
+ wps {
+ label = "wps";
+ gpios = <&gpio 10 GPIO_ACTIVE_LOW>;
+ linux,code = <KEY_WPS_BUTTON>;
+ };
+ };
+
+ leds {
+ compatible = "gpio-leds";
+
+ eco {
+ label = "vgv7519:blue:eco";
+ gpios = <&stp 2 GPIO_ACTIVE_LOW>;
+ };
+ wps_red {
+ label = "vgv7519:red:wps";
+ gpios = <&stp 3 GPIO_ACTIVE_LOW>;
+ };
+ wps_green {
+ label = "vgv7519:green:wps";
+ gpios = <&stp 4 GPIO_ACTIVE_LOW>;
+ };
+ upgrade {
+ label = "vgv7519:blue:upgrade";
+ gpios = <&stp 5 GPIO_ACTIVE_LOW>;
+ };
+ tv {
+ label = "vgv7519:green:tv";
+ gpios = <&stp 6 GPIO_ACTIVE_LOW>;
+ };
+ internet_green: internet_green {
+ label = "vgv7519:green:internet";
+ gpios = <&stp 7 GPIO_ACTIVE_LOW>;
+ };
+ internet_red {
+ label = "vgv7519:red:internet";
+ gpios = <&stp 8 GPIO_ACTIVE_LOW>;
+ };
+ broadband_red {
+ label = "vgv7519:red:broadband";
+ gpios = <&stp 9 GPIO_ACTIVE_LOW>;
+ };
+ broadband_green: broadband_green {
+ label = "vgv7519:green:broadband";
+ gpios = <&stp 10 GPIO_ACTIVE_LOW>;
+ };
+ voice {
+ label = "vgv7519:green:voice";
+ gpios = <&stp 11 GPIO_ACTIVE_LOW>;
+ };
+ wireless_red {
+ label = "vgv7519:red:wireless";
+ gpios = <&stp 12 GPIO_ACTIVE_LOW>;
+ };
+ wireless_green: wireless_green {
+ label = "vgv7519:green:wireless";
+ gpios = <&stp 13 GPIO_ACTIVE_LOW>;
+ };
+ power_green: power2 {
+ label = "vgv7519:green:power";
+ gpios = <&stp 14 GPIO_ACTIVE_LOW>;
+ default-state = "keep";
+ };
+ power_red: power {
+ label = "vgv7519:red:power";
+ gpios = <&stp 15 GPIO_ACTIVE_LOW>;
+ };
+ };
+
+ usb_vbus: regulator-usb-vbus {
+ compatible = "regulator-fixed";
+
+ regulator-name = "USB_VBUS";
+
+ regulator-min-microvolt = <5000000>;
+ regulator-max-microvolt = <5000000>;
+
+ gpio = <&gpio 32 GPIO_ACTIVE_HIGH>;
+ enable-active-high;
+ };
+};
+
+&eth0 {
+ pinctrl-0 = <&mdio_pins>, <&gphy0_led1_pins>, <&gphy1_led0_pins>;
+ pinctrl-names = "default";
+
+ lan: interface@0 {
+ compatible = "lantiq,xrx200-pdi";
+ #address-cells = <1>;
+ #size-cells = <0>;
+ reg = <0>;
+ mtd-mac-address = <&boardconfig 0x16>;
+ mtd-mac-address-increment = <1>;
+ lantiq,switch;
+
+ ethernet@0 {
+ compatible = "lantiq,xrx200-pdi-port";
+ reg = <0>;
+ phy-mode = "rgmii";
+ phy-handle = <&phy0>;
+ };
+ ethernet@1 {
+ compatible = "lantiq,xrx200-pdi-port";
+ reg = <1>;
+ phy-mode = "rgmii";
+ phy-handle = <&phy1>;
+ };
+ ethernet@2 {
+ compatible = "lantiq,xrx200-pdi-port";
+ reg = <2>;
+ phy-mode = "gmii";
+ phy-handle = <&phy11>;
+ };
+ ethernet@4 {
+ compatible = "lantiq,xrx200-pdi-port";
+ reg = <4>;
+ phy-mode = "gmii";
+ phy-handle = <&phy13>;
+ };
+ ethernet@5 {
+ compatible = "lantiq,xrx200-pdi-port";
+ reg = <5>;
+ phy-mode = "rgmii";
+ phy-handle = <&phy5>;
+ };
+ };
+
+ mdio {
+ #address-cells = <1>;
+ #size-cells = <0>;
+ compatible = "lantiq,xrx200-mdio";
+
+ phy0: ethernet-phy@0 {
+ reg = <0x0>;
+ compatible = "lantiq,phy11g", "ethernet-phy-ieee802.3-c22";
+ };
+ phy1: ethernet-phy@1 {
+ reg = <0x1>;
+ compatible = "lantiq,phy11g", "ethernet-phy-ieee802.3-c22";
+ };
+ phy5: ethernet-phy@5 {
+ reg = <0x5>;
+ compatible = "lantiq,phy11g", "ethernet-phy-ieee802.3-c22";
+ };
+ phy11: ethernet-phy@11 {
+ reg = <0x11>;
+ compatible = "lantiq,phy11g", "ethernet-phy-ieee802.3-c22";
+ };
+ phy13: ethernet-phy@13 {
+ reg = <0x13>;
+ compatible = "lantiq,phy11g", "ethernet-phy-ieee802.3-c22";
+ };
+ };
+};
+
+&gphy0 {
+ lantiq,gphy-mode = <GPHY_MODE_GE>;
+};
+
+&gphy1 {
+ lantiq,gphy-mode = <GPHY_MODE_GE>;
+};
+
+&gpio {
+ pinctrl-names = "default";
+ pinctrl-0 = <&state_default>;
+
+ state_default: pinmux {
+ pci-rst {
+ lantiq,pins = "io21";
+ lantiq,open-drain = <0>;
+ lantiq,pull = <0>;
+ lantiq,output = <1>;
+ };
+ };
+};
+
+&localbus {
+ flash@0 {
+ compatible = "lantiq,nor";
+ bank-width = <2>;
+ reg = <0 0x0 0x800000>, <1 0x800000 0x800000>;
+
+ partitions {
+ compatible = "fixed-partitions";
+ #address-cells = <1>;
+ #size-cells = <1>;
+
+ boardconfig: partition@40000 {
+ label = "board_config";
+ reg = <0x40000 0x10000>;
+ read-only;
+ };
+ };
+ };
+};
+
+&pci0 {
+ status = "okay";
+ gpio-reset = <&gpio 21 GPIO_ACTIVE_HIGH>;
+
+ wifi@1814,3091 {
+ compatible = "pci1814,3091";
+ reg = <0x7000 0 0 0 0>;
+ ralink,mtd-eeprom = <&boardconfig 0x410>;
+ ralink,mtd-eeprom-swap;
+ mtd-mac-address = <&boardconfig 0x16>;
+ mtd-mac-address-increment = <1>;
+ };
+};
+
+&pcie0 {
+ status = "disabled";
+};
+
+&stp {
+ status = "okay";
+ lantiq,shadow = <0xffff>;
+ lantiq,groups = <0x3>;
+ lantiq,dsl = <0x0>;
+ lantiq,phy1 = <0x0>;
+ lantiq,phy2 = <0x0>;
+ /* lantiq,rising; */
+};
+
+&usb_phy0 {
+ status = "okay";
+};
+
+&usb_phy1 {
+ status = "okay";
+};
+
+&usb0 {
+ status = "okay";
+ vbus-supply = <&usb_vbus>;
+};
+
+&usb1 {
+ status = "okay";
+ vbus-supply = <&usb_vbus>;
+};
+
+&vmmc {
+ status = "okay";
+ gpios = <&gpio 30 GPIO_ACTIVE_HIGH //fxs relay
+ &gpio 31 GPIO_ACTIVE_HIGH //still unknown
+ &gpio 3 GPIO_ACTIVE_HIGH>; //reset_slic?
+};
diff --git a/target/linux/lantiq/files-4.19/arch/mips/boot/dts/lantiq/vr9_avm_fritz3370-rev2-hynix.dts b/target/linux/lantiq/files-4.19/arch/mips/boot/dts/lantiq/vr9_avm_fritz3370-rev2-hynix.dts
new file mode 100644
index 0000000000..1aea98260a
--- /dev/null
+++ b/target/linux/lantiq/files-4.19/arch/mips/boot/dts/lantiq/vr9_avm_fritz3370-rev2-hynix.dts
@@ -0,0 +1,39 @@
+/dts-v1/;
+
+#include "vr9_avm_fritz3370-rev2.dtsi"
+
+/ {
+ compatible = "avm,fritz3370-rev2-hynix", "avm,fritz3370-rev2", "lantiq,xway", "lantiq,vr9";
+ model = "AVM FRITZ!Box 3370 Rev. 2 (Hynix NAND)";
+};
+
+&localbus {
+ flash@1 {
+ compatible = "lantiq,nand-xway";
+ bank-width = <2>;
+ reg = <1 0x0 0x2000000>;
+
+ pinctrl-0 = <&nand_pins>, <&nand_cs1_pins>;
+ pinctrl-names = "default";
+
+ nand-ecc-mode = "soft";
+ nand-ecc-strength = <3>;
+ nand-ecc-step-size = <256>;
+
+ partitions {
+ compatible = "fixed-partitions";
+ #address-cells = <1>;
+ #size-cells = <1>;
+
+ partition@0 {
+ label = "kernel";
+ reg = <0x0 0x400000>;
+ };
+
+ partition@400000 {
+ label = "ubi";
+ reg = <0x400000 0x7c00000>;
+ };
+ };
+ };
+};
diff --git a/target/linux/lantiq/files-4.19/arch/mips/boot/dts/lantiq/vr9_avm_fritz3370-rev2-micron.dts b/target/linux/lantiq/files-4.19/arch/mips/boot/dts/lantiq/vr9_avm_fritz3370-rev2-micron.dts
new file mode 100644
index 0000000000..a19d168159
--- /dev/null
+++ b/target/linux/lantiq/files-4.19/arch/mips/boot/dts/lantiq/vr9_avm_fritz3370-rev2-micron.dts
@@ -0,0 +1,37 @@
+/dts-v1/;
+
+#include "vr9_avm_fritz3370-rev2.dtsi"
+
+/ {
+ compatible = "avm,fritz3370-rev2-micron", "avm,fritz3370-rev2", "lantiq,xway", "lantiq,vr9";
+ model = "AVM FRITZ!Box 3370 Rev. 2 (Micron NAND)";
+};
+
+&localbus {
+ flash@1 {
+ compatible = "lantiq,nand-xway";
+ bank-width = <2>;
+ reg = <1 0x0 0x2000000>;
+
+ pinctrl-0 = <&nand_pins>, <&nand_cs1_pins>;
+ pinctrl-names = "default";
+
+ nand-ecc-mode = "on-die";
+
+ partitions {
+ compatible = "fixed-partitions";
+ #address-cells = <1>;
+ #size-cells = <1>;
+
+ partition@0 {
+ label = "kernel";
+ reg = <0x0 0x400000>;
+ };
+
+ partition@400000 {
+ label = "ubi";
+ reg = <0x400000 0x7c00000>;
+ };
+ };
+ };
+};
diff --git a/target/linux/lantiq/files-4.19/arch/mips/boot/dts/lantiq/vr9_avm_fritz3370-rev2.dtsi b/target/linux/lantiq/files-4.19/arch/mips/boot/dts/lantiq/vr9_avm_fritz3370-rev2.dtsi
new file mode 100644
index 0000000000..bac27c3649
--- /dev/null
+++ b/target/linux/lantiq/files-4.19/arch/mips/boot/dts/lantiq/vr9_avm_fritz3370-rev2.dtsi
@@ -0,0 +1,279 @@
+#include "vr9.dtsi"
+
+#include <dt-bindings/input/input.h>
+#include <dt-bindings/mips/lantiq_rcu_gphy.h>
+
+/ {
+ compatible = "avm,fritz3370-rev2", "lantiq,xway", "lantiq,vr9";
+ model = "AVM FRITZ!Box 3370 Rev. 2";
+
+ chosen {
+ bootargs = "console=ttyLTQ0,115200";
+ };
+
+ aliases {
+ led-boot = &power_green;
+ led-failsafe = &power_red;
+ led-running = &power_green;
+ led-upgrade = &power_red;
+
+ led-dsl = &dsl;
+ led-internet = &info_green;
+ led-wifi = &wifi;
+ };
+
+ memory@0 {
+ device_type = "memory";
+ reg = <0x0 0x8000000>;
+ };
+
+ gpio-poweroff {
+ compatible = "gpio-poweroff";
+ gpios = <&gpio 45 GPIO_ACTIVE_HIGH>;
+ };
+
+ keys {
+ compatible = "gpio-keys-polled";
+ poll-interval = <100>;
+
+ power {
+ label = "power";
+ gpios = <&gpio 1 GPIO_ACTIVE_HIGH>;
+ linux,code = <KEY_POWER>;
+ };
+
+ wifi {
+ label = "wlan";
+ gpios = <&gpio 29 GPIO_ACTIVE_HIGH>;
+ linux,code = <KEY_WLAN>;
+ };
+ };
+
+ leds {
+ compatible = "gpio-leds";
+
+ power_green: power {
+ label = "fritz3370:green:power";
+ gpios = <&gpio 32 GPIO_ACTIVE_LOW>;
+ default-state = "keep";
+ };
+
+ power_red: power2 {
+ label = "fritz3370:red:power";
+ gpios = <&gpio 33 GPIO_ACTIVE_LOW>;
+ };
+
+ info_red {
+ label = "fritz3370:red:info";
+ gpios = <&gpio 34 GPIO_ACTIVE_LOW>;
+ };
+
+ wifi: wifi {
+ label = "fritz3370:green:wlan";
+ gpios = <&gpio 35 GPIO_ACTIVE_LOW>;
+ };
+
+ dsl: dsl {
+ label = "fritz3370:green:dsl";
+ gpios = <&gpio 36 GPIO_ACTIVE_LOW>;
+ };
+
+ lan {
+ label = "fritz3370:green:lan";
+ gpios = <&gpio 38 GPIO_ACTIVE_LOW>;
+ };
+
+ info_green: info_green {
+ label = "fritz3370:green:info";
+ gpios = <&gpio 47 GPIO_ACTIVE_LOW>;
+ };
+ };
+
+ usb0_vbus: regulator-usb0-vbus {
+ compatible = "regulator-fixed";
+
+ regulator-name = "USB0_VBUS";
+
+ regulator-min-microvolt = <5000000>;
+ regulator-max-microvolt = <5000000>;
+
+ gpio = <&gpio 14 GPIO_ACTIVE_HIGH>;
+ enable-active-high;
+ };
+
+ usb1_vbus: regulator-usb1-vbus {
+ compatible = "regulator-fixed";
+
+ regulator-name = "USB1_VBUS";
+
+ regulator-min-microvolt = <5000000>;
+ regulator-max-microvolt = <5000000>;
+
+ gpio = <&gpio 5 GPIO_ACTIVE_HIGH>;
+ enable-active-high;
+ };
+};
+
+&eth0 {
+ lan: interface@0 {
+ compatible = "lantiq,xrx200-pdi";
+ #address-cells = <1>;
+ #size-cells = <0>;
+ reg = <0>;
+ lantiq,switch;
+
+ ethernet@0 {
+ compatible = "lantiq,xrx200-pdi-port";
+ reg = <0>;
+ phy-mode = "rgmii";
+ phy-handle = <&phy0>;
+ gpios = <&gpio 37 GPIO_ACTIVE_HIGH>;
+ };
+
+ ethernet@1 {
+ compatible = "lantiq,xrx200-pdi-port";
+ reg = <1>;
+ phy-mode = "rgmii";
+ phy-handle = <&phy1>;
+ gpios = <&gpio 44 GPIO_ACTIVE_HIGH>;
+ };
+
+ ethernet@2 {
+ compatible = "lantiq,xrx200-pdi-port";
+ reg = <2>;
+ phy-mode = "gmii";
+ phy-handle = <&phy11>;
+ };
+
+ ethernet@4 {
+ compatible = "lantiq,xrx200-pdi-port";
+ reg = <4>;
+ phy-mode = "gmii";
+ phy-handle = <&phy13>;
+ };
+ };
+
+ mdio {
+ #address-cells = <1>;
+ #size-cells = <0>;
+ compatible = "lantiq,xrx200-mdio";
+
+ phy0: ethernet-phy@0 {
+ reg = <0x0>;
+ compatible = "lantiq,phy11g", "ethernet-phy-ieee802.3-c22";
+ };
+
+ phy1: ethernet-phy@1 {
+ reg = <0x1>;
+ compatible = "lantiq,phy11g", "ethernet-phy-ieee802.3-c22";
+ };
+
+ phy11: ethernet-phy@11 {
+ reg = <0x11>;
+ compatible = "lantiq,phy11g", "ethernet-phy-ieee802.3-c22";
+ };
+
+ phy13: ethernet-phy@13 {
+ reg = <0x13>;
+ compatible = "lantiq,phy11g", "ethernet-phy-ieee802.3-c22";
+ };
+ };
+};
+
+&gphy0 {
+ lantiq,gphy-mode = <GPHY_MODE_GE>;
+};
+
+&gphy1 {
+ lantiq,gphy-mode = <GPHY_MODE_GE>;
+};
+
+&gpio {
+ pinctrl-names = "default";
+ pinctrl-0 = <&state_default>;
+
+ state_default: pinmux {
+ phy-rst {
+ lantiq,pins = "io37", "io44";
+ lantiq,pull = <0>;
+ lantiq,open-drain = <0>;
+ lantiq,output = <1>;
+ };
+
+ pcie-rst {
+ lantiq,pins = "io21";
+ lantiq,pull = <0>;
+ lantiq,output = <1>;
+ };
+ };
+};
+
+&pcie0 {
+ gpio-reset = <&gpio 21 GPIO_ACTIVE_HIGH>;
+
+ pcie@0 {
+ reg = <0 0 0 0 0>;
+ #interrupt-cells = <1>;
+ #size-cells = <2>;
+ #address-cells = <3>;
+ device_type = "pci";
+
+ wifi@0,0 {
+ compatible = "pci0,0";
+ reg = <0 0 0 0 0>;
+ qca,no-eeprom; /* load from ath9k-eeprom-pci-0000:01:00.0.bin */
+ };
+ };
+};
+
+&spi {
+ status = "okay";
+
+ flash@4 {
+ compatible = "jedec,spi-nor";
+ reg = <4>;
+ spi-max-frequency = <1000000>;
+
+ partitions {
+ compatible = "fixed-partitions";
+ #address-cells = <1>;
+ #size-cells = <1>;
+
+ urlader: partition@0 {
+ reg = <0x0 0x20000>;
+ label = "urlader";
+ read-only;
+ };
+
+ partition@20000 {
+ reg = <0x20000 0x10000>;
+ label = "tffs (1)";
+ read-only;
+ };
+
+ partition@30000 {
+ reg = <0x30000 0x10000>;
+ label = "tffs (2)";
+ read-only;
+ };
+ };
+ };
+};
+
+&usb_phy0 {
+ status = "okay";
+};
+
+&usb_phy1 {
+ status = "okay";
+};
+
+&usb0 {
+ status = "okay";
+ vbus-supply = <&usb0_vbus>;
+};
+
+&usb1 {
+ status = "okay";
+ vbus-supply = <&usb1_vbus>;
+};
diff --git a/target/linux/lantiq/files-4.19/arch/mips/boot/dts/lantiq/vr9_avm_fritz7360sl.dts b/target/linux/lantiq/files-4.19/arch/mips/boot/dts/lantiq/vr9_avm_fritz7360sl.dts
new file mode 100644
index 0000000000..012300ec57
--- /dev/null
+++ b/target/linux/lantiq/files-4.19/arch/mips/boot/dts/lantiq/vr9_avm_fritz7360sl.dts
@@ -0,0 +1,81 @@
+// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
+/dts-v1/;
+
+#include "vr9_avm_fritz736x.dtsi"
+
+#include <dt-bindings/input/input.h>
+#include <dt-bindings/mips/lantiq_rcu_gphy.h>
+
+/ {
+ compatible = "avm,fritz7360sl", "avm,fritz736x", "lantiq,xway", "lantiq,vr9";
+ model = "AVM FRITZ!Box 7360 SL";
+};
+
+&power_green {
+ label = "fritz7360sl:green:power";
+};
+
+&power_red {
+ label = "fritz7360sl:red:power";
+};
+
+&info_green {
+ label = "fritz7360sl:green:info";
+};
+
+&wifi {
+ label = "fritz7360sl:green:wlan";
+};
+
+&info_red {
+ label = "fritz7360sl:red:info";
+};
+
+&dect {
+ label = "fritz7360sl:green:dect";
+};
+
+&state_default {
+ pcie-rst {
+ lantiq,pins = "io38";
+ lantiq,pull = <0>;
+ lantiq,output = <1>;
+ };
+};
+
+&localbus {
+ flash@0 {
+ compatible = "lantiq,nor";
+ bank-width = <2>;
+ reg = <0 0x0 0x1000000>;
+
+ partitions {
+ #address-cells = <1>;
+ #size-cells = <1>;
+ compatible = "fixed-partitions";
+
+ urlader: partition@0 {
+ label = "urlader";
+ reg = <0x00000 0x20000>;
+ read-only;
+ };
+
+ partition@20000 {
+ label = "firmware";
+ reg = <0x20000 0xf60000>;
+ };
+
+ partition@f80000 {
+ label = "tffs (1)";
+ reg = <0xf80000 0x40000>;
+ read-only;
+ };
+
+ partition@fc0000 {
+ label = "tffs (2)";
+ reg = <0xfc0000 0x40000>;
+ read-only;
+ };
+ };
+ };
+};
diff --git a/target/linux/lantiq/files-4.19/arch/mips/boot/dts/lantiq/vr9_avm_fritz7362sl.dts b/target/linux/lantiq/files-4.19/arch/mips/boot/dts/lantiq/vr9_avm_fritz7362sl.dts
new file mode 100644
index 0000000000..a061a482da
--- /dev/null
+++ b/target/linux/lantiq/files-4.19/arch/mips/boot/dts/lantiq/vr9_avm_fritz7362sl.dts
@@ -0,0 +1,113 @@
+// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
+/dts-v1/;
+
+#include "vr9_avm_fritz736x.dtsi"
+
+#include <dt-bindings/input/input.h>
+#include <dt-bindings/mips/lantiq_rcu_gphy.h>
+
+/ {
+ compatible = "avm,fritz7362sl", "avm,fritz736x", "lantiq,xway", "lantiq,vr9";
+ model = "AVM FRITZ!Box 7362 SL";
+};
+
+&power_green {
+ label = "fritz7362sl:green:power";
+};
+
+&power_red {
+ label = "fritz7362sl:red:power";
+};
+
+&info_green {
+ label = "fritz7362sl:green:info";
+};
+
+&wifi {
+ label = "fritz7362sl:green:wlan";
+};
+
+&info_red {
+ label = "fritz7362sl:red:info";
+};
+
+&dect {
+ label = "fritz7362sl:green:dect";
+};
+
+&state_default {
+ pcie-rst {
+ lantiq,pins = "io21";
+ lantiq,open-drain = <1>;
+ lantiq,output = <1>;
+ };
+};
+
+&spi {
+ status = "okay";
+
+ flash@4 {
+ #address-cells = <1>;
+ #size-cells = <1>;
+ compatible = "jedec,spi-nor";
+ reg = <4 0>;
+ spi-max-frequency = <1000000>;
+
+ urlader: partition@0 {
+ reg = <0x0 0x40000>;
+ label = "urlader";
+ read-only;
+ };
+
+ partition@40000 {
+ reg = <0x40000 0x60000>;
+ label = "tffs (1)";
+ read-only;
+ };
+
+ partition@A0000 {
+ reg = <0xA0000 0x60000>;
+ label = "tffs (2)";
+ read-only;
+ };
+ };
+};
+
+&localbus {
+ flash@1 {
+ compatible = "lantiq,nand-xway";
+ lantiq,cs1 = <1>;
+ bank-width = <1>;
+ reg = <1 0x0 0x2000000>;
+
+ pinctrl-0 = <&nand_pins>, <&nand_cs1_pins>;
+ pinctrl-names = "default";
+
+ nand-ecc-mode = "on-die";
+
+ partitions {
+ compatible = "fixed-partitions";
+ #address-cells = <1>;
+ #size-cells = <1>;
+
+ partition@0 {
+ label = "kernel";
+ reg = <0x0 0x400000>;
+ };
+
+ partition@400000 {
+ label = "ubi";
+ reg = <0x400000 0x7c00000>;
+ };
+ };
+ };
+};
+
+&pcie0 {
+ gpio-reset = <&gpio 21 GPIO_ACTIVE_LOW>;
+
+ pcie@0 {
+ #size-cells = <1>;
+ #address-cells = <2>;
+ };
+};
diff --git a/target/linux/lantiq/files-4.19/arch/mips/boot/dts/lantiq/vr9_avm_fritz736x.dtsi b/target/linux/lantiq/files-4.19/arch/mips/boot/dts/lantiq/vr9_avm_fritz736x.dtsi
new file mode 100644
index 0000000000..1553d2f7f4
--- /dev/null
+++ b/target/linux/lantiq/files-4.19/arch/mips/boot/dts/lantiq/vr9_avm_fritz736x.dtsi
@@ -0,0 +1,200 @@
+// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
+
+#include "vr9.dtsi"
+
+#include <dt-bindings/input/input.h>
+#include <dt-bindings/mips/lantiq_rcu_gphy.h>
+
+/ {
+ compatible = "avm,fritz736x", "lantiq,xway", "lantiq,vr9";
+
+ chosen {
+ bootargs = "console=ttyLTQ0,115200";
+ };
+
+ aliases {
+ led-boot = &power_green;
+ led-failsafe = &power_red;
+ led-running = &power_green;
+ led-upgrade = &power_red;
+
+ led-dsl = &info_green;
+ led-wifi = &wifi;
+ };
+
+ memory@0 {
+ device_type = "memory";
+ reg = <0x0 0x8000000>;
+ };
+
+ keys {
+ compatible = "gpio-keys-polled";
+ poll-interval = <100>;
+
+ dect {
+ label = "dect";
+ gpios = <&gpio 1 GPIO_ACTIVE_HIGH>;
+ linux,code = <KEY_PHONE>;
+ };
+
+ wifi {
+ label = "wifi";
+ gpios = <&gpio 29 GPIO_ACTIVE_HIGH>;
+ linux,code = <KEY_WLAN>;
+ };
+ };
+
+ leds: leds {
+ compatible = "gpio-leds";
+
+ power_green: power {
+ gpios = <&gpio 32 GPIO_ACTIVE_LOW>;
+ default-state = "keep";
+ };
+
+ power_red: power2 {
+ gpios = <&gpio 33 GPIO_ACTIVE_LOW>;
+ };
+
+ info_green: info_green {
+ gpios = <&gpio 47 GPIO_ACTIVE_LOW>;
+ };
+
+ wifi: wifi {
+ gpios = <&gpio 36 GPIO_ACTIVE_LOW>;
+ };
+
+ info_red: info_red {
+ gpios = <&gpio 34 GPIO_ACTIVE_LOW>;
+ };
+
+ dect: dect {
+ gpios = <&gpio 35 GPIO_ACTIVE_LOW>;
+ };
+ };
+};
+
+&eth0 {
+ lan: interface@0 {
+ compatible = "lantiq,xrx200-pdi";
+ #address-cells = <1>;
+ #size-cells = <0>;
+ reg = <0>;
+ mtd-mac-address = <&urlader 0xa91>;
+ mtd-mac-address-increment = <(-2)>;
+ lantiq,switch;
+
+ ethernet@0 {
+ compatible = "lantiq,xrx200-pdi-port";
+ reg = <0>;
+ phy-mode = "rmii";
+ phy-handle = <&phy0>;
+ };
+
+ ethernet@1 {
+ compatible = "lantiq,xrx200-pdi-port";
+ reg = <1>;
+ phy-mode = "rmii";
+ phy-handle = <&phy1>;
+ };
+
+ ethernet@2 {
+ compatible = "lantiq,xrx200-pdi-port";
+ reg = <2>;
+ phy-mode = "gmii";
+ phy-handle = <&phy11>;
+ };
+
+ ethernet@3 {
+ compatible = "lantiq,xrx200-pdi-port";
+ reg = <4>;
+ phy-mode = "gmii";
+ phy-handle = <&phy13>;
+ };
+ };
+
+ mdio {
+ #address-cells = <1>;
+ #size-cells = <0>;
+ compatible = "lantiq,xrx200-mdio";
+
+ phy0: ethernet-phy@0 {
+ reg = <0x00>;
+ compatible = "ethernet-phy-ieee802.3-c22";
+ reset-gpios = <&gpio 37 GPIO_ACTIVE_LOW>;
+ };
+
+ phy1: ethernet-phy@1 {
+ reg = <0x01>;
+ compatible = "ethernet-phy-ieee802.3-c22";
+ reset-gpios = <&gpio 44 GPIO_ACTIVE_LOW>;
+ };
+
+ phy11: ethernet-phy@11 {
+ reg = <0x11>;
+ compatible = "lantiq,phy11g", "ethernet-phy-ieee802.3-c22";
+ };
+
+ phy13: ethernet-phy@13 {
+ reg = <0x13>;
+ compatible = "lantiq,phy11g", "ethernet-phy-ieee802.3-c22";
+ };
+ };
+};
+
+&gphy0 {
+ lantiq,gphy-mode = <GPHY_MODE_GE>;
+};
+
+&gphy1 {
+ lantiq,gphy-mode = <GPHY_MODE_GE>;
+};
+
+&gpio {
+ pinctrl-names = "default";
+ pinctrl-0 = <&state_default>;
+
+ state_default: pinmux {
+ phy-rst {
+ lantiq,pins = "io37", "io44";
+ lantiq,pull = <0>;
+ lantiq,open-drain;
+ lantiq,output = <1>;
+ };
+ };
+
+};
+
+&pcie0 {
+ status = "okay";
+
+ pcie@0 {
+ reg = <0 0 0 0 0>;
+ #interrupt-cells = <1>;
+ #size-cells = <1>;
+ #address-cells = <2>;
+ device_type = "pci";
+
+ wifi@168c,002e {
+ compatible = "pci168c,002e";
+ reg = <0 0 0 0 0>;
+ qca,no-eeprom; /* load from ath9k-eeprom-pci-0000:01:00.0.bin */
+ };
+ };
+};
+
+&usb_phy0 {
+ status = "okay";
+};
+
+&usb_phy1 {
+ status = "okay";
+};
+
+&usb0 {
+ status = "okay";
+};
+
+&usb1 {
+ status = "okay";
+};
diff --git a/target/linux/lantiq/files-4.19/arch/mips/boot/dts/lantiq/vr9_avm_fritz7412.dts b/target/linux/lantiq/files-4.19/arch/mips/boot/dts/lantiq/vr9_avm_fritz7412.dts
new file mode 100644
index 0000000000..43216d66be
--- /dev/null
+++ b/target/linux/lantiq/files-4.19/arch/mips/boot/dts/lantiq/vr9_avm_fritz7412.dts
@@ -0,0 +1,218 @@
+// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
+/dts-v1/;
+
+#include "vr9.dtsi"
+
+#include <dt-bindings/input/input.h>
+#include <dt-bindings/mips/lantiq_rcu_gphy.h>
+
+/ {
+ compatible = "avm,fritz7412", "lantiq,xway", "lantiq,vr9";
+ model = "AVM FRITZ!Box 7412";
+
+ chosen {
+ bootargs = "console=ttyLTQ0,115200";
+ };
+
+ aliases {
+ led-boot = &power_green;
+ led-failsafe = &power_red;
+ led-running = &power_green;
+ led-upgrade = &power_red;
+
+ led-dsl = &info;
+ led-wifi = &wifi;
+ };
+
+ memory@0 {
+ device_type = "memory";
+ reg = <0x0 0x8000000>;
+ };
+
+ keys {
+ compatible = "gpio-keys-polled";
+ poll-interval = <100>;
+
+ wps {
+ label = "wps";
+ gpios = <&gpio 1 GPIO_ACTIVE_LOW>;
+ linux,code = <KEY_WPS_BUTTON>;
+ };
+
+ dect {
+ label = "dect";
+ gpios = <&gpio 2 GPIO_ACTIVE_LOW>;
+ linux,code = <KEY_PHONE>;
+ };
+ };
+
+ leds {
+ compatible = "gpio-leds";
+
+ power_green: power_green {
+ label = "fritz7412:green:power";
+ gpios = <&gpio 6 GPIO_ACTIVE_LOW>;
+ default-state = "keep";
+ };
+
+ power_red: power_red {
+ label = "fritz7412:red:power";
+ gpios = <&gpio 5 GPIO_ACTIVE_LOW>;
+ };
+
+ fon {
+ label = "fritz7412:green:fon";
+ gpios = <&gpio 34 GPIO_ACTIVE_LOW>;
+ };
+
+ dect {
+ label = "fritz7412:green:dect";
+ gpios = <&gpio 15 GPIO_ACTIVE_LOW>;
+ };
+
+ wifi: wifi {
+ label = "fritz7412:green:wifi";
+ gpios = <&gpio 0 GPIO_ACTIVE_LOW>;
+ };
+
+ info: info {
+ label = "fritz7412:green:info";
+ gpios = <&gpio 35 GPIO_ACTIVE_LOW>;
+ };
+ };
+};
+
+&localbus {
+ flash@0 {
+ compatible = "lantiq,nand-xway";
+ bank-width = <2>;
+ reg = <0 0x0 0x2000000>;
+ lantiq,cs = <1>;
+
+ pinctrl-0 = <&nand_pins>, <&nand_cs1_pins>;
+ pinctrl-names = "default";
+
+ partitions {
+ compatible = "fixed-partitions";
+ #address-cells = <1>;
+ #size-cells = <1>;
+
+ partition@0 {
+ label = "urlader";
+ reg = <0x0 0x40000>;
+ read-only;
+ };
+
+ partition@40000 {
+ label = "nand-tffs";
+ reg = <0x40000 0x400000>;
+ read-only;
+ };
+
+ partition@440000 {
+ label = "kernel";
+ reg = <0x440000 0x400000>;
+ };
+
+ partition@840000 {
+ label = "ubi";
+ reg = <0x840000 0x3000000>;
+ };
+
+ partition@3840000 {
+ label = "reserved-kernel";
+ reg = <0x3840000 0x400000>;
+ read-only;
+ };
+
+ partition@3c40000 {
+ label = "reserved-filesystem";
+ reg = <0x3c40000 0x3000000>;
+ read-only;
+ };
+
+ partition@6c40000 {
+ label = "config";
+ reg = <0x6c40000 0x400000>;
+ read-only;
+ };
+
+ partition@6e40000 {
+ label = "nand-filesystem";
+ reg = <0x6e40000 0x400000>;
+ read-only;
+ };
+ };
+ };
+};
+
+&pcie0 {
+ status = "okay";
+ gpio-reset = <&gpio 11 GPIO_ACTIVE_HIGH>;
+
+ pcie@0 {
+ reg = <0 0 0 0 0>;
+ #interrupt-cells = <1>;
+ #size-cells = <2>;
+ #address-cells = <3>;
+ device_type = "pci";
+
+ wifi@168c,002e {
+ compatible = "pci168c,002e";
+ reg = <0 0 0 0 0>;
+ qca,no-eeprom; /* load from ath9k-eeprom-pci-0000:01:00.0.bin */
+ };
+ };
+};
+
+&gpio {
+ pinctrl-names = "default";
+ pinctrl-0 = <&state_default>;
+
+ state_default: pinmux {
+ pcie-rst {
+ lantiq,pins = "io11";
+ lantiq,open-drain = <1>;
+ lantiq,output = <1>;
+ };
+ };
+};
+
+&gphy0 {
+ lantiq,gphy-mode = <GPHY_MODE_FE>;
+};
+
+&eth0 {
+ lantiq,phys = <&gphy0>;
+
+ interface@0 {
+ compatible = "lantiq,xrx200-pdi";
+ #address-cells = <1>;
+ #size-cells = <0>;
+ reg = <0>;
+ mac-address = [ 00 11 22 33 44 55 ];
+ lantiq,switch;
+
+ ethernet@2 {
+ compatible = "lantiq,xrx200-pdi-port";
+ reg = <2>;
+ phy-mode = "gmii";
+ phy-handle = <&phy11>;
+ };
+ };
+
+ mdio {
+ #address-cells = <1>;
+ #size-cells = <0>;
+ compatible = "lantiq,xrx200-mdio";
+
+ phy11: ethernet-phy@11 {
+ reg = <0x11>;
+ compatible = "lantiq,phy11g", "ethernet-phy-ieee802.3-c22";
+ };
+ };
+};
+
+&vmmc {
+ status = "okay";
+};
diff --git a/target/linux/lantiq/files-4.19/arch/mips/boot/dts/lantiq/vr9_bt_homehub-v5a.dts b/target/linux/lantiq/files-4.19/arch/mips/boot/dts/lantiq/vr9_bt_homehub-v5a.dts
new file mode 100644
index 0000000000..f6a2d9f6a7
--- /dev/null
+++ b/target/linux/lantiq/files-4.19/arch/mips/boot/dts/lantiq/vr9_bt_homehub-v5a.dts
@@ -0,0 +1,283 @@
+/dts-v1/;
+
+#include "vr9.dtsi"
+
+#include <dt-bindings/input/input.h>
+#include <dt-bindings/mips/lantiq_rcu_gphy.h>
+
+/ {
+ compatible = "bt,homehub-v5a", "lantiq,xway", "lantiq,vr9";
+ model = "BT Home Hub 5A";
+
+ chosen {
+ bootargs = "console=ttyLTQ0,115200";
+ };
+
+ aliases {
+ led-boot = &power_green;
+ led-failsafe = &power_red;
+ led-running = &power_blue;
+ led-upgrade = &power_blue;
+
+ led-dsl = &broadband_blue;
+ led-wifi = &wireless_blue;
+ };
+
+ memory@0 {
+ device_type = "memory";
+ reg = <0x0 0x8000000>;
+ };
+
+ keys {
+ compatible = "gpio-keys-polled";
+ poll-interval = <100>;
+
+ reset {
+ label = "reset";
+ gpios = <&gpio 2 GPIO_ACTIVE_LOW>;
+ linux,code = <KEY_RESTART>;
+ };
+
+ wps {
+ label = "wps";
+ gpios = <&gpio 25 GPIO_ACTIVE_LOW>;
+ linux,code = <KEY_WPS_BUTTON>;
+ };
+
+ restart {
+ label = "restart";
+ gpios = <&gpio 39 GPIO_ACTIVE_LOW>;
+ linux,code = <KEY_POWER2>;
+ };
+ };
+
+ leds {
+ compatible = "gpio-leds";
+
+ /* broadband-* is a single RGB led */
+ broadband-red {
+ label = "bthomehubv5a:red:broadband";
+ gpios = <&gpio 0 GPIO_ACTIVE_LOW>;
+ };
+ broadband-green {
+ label = "bthomehubv5a:green:broadband";
+ gpios = <&gpio 3 GPIO_ACTIVE_LOW>;
+ };
+ broadband_blue: broadband-blue {
+ label = "bthomehubv5a:blue:broadband";
+ gpios = <&gpio 8 GPIO_ACTIVE_LOW>;
+ };
+
+ /* wireless-* is a single RGB led */
+ wireless-red {
+ label = "bthomehubv5a:red:wireless";
+ gpios = <&gpio 9 GPIO_ACTIVE_LOW>;
+ };
+ wireless-green {
+ label = "bthomehubv5a:green:wireless";
+ gpios = <&gpio 10 GPIO_ACTIVE_LOW>;
+ };
+ wireless_blue: wireless-blue {
+ label = "bthomehubv5a:blue:wireless";
+ gpios = <&gpio 11 GPIO_ACTIVE_LOW>;
+ };
+
+ /* power-* is a single RGB led */
+ power_red: power-red {
+ label = "bthomehubv5a:red:power";
+ gpios = <&gpio 12 GPIO_ACTIVE_LOW>;
+ };
+ power_green: power-green {
+ label = "bthomehubv5a:green:power";
+ gpios = <&gpio 14 GPIO_ACTIVE_LOW>;
+ default-state = "keep";
+ };
+ power_blue: power-blue {
+ label = "bthomehubv5a:blue:power";
+ gpios = <&gpio 15 GPIO_ACTIVE_LOW>;
+ };
+
+ dimmed {
+ label = "dimmed";
+ gpios = <&gpio 19 GPIO_ACTIVE_HIGH>;
+ };
+ };
+
+ usb_vbus: regulator-usb-vbus {
+ compatible = "regulator-fixed";
+
+ regulator-name = "USB_VBUS";
+
+ regulator-min-microvolt = <5000000>;
+ regulator-max-microvolt = <5000000>;
+
+ gpio = <&gpio 33 GPIO_ACTIVE_HIGH>;
+ enable-active-high;
+ };
+};
+
+&eth0 {
+ lan: interface@0 {
+ compatible = "lantiq,xrx200-pdi";
+ #address-cells = <1>;
+ #size-cells = <0>;
+ reg = <0>;
+ lantiq,switch;
+
+ ethernet@0 {
+ compatible = "lantiq,xrx200-pdi-port";
+ reg = <0>;
+ phy-mode = "rgmii";
+ phy-handle = <&phy0>;
+ };
+ ethernet@1 {
+ compatible = "lantiq,xrx200-pdi-port";
+ reg = <1>;
+ phy-mode = "rgmii";
+ phy-handle = <&phy1>;
+ };
+ ethernet@2 {
+ compatible = "lantiq,xrx200-pdi-port";
+ reg = <2>;
+ phy-mode = "gmii";
+ phy-handle = <&phy11>;
+ };
+ ethernet@4 {
+ compatible = "lantiq,xrx200-pdi-port";
+ reg = <4>;
+ phy-mode = "gmii";
+ phy-handle = <&phy13>;
+ };
+ ethernet@5 {
+ compatible = "lantiq,xrx200-pdi-port";
+ reg = <5>;
+ phy-mode = "rgmii";
+ phy-handle = <&phy5>;
+ };
+ };
+
+ mdio {
+ #address-cells = <1>;
+ #size-cells = <0>;
+ compatible = "lantiq,xrx200-mdio";
+
+ phy0: ethernet-phy@0 {
+ reg = <0x0>;
+ compatible = "lantiq,phy11g", "ethernet-phy-ieee802.3-c22";
+ };
+ phy1: ethernet-phy@1 {
+ reg = <0x1>;
+ compatible = "lantiq,phy11g", "ethernet-phy-ieee802.3-c22";
+ };
+ phy5: ethernet-phy@5 {
+ reg = <0x5>;
+ compatible = "lantiq,phy11g", "ethernet-phy-ieee802.3-c22";
+ };
+ phy11: ethernet-phy@11 {
+ reg = <0x11>;
+ compatible = "lantiq,phy11g", "ethernet-phy-ieee802.3-c22";
+ };
+ phy13: ethernet-phy@13 {
+ reg = <0x13>;
+ compatible = "lantiq,phy11g", "ethernet-phy-ieee802.3-c22";
+ };
+ };
+};
+
+&gphy0 {
+ lantiq,gphy-mode = <GPHY_MODE_GE>;
+};
+
+&gphy1 {
+ lantiq,gphy-mode = <GPHY_MODE_GE>;
+};
+
+&gpio {
+ pinctrl-names = "default";
+ pinctrl-0 = <&state_default>;
+
+ state_default: pinmux {
+ pci_rst {
+ lantiq,pins = "io21";
+ lantiq,output = <1>;
+ lantiq,open-drain;
+ };
+ pcie_rst {
+ lantiq,pins = "io38";
+ lantiq,pull = <0>;
+ lantiq,output = <1>;
+ lantiq,open-drain;
+ };
+ usb_vbus {
+ lantiq,pins = "io33";
+ lantiq,pull = <0>;
+ lantiq,open-drain = <0>;
+ lantiq,output = <1>;
+ };
+ };
+};
+
+&localbus {
+ flash@1 {
+ compatible = "lantiq,nand-xway";
+ lantiq,cs = <1>;
+ bank-width = <2>;
+ reg = <0x1 0x0 0x2000000>;
+
+ pinctrl-0 = <&nand_pins>, <&nand_cs1_pins>;
+ pinctrl-names = "default";
+
+ nand-on-flash-bbt;
+ nand-ecc-strength = <3>;
+ nand-ecc-step-size = <256>;
+
+ partitions {
+ compatible = "fixed-partitions";
+ #address-cells = <1>;
+ #size-cells = <1>;
+
+ partition@0 {
+ label = "u-boot";
+ reg = <0x0 0xa0000>;
+ read-only;
+ };
+ partition@a0000 {
+ label = "uboot-env";
+ reg = <0xa0000 0x20000>;
+ read-only;
+ };
+ partition@c0000 {
+ label = "unused";
+ reg = <0xc0000 0x40000>;
+ };
+ partition@100000 {
+ label = "ubi";
+ reg = <0x100000 0x7e80000>;
+ };
+ /*
+ * last 512 KiB are for the bad block table, not writable
+ */
+ };
+ };
+};
+
+&pci0 {
+ status = "okay";
+ gpio-reset = <&gpio 21 GPIO_ACTIVE_HIGH>;
+
+ wifi@168c,002d {
+ compatible = "pci168c,002d";
+ reg = <0x7000 0 0 0 0>;
+ qca,no-eeprom; /* load from ath9k-eeprom-pci-0000:00:0e.0.bin */
+ qca,disable-5ghz;
+ };
+};
+
+&usb_phy0 {
+ status = "okay";
+};
+
+&usb0 {
+ status = "okay";
+ vbus-supply = <&usb_vbus>;
+};
diff --git a/target/linux/lantiq/files-4.19/arch/mips/boot/dts/lantiq/vr9_buffalo_wbmr-300hpd.dts b/target/linux/lantiq/files-4.19/arch/mips/boot/dts/lantiq/vr9_buffalo_wbmr-300hpd.dts
new file mode 100644
index 0000000000..4631ad4ffe
--- /dev/null
+++ b/target/linux/lantiq/files-4.19/arch/mips/boot/dts/lantiq/vr9_buffalo_wbmr-300hpd.dts
@@ -0,0 +1,312 @@
+/dts-v1/;
+
+#include "vr9.dtsi"
+
+#include <dt-bindings/input/input.h>
+#include <dt-bindings/mips/lantiq_rcu_gphy.h>
+
+/ {
+ compatible = "buffalo,wbmr-300hpd", "lantiq,xway", "lantiq,vr9";
+ model = "Buffalo WBMR-300HPD";
+
+ chosen {
+ bootargs = "console=ttyLTQ0,115200";
+ };
+
+ aliases {
+ led-boot = &power_g;
+ led-failsafe = &diag_r;
+ led-running = &power_g;
+ led-upgrade = &power_g;
+
+ led-dsl = &dsl;
+ led-internet = &router_g;
+ led-wifi = &wifi_g;
+ };
+
+ memory@0 {
+ device_type = "memory";
+ reg = <0x0 0x4000000>;
+ };
+
+ gpio_poweroff {
+ compatible = "gpio-poweroff";
+ gpios = <&gpio 6 GPIO_ACTIVE_LOW>;
+ };
+
+ keys {
+ compatible = "gpio-keys-polled";
+ poll-interval = <100>;
+
+ power {
+ label = "power";
+ gpios = <&gpio 5 GPIO_ACTIVE_LOW>;
+ linux,code = <KEY_POWER>;
+ };
+
+ reset {
+ label = "reset";
+ gpios = <&gpio 7 GPIO_ACTIVE_LOW>;
+ linux,code = <KEY_RESTART>;
+ };
+
+ wps {
+ label = "wps";
+ gpios = <&gpio 31 GPIO_ACTIVE_LOW>;
+ linux,code = <KEY_WPS_BUTTON>;
+ };
+
+ auto {
+ label = "auto";
+ gpios = <&gpio 48 GPIO_ACTIVE_HIGH>;
+ linux,code = <BTN_0>;
+ linux,input-type = <EV_SW>;
+ };
+
+ router {
+ label = "router";
+ gpios = <&gpio 2 GPIO_ACTIVE_HIGH>;
+ linux,code = <BTN_1>;
+ linux,input-type = <EV_SW>;
+ };
+ };
+
+ leds {
+ compatible = "gpio-leds";
+
+ diag_r: diag_r {
+ label = "wbmr300:red:diag";
+ gpios = <&gpio 0 GPIO_ACTIVE_HIGH>;
+ default_state = "off";
+ };
+
+ wifi_g: wifi_g {
+ label = "wbmr300:green:wifi";
+ gpios = <&gpio 1 GPIO_ACTIVE_HIGH>;
+ };
+
+ dsl: dsl {
+ label = "dsl";
+ gpios = <&gpio 4 GPIO_ACTIVE_HIGH>;
+ };
+
+ router_y: router_y {
+ label = "wbmr300:yellow:router";
+ gpios = <&gpio 8 GPIO_ACTIVE_HIGH>;
+ };
+
+ wifi_y: wifi_y {
+ label = "wbmr300:yellow:wifi";
+ gpios = <&gpio 9 GPIO_ACTIVE_HIGH>;
+ };
+
+ lan1: lan1 {
+ label = "wbmr300:green:lan1";
+ gpios = <&gpio 11 GPIO_ACTIVE_HIGH>;
+ };
+
+ wan: wan {
+ label = "wbmr300:green:wan";
+ gpios = <&gpio 12 GPIO_ACTIVE_HIGH>;
+ };
+
+ lan3: lan3 {
+ label = "wbmr300:green:lan3";
+ gpios = <&gpio 15 GPIO_ACTIVE_HIGH>;
+ };
+
+ lan2: lan2 {
+ label = "wbmr300:green:lan2";
+ gpios = <&gpio 33 GPIO_ACTIVE_HIGH>;
+ };
+
+ internet_g: internet_g {
+ label = "wbmr300:green:internet";
+ gpios = <&gpio 34 GPIO_ACTIVE_HIGH>;
+ };
+
+ internet_y: internet_y {
+ label = "wbmr300:yellow:internet";
+ gpios = <&gpio 35 GPIO_ACTIVE_HIGH>;
+ };
+
+ router_g: router_g {
+ label = "wbmr300:green:router";
+ gpios = <&gpio 36 GPIO_ACTIVE_HIGH>;
+ };
+
+ power_g: power_g {
+ label = "wbmr300:green:power";
+ gpios = <&gpio 49 GPIO_ACTIVE_HIGH>;
+ };
+ };
+
+ usb_vbus: regulator-usb-vbus {
+ compatible = "regulator-fixed";
+
+ regulator-name = "USB_VBUS";
+
+ regulator-min-microvolt = <5000000>;
+ regulator-max-microvolt = <5000000>;
+
+ gpio = <&gpio 33 GPIO_ACTIVE_HIGH>;
+ enable-active-high;
+ };
+};
+
+&eth0 {
+ lan: interface@0 {
+ compatible = "lantiq,xrx200-pdi";
+ #address-cells = <1>;
+ #size-cells = <0>;
+ reg = <0>;
+ lantiq,switch;
+
+ ethernet@1 {
+ compatible = "lantiq,xrx200-pdi-port";
+ reg = <4>;
+ phy-mode = "mii";
+ phy-handle = <&phy13>;
+ };
+ ethernet@2 {
+ compatible = "lantiq,xrx200-pdi-port";
+ reg = <5>;
+ phy-mode = "mii";
+ phy-handle = <&phy14>;
+ };
+ ethernet@3 {
+ compatible = "lantiq,xrx200-pdi-port";
+ reg = <2>;
+ phy-mode = "mii";
+ phy-handle = <&phy11>;
+ };
+ ethernet@4 {
+ compatible = "lantiq,xrx200-pdi-port";
+ reg = <3>;
+ phy-mode = "mii";
+ phy-handle = <&phy12>;
+ };
+ };
+
+ mdio {
+ #address-cells = <1>;
+ #size-cells = <0>;
+ compatible = "lantiq,xrx200-mdio";
+
+ phy11: ethernet-phy@11 {
+ reg = <0x11>;
+ compatible = "lantiq,phy22f", "ethernet-phy-ieee802.3-c22";
+ };
+ phy12: ethernet-phy@12 {
+ reg = <0x12>;
+ compatible = "lantiq,phy22f", "ethernet-phy-ieee802.3-c22";
+ };
+ phy13: ethernet-phy@13 {
+ reg = <0x13>;
+ compatible = "lantiq,phy22f", "ethernet-phy-ieee802.3-c22";
+ };
+ phy14: ethernet-phy@14 {
+ reg = <0x14>;
+ compatible = "lantiq,phy22f", "ethernet-phy-ieee802.3-c22";
+ };
+ };
+};
+
+&gphy0 {
+ lantiq,gphy-mode = <GPHY_MODE_FE>;
+};
+
+&gphy1 {
+ lantiq,gphy-mode = <GPHY_MODE_FE>;
+};
+
+&gpio {
+ pinctrl-names = "default";
+ pinctrl-0 = <&state_default>;
+
+ state_default: pinmux {
+ phy-rst {
+ lantiq,pins = "io42";
+ lantiq,pull = <0>;
+ lantiq,open-drain = <0>;
+ lantiq,output = <1>;
+ };
+ pcie-rst {
+ lantiq,pins = "io38";
+ lantiq,pull = <0>;
+ lantiq,output = <1>;
+ };
+ };
+};
+
+&spi {
+ status = "okay";
+
+ flash@4 {
+ compatible = "jedec,spi-nor";
+ reg = <4>;
+ spi-max-frequency = <20000000>;
+
+ partitions {
+ #address-cells = <1>;
+ #size-cells = <1>;
+
+ partition@0 {
+ reg = <0x0 0x10000>;
+ label = "u-boot";
+ read-only;
+ };
+
+ partition@10000 {
+ reg = <0x10000 0x10000>;
+ label = "gphyfirmware";
+ read-only;
+ };
+
+ partition@20000 {
+ reg = <0x20000 0x80000>;
+ label = "dsl_fw";
+ };
+
+ partition@de0000 {
+ reg = <0xa0000 0xf40000>;
+ label = "firmware";
+ };
+
+ partition@fe0000 {
+ reg = <0xfe0000 0x10000>;
+ label = "sysconfig";
+ read-only;
+ };
+
+ partition@ff0000 {
+ reg = <0xff0000 0x2000>;
+ label = "ubootconfig";
+ };
+
+ partition@ff3000 {
+ reg = <0xff3000 0x2000>;
+ label = "board_config";
+ read-only;
+ };
+ };
+ };
+};
+
+&usb_phy0 {
+ status = "okay";
+};
+
+&usb_phy1 {
+ status = "okay";
+};
+
+&usb0 {
+ status = "okay";
+ vbus-supply = <&usb_vbus>;
+};
+
+&usb1 {
+ status = "okay";
+ vbus-supply = <&usb_vbus>;
+};
diff --git a/target/linux/lantiq/files-4.19/arch/mips/boot/dts/lantiq/vr9_lantiq_easy80920-nand.dts b/target/linux/lantiq/files-4.19/arch/mips/boot/dts/lantiq/vr9_lantiq_easy80920-nand.dts
new file mode 100644
index 0000000000..585521459b
--- /dev/null
+++ b/target/linux/lantiq/files-4.19/arch/mips/boot/dts/lantiq/vr9_lantiq_easy80920-nand.dts
@@ -0,0 +1,66 @@
+/dts-v1/;
+
+
+#include "vr9_lantiq_easy80920.dtsi"
+
+/ {
+ compatible = "lantiq,easy80920-nand", "lantiq,easy80920", "lantiq,xway", "lantiq,vr9";
+ model = "Intel EASY80920 Nand";
+
+ chosen {
+ bootargs = "ubi.mtd=ubi ubi.block=0,rootfsA root=/dev/ubiblock0_1";
+ };
+};
+
+&localbus {
+ flash@0 {
+ compatible = "lantiq,nand-xway";
+ lantiq,cs = <1>;
+ bank-width = <2>;
+ reg = <0 0x0 0x2000000>;
+
+ pinctrl-0 = <&nand_pins>;
+ pinctrl-names = "default";
+
+ partitions {
+ compatible = "fixed-partitions";
+ #address-cells = <1>;
+ #size-cells = <1>;
+
+ partition@0 {
+ label = "uboot";
+ reg = <0x00000 0x100000>; /* 1024 KB */
+ };
+
+ partition@100000 {
+ label = "uboot_env";
+ reg = <0x100000 0x40000>; /* 256 KB */
+ };
+
+ partition@140000 {
+ label = "ubootconfigB";
+ reg = <0x140000 0x40000>; /* 256 KB */
+ };
+
+ partition@180000 {
+ label = "gphyfirmware";
+ reg = <0x180000 0x40000>; /* 256 KB */
+ };
+
+ partition@1c0000 {
+ label = "ubi";
+ reg = <0x1c0000 0xc800000>;
+ };
+
+ partition@c9c0000 {
+ label = "calibration";
+ reg = <0xc9c0000 0x100000>;
+ };
+
+ partition@cac0000 {
+ label = "res";
+ reg = <0xcac0000 0x13540000>;
+ };
+ };
+ };
+};
diff --git a/target/linux/lantiq/files-4.19/arch/mips/boot/dts/lantiq/vr9_lantiq_easy80920-nor.dts b/target/linux/lantiq/files-4.19/arch/mips/boot/dts/lantiq/vr9_lantiq_easy80920-nor.dts
new file mode 100644
index 0000000000..c204c5e093
--- /dev/null
+++ b/target/linux/lantiq/files-4.19/arch/mips/boot/dts/lantiq/vr9_lantiq_easy80920-nor.dts
@@ -0,0 +1,37 @@
+/dts-v1/;
+
+#include "vr9_lantiq_easy80920.dtsi"
+
+/ {
+ compatible = "lantiq,easy80920-nor", "lantiq,easy80920", "lantiq,xway", "lantiq,vr9";
+ model = "Intel EASY80920 Nor";
+};
+
+&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 0x10000>;
+ };
+
+ partition@10000 {
+ label = "uboot_env";
+ reg = <0x10000 0x10000>;
+ };
+
+ partition@20000 {
+ label = "firmware";
+ reg = <0x20000 0x7e0000>;
+ };
+ };
+ };
+};
diff --git a/target/linux/lantiq/files-4.19/arch/mips/boot/dts/lantiq/vr9_lantiq_easy80920.dtsi b/target/linux/lantiq/files-4.19/arch/mips/boot/dts/lantiq/vr9_lantiq_easy80920.dtsi
new file mode 100644
index 0000000000..4fbc1ac496
--- /dev/null
+++ b/target/linux/lantiq/files-4.19/arch/mips/boot/dts/lantiq/vr9_lantiq_easy80920.dtsi
@@ -0,0 +1,279 @@
+#include "vr9.dtsi"
+
+#include <dt-bindings/input/input.h>
+#include <dt-bindings/mips/lantiq_rcu_gphy.h>
+
+/ {
+ compatible = "lantiq,easy80920", "lantiq,xway", "lantiq,vr9";
+
+ chosen {
+ bootargs = "console=ttyLTQ0,115200";
+ };
+
+ aliases {
+ led-boot = &power;
+ led-failsafe = &power;
+ led-running = &power;
+ led-upgrade = &power;
+
+ led-usb = &led_usb1;
+ led-usb2 = &led_usb2;
+ };
+
+ memory@0 {
+ device_type = "memory";
+ reg = <0x0 0x4000000>;
+ };
+
+ keys {
+ compatible = "gpio-keys-polled";
+ poll-interval = <100>;
+/* reset {
+ label = "reset";
+ gpios = <&gpio 7 GPIO_ACTIVE_LOW>;
+ linux,code = <KEY_RESTART>;
+ };*/
+ paging {
+ label = "paging";
+ gpios = <&gpio 11 GPIO_ACTIVE_LOW>;
+ linux,code = <KEY_PHONE>;
+ };
+ };
+
+ leds {
+ compatible = "gpio-leds";
+
+ power: power {
+ label = "easy80920:green:power";
+ gpios = <&stp 9 GPIO_ACTIVE_HIGH>;
+ default-state = "keep";
+ };
+ warning {
+ label = "easy80920:green:warning";
+ gpios = <&stp 22 GPIO_ACTIVE_HIGH>;
+ };
+ fxs1 {
+ label = "easy80920:green:fxs1";
+ gpios = <&stp 21 GPIO_ACTIVE_HIGH>;
+ };
+ fxs2 {
+ label = "easy80920:green:fxs2";
+ gpios = <&stp 20 GPIO_ACTIVE_HIGH>;
+ };
+ fxo {
+ label = "easy80920:green:fxo";
+ gpios = <&stp 19 GPIO_ACTIVE_HIGH>;
+ };
+ led_usb1: usb1 {
+ label = "easy80920:green:usb1";
+ gpios = <&stp 18 GPIO_ACTIVE_HIGH>;
+ };
+ led_usb2: usb2 {
+ label = "easy80920:green:usb2";
+ gpios = <&stp 15 GPIO_ACTIVE_HIGH>;
+ };
+ sd {
+ label = "easy80920:green:sd";
+ gpios = <&stp 14 GPIO_ACTIVE_HIGH>;
+ };
+ wps {
+ label = "easy80920:green:wps";
+ gpios = <&stp 12 GPIO_ACTIVE_HIGH>;
+ };
+ };
+
+ usb_vbus: regulator-usb-vbus {
+ compatible = "regulator-fixed";
+
+ regulator-name = "USB_VBUS";
+
+ regulator-min-microvolt = <5000000>;
+ regulator-max-microvolt = <5000000>;
+
+ gpio = <&gpio 33 GPIO_ACTIVE_HIGH>;
+ enable-active-high;
+ };
+};
+
+&eth0 {
+ lan: interface@0 {
+ compatible = "lantiq,xrx200-pdi";
+ #address-cells = <1>;
+ #size-cells = <0>;
+ reg = <0>;
+ lantiq,switch;
+
+ ethernet@4 {
+ compatible = "lantiq,xrx200-pdi-port";
+ reg = <4>;
+ phy-mode = "gmii";
+ phy-handle = <&phy13>;
+ };
+ ethernet@2 {
+ compatible = "lantiq,xrx200-pdi-port";
+ reg = <2>;
+ phy-mode = "gmii";
+ phy-handle = <&phy11>;
+ };
+ ethernet@1 {
+ compatible = "lantiq,xrx200-pdi-port";
+ reg = <1>;
+ phy-mode = "rgmii";
+ phy-handle = <&phy1>;
+ };
+ ethernet@0 {
+ compatible = "lantiq,xrx200-pdi-port";
+ reg = <0>;
+ phy-mode = "rgmii";
+ phy-handle = <&phy0>;
+ };
+ };
+
+ wan: interface@1 {
+ compatible = "lantiq,xrx200-pdi";
+ #address-cells = <1>;
+ #size-cells = <0>;
+ reg = <1>;
+ lantiq,wan;
+
+ ethernet@5 {
+ compatible = "lantiq,xrx200-pdi-port";
+ reg = <5>;
+ phy-mode = "rgmii";
+ phy-handle = <&phy5>;
+ };
+ };
+
+ mdio {
+ #address-cells = <1>;
+ #size-cells = <0>;
+ compatible = "lantiq,xrx200-mdio";
+
+ phy0: ethernet-phy@0 {
+ reg = <0x0>;
+ compatible = "lantiq,phy11g", "ethernet-phy-ieee802.3-c22";
+ };
+ phy1: ethernet-phy@1 {
+ reg = <0x1>;
+ compatible = "lantiq,phy11g", "ethernet-phy-ieee802.3-c22";
+ };
+ phy5: ethernet-phy@5 {
+ reg = <0x5>;
+ compatible = "lantiq,phy11g", "ethernet-phy-ieee802.3-c22";
+ };
+ phy11: ethernet-phy@11 {
+ reg = <0x11>;
+ compatible = "lantiq,phy11g", "ethernet-phy-ieee802.3-c22";
+ };
+ phy13: ethernet-phy@13 {
+ reg = <0x13>;
+ compatible = "lantiq,phy11g", "ethernet-phy-ieee802.3-c22";
+ };
+ };
+};
+
+&gphy0 {
+ lantiq,gphy-mode = <GPHY_MODE_GE>;
+};
+
+&gphy1 {
+ lantiq,gphy-mode = <GPHY_MODE_GE>;
+};
+
+&gpio {
+ pinctrl-names = "default";
+ pinctrl-0 = <&state_default>;
+
+ state_default: pinmux {
+ exin3 {
+ lantiq,groups = "exin3";
+ lantiq,function = "exin";
+ };
+ conf_out {
+ lantiq,pins = "io21",
+ "io33";
+ lantiq,open-drain;
+ lantiq,pull = <0>;
+ lantiq,output = <1>;
+ };
+ pcie-rst {
+ lantiq,pins = "io38";
+ lantiq,pull = <0>;
+ lantiq,output = <1>;
+ };
+ conf_in {
+ lantiq,pins = "io39"; /* exin3 */
+ lantiq,pull = <2>;
+ };
+ };
+};
+
+&spi {
+ status = "okay";
+
+ flash@4 {
+ compatible = "jedec,spi-nor";
+ reg = <4>;
+ spi-max-frequency = <1000000>;
+
+ partitions {
+ compatible = "fixed-partitions";
+ #address-cells = <1>;
+ #size-cells = <1>;
+
+ partition@0 {
+ reg = <0x0 0x20000>;
+ label = "SPI (RO) U-Boot Image";
+ read-only;
+ };
+
+ partition@20000 {
+ reg = <0x20000 0x10000>;
+ label = "ENV_MAC";
+ read-only;
+ };
+
+ partition@30000 {
+ reg = <0x30000 0x10000>;
+ label = "DPF";
+ read-only;
+ };
+
+ partition@40000 {
+ reg = <0x40000 0x10000>;
+ label = "NVRAM";
+ read-only;
+ };
+
+ partition@500000 {
+ reg = <0x50000 0x003a0000>;
+ label = "kernel";
+ };
+ };
+ };
+};
+
+&pci0 {
+ pinctrl-0 = <&pci_gnt1_pins>, <&pci_req1_pins>;
+ pinctrl-names = "default";
+};
+
+&stp {
+ status = "okay";
+
+ lantiq,shadow = <0xffff>;
+ lantiq,groups = <0x7>;
+ lantiq,dsl = <0x3>;
+ lantiq,phy1 = <0x7>;
+ lantiq,phy2 = <0x7>;
+ /* lantiq,rising; */
+};
+
+&usb_phy0 {
+ status = "okay";
+};
+
+&usb0 {
+ status = "okay";
+ vbus-supply = <&usb_vbus>;
+};
diff --git a/target/linux/lantiq/files-4.19/arch/mips/boot/dts/lantiq/vr9_netgear_dm200.dts b/target/linux/lantiq/files-4.19/arch/mips/boot/dts/lantiq/vr9_netgear_dm200.dts
new file mode 100644
index 0000000000..cdba656e49
--- /dev/null
+++ b/target/linux/lantiq/files-4.19/arch/mips/boot/dts/lantiq/vr9_netgear_dm200.dts
@@ -0,0 +1,186 @@
+/dts-v1/;
+
+#include "vr9.dtsi"
+
+#include <dt-bindings/input/input.h>
+#include <dt-bindings/mips/lantiq_rcu_gphy.h>
+
+/ {
+ compatible = "netgear,dm200", "lantiq,xway", "lantiq,vr9";
+ model = "Netgear DM200";
+
+ chosen {
+ bootargs = "console=ttyLTQ0,115200";
+ };
+
+ aliases {
+ led-boot = &power_green;
+ led-failsafe = &power_amber;
+ led-running = &power_green;
+ led-upgrade = &power_green;
+
+ led-dsl = &dsl_green;
+ };
+
+ memory@0 {
+ device_type = "memory";
+ reg = <0x0 0x4000000>;
+ };
+
+ keys {
+ compatible = "gpio-keys-polled";
+ poll-interval = <100>;
+ reset {
+ label = "reset";
+ gpios = <&gpio 7 GPIO_ACTIVE_LOW>;
+ linux,code = <KEY_RESTART>;
+ };
+ };
+
+ gpio_export {
+ compatible = "gpio-export";
+ #size-cells = <0>;
+
+ annexa {
+ gpio-export,name = "annexa";
+ gpio-export,output = <0>;
+ gpios = <&gpio 12 GPIO_ACTIVE_HIGH>;
+ };
+ annexb {
+ gpio-export,name = "annexb";
+ gpio-export,output = <0>;
+ gpios = <&gpio 15 GPIO_ACTIVE_HIGH>;
+ };
+ };
+
+ leds {
+ compatible = "gpio-leds";
+
+ power_amber: power_amber {
+ label = "dm200:amber:power";
+ gpios = <&gpio 0 GPIO_ACTIVE_HIGH>;
+ };
+ power_green: power_green {
+ label = "dm200:green:power";
+ gpios = <&gpio 1 GPIO_ACTIVE_HIGH>;
+ };
+
+ lan_amber {
+ label = "dm200:amber:lan";
+ gpios = <&gpio 33 GPIO_ACTIVE_HIGH>;
+ };
+ lan_green {
+ label = "dm200:green:lan";
+ gpios = <&gpio 11 GPIO_ACTIVE_HIGH>;
+ };
+
+ dsl_amber {
+ label = "dm200:amber:dsl";
+ gpios = <&gpio 8 GPIO_ACTIVE_HIGH>;
+ };
+ dsl_green: dsl_green {
+ label = "dm200:green:dsl";
+ gpios = <&gpio 36 GPIO_ACTIVE_HIGH>;
+ };
+ };
+};
+
+&eth0 {
+ lantiq,phys = <&gphy1>;
+
+ lan: interface@0 {
+ compatible = "lantiq,xrx200-pdi";
+ #address-cells = <1>;
+ #size-cells = <0>;
+ reg = <0>;
+
+ ethernet@4 {
+ compatible = "lantiq,xrx200-pdi-port";
+ reg = <4>;
+ phy-mode = "mii";
+ phy-handle = <&phy13>;
+ };
+ };
+
+ mdio {
+ #address-cells = <1>;
+ #size-cells = <0>;
+ compatible = "lantiq,xrx200-mdio";
+
+ phy13: ethernet-phy@13 {
+ reg = <0x13>;
+ compatible = "lantiq,phy22f", "ethernet-phy-ieee802.3-c22";
+ };
+ };
+};
+
+&gphy1 {
+ lantiq,gphy-mode = <GPHY_MODE_FE>;
+};
+
+&pcie0 {
+ status = "disabled";
+};
+
+&spi {
+ status = "okay";
+
+ flash@4 {
+ compatible = "jedec,spi-nor";
+ reg = <4>;
+ spi-max-frequency = <10000000>;
+
+ partitions {
+ #address-cells = <1>;
+ #size-cells = <1>;
+ compatible = "fixed-partitions";
+
+ partition@0 {
+ reg = <0x0 0x20000>;
+ label = "uboot";
+ read-only;
+ };
+
+ partition@20000 {
+ reg = <0x20000 0x10000>;
+ label = "gphyfirmware";
+ read-only;
+ };
+
+ partition@30000 {
+ reg = <0x30000 0x7b0000>;
+ label = "firmware";
+ };
+
+ partition@7e0000 {
+ reg = <0x7e0000 0x10000>;
+ label = "sysconfig";
+ read-only;
+ };
+
+ partition@7f0000 {
+ reg = <0x7f0000 0x2000>;
+ label = "ubootconfig";
+ read-only;
+ };
+
+ partition@7f2000 {
+ reg = <0x7f2000 0x1000>;
+ label = "ART";
+ read-only;
+ };
+
+ partition@7f3000 {
+ reg = <0x7f3000 0x1000>;
+ label = "pot";
+ read-only;
+ };
+
+ partition@7f4000 {
+ reg = <0x7f4000 0xc000>;
+ label = "ret";
+ read-only;
+ };
+ };
+ };
+};
diff --git a/target/linux/lantiq/files-4.19/arch/mips/boot/dts/lantiq/vr9_tplink_tdw8970.dts b/target/linux/lantiq/files-4.19/arch/mips/boot/dts/lantiq/vr9_tplink_tdw8970.dts
new file mode 100644
index 0000000000..9b3055983a
--- /dev/null
+++ b/target/linux/lantiq/files-4.19/arch/mips/boot/dts/lantiq/vr9_tplink_tdw8970.dts
@@ -0,0 +1,8 @@
+/dts-v1/;
+
+#include "vr9_tplink_tdw89x0.dtsi"
+
+/ {
+ compatible = "tplink,tdw8970", "tplink,tdw89x0", "lantiq,xway", "lantiq,vr9";
+ model = "TP-LINK TD-W8970";
+};
diff --git a/target/linux/lantiq/files-4.19/arch/mips/boot/dts/lantiq/vr9_tplink_tdw8980.dts b/target/linux/lantiq/files-4.19/arch/mips/boot/dts/lantiq/vr9_tplink_tdw8980.dts
new file mode 100644
index 0000000000..725aa759d2
--- /dev/null
+++ b/target/linux/lantiq/files-4.19/arch/mips/boot/dts/lantiq/vr9_tplink_tdw8980.dts
@@ -0,0 +1,33 @@
+/dts-v1/;
+
+#include "vr9_tplink_tdw89x0.dtsi"
+
+/ {
+ compatible = "tplink,tdw8980", "tplink,tdw89x0", "lantiq,xway", "lantiq,vr9";
+ model = "TP-LINK TD-W8980";
+
+ gpio-leds {
+ wifi2 {
+ label = "tdw8980:green:wlan5ghz";
+ gpios = <&gpio 24 GPIO_ACTIVE_LOW>;
+ };
+ };
+};
+
+&gpio {
+ state_default: pinmux {
+ pci_rst {
+ lantiq,pins = "io21";
+ lantiq,output = <1>;
+ lantiq,open-drain;
+ };
+ };
+};
+
+&pci0 {
+ status = "okay";
+ lantiq,bus-clock = <33333333>;
+ interrupt-map-mask = <0xf800 0x0 0x0 0x7>;
+ interrupt-map = <0x7000 0 0 1 &icu0 30 1>;
+ gpio-reset = <&gpio 21 GPIO_ACTIVE_HIGH>;
+};
diff --git a/target/linux/lantiq/files-4.19/arch/mips/boot/dts/lantiq/vr9_tplink_tdw89x0.dtsi b/target/linux/lantiq/files-4.19/arch/mips/boot/dts/lantiq/vr9_tplink_tdw89x0.dtsi
new file mode 100644
index 0000000000..eabbc0257f
--- /dev/null
+++ b/target/linux/lantiq/files-4.19/arch/mips/boot/dts/lantiq/vr9_tplink_tdw89x0.dtsi
@@ -0,0 +1,272 @@
+#include "vr9.dtsi"
+
+#include <dt-bindings/input/input.h>
+#include <dt-bindings/mips/lantiq_rcu_gphy.h>
+
+/ {
+ compatible = "tplink,tdw89x0", "lantiq,xway", "lantiq,vr9";
+
+ chosen {
+ bootargs = "console=ttyLTQ0,115200";
+ };
+
+ aliases {
+ /* the power led can't be controlled, use the wps led instead */
+ led-boot = &wps;
+ led-failsafe = &wps;
+
+ led-dsl = &dsl;
+ led-internet = &internet;
+ led-wifi = &wifi;
+ led-usb = &led_usb0;
+ led-usb2 = &led_usb2;
+ };
+
+ memory@0 {
+ device_type = "memory";
+ reg = <0x0 0x4000000>;
+ };
+
+ keys {
+ compatible = "gpio-keys-polled";
+ poll-interval = <100>;
+ reset {
+ label = "reset";
+ gpios = <&gpio 0 GPIO_ACTIVE_LOW>;
+ linux,code = <KEY_RESTART>;
+ };
+
+ wifi {
+ label = "wifi";
+ gpios = <&gpio 9 GPIO_ACTIVE_HIGH>;
+ linux,code = <KEY_RFKILL>;
+ linux,input-type = <EV_SW>;
+ };
+
+ wps {
+ label = "wps";
+ gpios = <&gpio 39 GPIO_ACTIVE_LOW>;
+ linux,code = <KEY_WPS_BUTTON>;
+ };
+ };
+
+ gpio-leds {
+ compatible = "gpio-leds";
+ /*
+ power is not controllable via gpio
+ */
+ dsl: dsl {
+ label = "tdw89x0:green:dsl";
+ gpios = <&gpio 4 GPIO_ACTIVE_HIGH>;
+ };
+ internet: internet {
+ label = "tdw89x0:green:internet";
+ gpios = <&gpio 5 GPIO_ACTIVE_HIGH>;
+ };
+
+ led_usb0: usb0 {
+ label = "tdw89x0:green:usb";
+ gpios = <&gpio 19 GPIO_ACTIVE_HIGH>;
+ };
+ led_usb2: usb2 {
+ label = "tdw89x0:green:usb2";
+ gpios = <&gpio 20 GPIO_ACTIVE_HIGH>;
+ };
+ wps: wps {
+ label = "tdw89x0:green:wps";
+ gpios = <&gpio 37 GPIO_ACTIVE_HIGH>;
+ };
+ };
+
+ wifi-leds {
+ compatible = "gpio-leds";
+
+ wifi: wifi {
+ label = "tdw89x0:green:wifi";
+ gpios = <&ath9k 0 GPIO_ACTIVE_HIGH>;
+ linux,default-trigger = "phy0tpt";
+ };
+ };
+
+
+ usb_vbus: regulator-usb-vbus {
+ compatible = "regulator-fixed";
+
+ regulator-name = "USB_VBUS";
+
+ regulator-min-microvolt = <5000000>;
+ regulator-max-microvolt = <5000000>;
+
+ gpio = <&gpio 33 GPIO_ACTIVE_HIGH>;
+ enable-active-high;
+ };
+};
+
+&eth0 {
+ pinctrl-0 = <&mdio_pins>, <&gphy0_led1_pins>, <&gphy1_led1_pins>;
+ pinctrl-names = "default";
+
+ lan: interface@0 {
+ compatible = "lantiq,xrx200-pdi";
+ #address-cells = <1>;
+ #size-cells = <0>;
+ reg = <0>;
+ mtd-mac-address = <&ath9k_cal 0xf100>;
+ lantiq,switch;
+
+ ethernet@0 {
+ compatible = "lantiq,xrx200-pdi-port";
+ reg = <0>;
+ phy-mode = "rgmii";
+ phy-handle = <&phy0>;
+ // gpios = <&gpio 42 GPIO_ACTIVE_LOW>;
+ };
+ ethernet@5 {
+ compatible = "lantiq,xrx200-pdi-port";
+ reg = <5>;
+ phy-mode = "rgmii";
+ phy-handle = <&phy5>;
+ };
+ ethernet@2 {
+ compatible = "lantiq,xrx200-pdi-port";
+ reg = <2>;
+ phy-mode = "gmii";
+ phy-handle = <&phy11>;
+ };
+ ethernet@3 {
+ compatible = "lantiq,xrx200-pdi-port";
+ reg = <4>;
+ phy-mode = "gmii";
+ phy-handle = <&phy13>;
+ };
+ };
+
+ mdio {
+ #address-cells = <1>;
+ #size-cells = <0>;
+ compatible = "lantiq,xrx200-mdio";
+
+ phy0: ethernet-phy@0 {
+ reg = <0x0>;
+ compatible = "lantiq,phy11g", "ethernet-phy-ieee802.3-c22";
+ };
+ phy5: ethernet-phy@5 {
+ reg = <0x5>;
+ compatible = "lantiq,phy11g", "ethernet-phy-ieee802.3-c22";
+ };
+ phy11: ethernet-phy@11 {
+ reg = <0x11>;
+ compatible = "lantiq,phy11g", "ethernet-phy-ieee802.3-c22";
+ };
+ phy13: ethernet-phy@13 {
+ reg = <0x13>;
+ compatible = "lantiq,phy11g", "ethernet-phy-ieee802.3-c22";
+ };
+ };
+};
+
+&gphy0 {
+ lantiq,gphy-mode = <GPHY_MODE_GE>;
+};
+
+&gphy1 {
+ lantiq,gphy-mode = <GPHY_MODE_GE>;
+};
+
+&gpio {
+ pinctrl-names = "default";
+ pinctrl-0 = <&state_default>;
+
+ state_default: pinmux {
+ phy-rst {
+ lantiq,pins = "io42";
+ lantiq,pull = <0>;
+ lantiq,open-drain = <0>;
+ lantiq,output = <1>;
+ };
+ pcie-rst {
+ lantiq,pins = "io38";
+ lantiq,pull = <0>;
+ lantiq,output = <1>;
+ };
+ };
+};
+
+&pcie0 {
+ pcie@0 {
+ reg = <0 0 0 0 0>;
+ #interrupt-cells = <1>;
+ #size-cells = <2>;
+ #address-cells = <3>;
+ device_type = "pci";
+
+ ath9k: wifi@168c,002e {
+ compatible = "pci168c,002e";
+ reg = <0 0 0 0 0>;
+ #gpio-cells = <2>;
+ gpio-controller;
+ qca,no-eeprom;
+ qca,disable-5ghz;
+ mtd-mac-address = <&ath9k_cal 0xf100>;
+ mtd-mac-address-increment = <2>;
+ };
+ };
+};
+
+&spi {
+ status = "okay";
+
+ flash@4 {
+ compatible = "jedec,spi-nor";
+ reg = <4>;
+ spi-max-frequency = <33250000>;
+ m25p,fast-read;
+
+ partitions {
+ compatible = "fixed-partitions";
+ #address-cells = <1>;
+ #size-cells = <1>;
+
+ partition@0 {
+ reg = <0x0 0x20000>;
+ label = "u-boot";
+ read-only;
+ };
+
+ partition@20000 {
+ reg = <0x20000 0x7a0000>;
+ label = "firmware";
+ };
+
+ partition@7c0000 {
+ reg = <0x7c0000 0x10000>;
+ label = "config";
+ read-only;
+ };
+
+ ath9k_cal: partition@7d0000 {
+ reg = <0x7d0000 0x30000>;
+ label = "boardconfig";
+ read-only;
+ };
+ };
+ };
+};
+
+&usb_phy0 {
+ status = "okay";
+};
+
+&usb_phy1 {
+ status = "okay";
+};
+
+&usb0 {
+ status = "okay";
+ vbus-supply = <&usb_vbus>;
+};
+
+&usb1 {
+ status = "okay";
+ vbus-supply = <&usb_vbus>;
+};
diff --git a/target/linux/lantiq/files-4.19/arch/mips/boot/dts/lantiq/vr9_tplink_vr200.dts b/target/linux/lantiq/files-4.19/arch/mips/boot/dts/lantiq/vr9_tplink_vr200.dts
new file mode 100644
index 0000000000..98f2282579
--- /dev/null
+++ b/target/linux/lantiq/files-4.19/arch/mips/boot/dts/lantiq/vr9_tplink_vr200.dts
@@ -0,0 +1,92 @@
+/dts-v1/;
+
+#include "vr9_tplink_vr200.dtsi"
+
+/ {
+ compatible = "tplink,vr200", "lantiq,xway", "lantiq,vr9";
+ model = "TP-LINK Archer VR200";
+
+ chosen {
+ bootargs = "console=ttyLTQ0,115200";
+ };
+
+ aliases {
+ led-boot = &power;
+ led-failsafe = &power;
+ led-running = &power;
+ led-upgrade = &power;
+
+ led-dsl = &dsl;
+ led-internet = &internet;
+ led-wifi = &wlan5g;
+
+ led-usb = &led_usb;
+ led-usb2 = &led_usb;
+ };
+
+ keys {
+ compatible = "gpio-keys-polled";
+ poll-interval = <100>;
+ reset {
+ label = "reset";
+ gpios = <&gpio 22 GPIO_ACTIVE_LOW>;
+ linux,code = <KEY_RESTART>;
+ };
+
+ wifi {
+ label = "wifi";
+ gpios = <&gpio 0 GPIO_ACTIVE_HIGH>;
+ linux,code = <KEY_RFKILL>;
+ linux,input-type = <EV_SW>;
+ };
+
+ wps {
+ label = "wps";
+ gpios = <&gpio 2 GPIO_ACTIVE_LOW>;
+ linux,code = <KEY_WPS_BUTTON>;
+ };
+
+ led {
+ label = "led";
+ gpios = <&gpio 39 GPIO_ACTIVE_LOW>;
+ linux,code = <KEY_LIGHTS_TOGGLE>;
+ };
+ };
+
+ leds {
+ compatible = "gpio-leds";
+ power: power {
+ label = "vr200:blue:power";
+ gpios = <&gpio 46 GPIO_ACTIVE_LOW>;
+ default-state = "keep";
+ };
+ dsl: dsl {
+ label = "vr200:blue:dsl";
+ gpios = <&gpio 4 GPIO_ACTIVE_LOW>;
+ };
+ internet: internet {
+ label = "vr200:blue:internet";
+ gpios = <&gpio 5 GPIO_ACTIVE_LOW>;
+ };
+ led_usb: usb {
+ label = "vr200:blue:usb";
+ gpios = <&gpio 25 GPIO_ACTIVE_LOW>;
+ };
+ eth {
+ label = "vr200:blue:lan";
+ gpios = <&gpio 40 GPIO_ACTIVE_LOW>;
+ };
+ wlan {
+ label = "vr200:blue:wlan";
+ gpios = <&gpio 24 GPIO_ACTIVE_LOW>;
+ };
+ wlan5g: wifi {
+ label = "vr200:blue:wlan5g";
+ gpios = <&gpio 20 GPIO_ACTIVE_LOW>;
+ };
+ led_wps {
+ label = "vr200:blue:wps";
+ gpios = <&gpio 44 GPIO_ACTIVE_LOW>;
+ };
+ };
+};
diff --git a/target/linux/lantiq/files-4.19/arch/mips/boot/dts/lantiq/vr9_tplink_vr200.dtsi b/target/linux/lantiq/files-4.19/arch/mips/boot/dts/lantiq/vr9_tplink_vr200.dtsi
new file mode 100644
index 0000000000..77b4f0defb
--- /dev/null
+++ b/target/linux/lantiq/files-4.19/arch/mips/boot/dts/lantiq/vr9_tplink_vr200.dtsi
@@ -0,0 +1,213 @@
+#include "vr9.dtsi"
+
+#include <dt-bindings/input/input.h>
+#include <dt-bindings/mips/lantiq_rcu_gphy.h>
+
+/ {
+ memory@0 {
+ device_type = "memory";
+ reg = <0x0 0x7f00000>;
+ };
+
+ usb_vbus: regulator-usb-vbus {
+ compatible = "regulator-fixed";
+
+ regulator-name = "USB_VBUS";
+
+ regulator-min-microvolt = <5000000>;
+ regulator-max-microvolt = <5000000>;
+
+ gpio = <&gpio 33 GPIO_ACTIVE_HIGH>;
+ enable-active-high;
+ };
+};
+
+&eth0 {
+ pinctrl-0 = <&mdio_pins>, <&gphy0_led1_pins>, <&gphy1_led1_pins>;
+ pinctrl-names = "default";
+
+ lan: interface@0 {
+ compatible = "lantiq,xrx200-pdi";
+ #address-cells = <1>;
+ #size-cells = <0>;
+ reg = <0>;
+ mtd-mac-address = <&romfile 0xf100>;
+ lantiq,switch;
+
+ ethernet@0 {
+ compatible = "lantiq,xrx200-pdi-port";
+ reg = <0>;
+ phy-mode = "rgmii";
+ phy-handle = <&phy0>;
+ // gpios = <&gpio 42 GPIO_ACTIVE_LOW>;
+ };
+ ethernet@5 {
+ compatible = "lantiq,xrx200-pdi-port";
+ reg = <5>;
+ phy-mode = "rgmii";
+ phy-handle = <&phy5>;
+ };
+ ethernet@2 {
+ compatible = "lantiq,xrx200-pdi-port";
+ reg = <2>;
+ phy-mode = "gmii";
+ phy-handle = <&phy11>;
+ };
+ ethernet@3 {
+ compatible = "lantiq,xrx200-pdi-port";
+ reg = <4>;
+ phy-mode = "gmii";
+ phy-handle = <&phy13>;
+ };
+ };
+
+ mdio {
+ #address-cells = <1>;
+ #size-cells = <0>;
+ compatible = "lantiq,xrx200-mdio";
+
+ phy0: ethernet-phy@0 {
+ reg = <0x0>;
+ compatible = "lantiq,phy11g", "ethernet-phy-ieee802.3-c22";
+ };
+ phy5: ethernet-phy@5 {
+ reg = <0x5>;
+ compatible = "lantiq,phy11g", "ethernet-phy-ieee802.3-c22";
+ };
+ phy11: ethernet-phy@11 {
+ reg = <0x11>;
+ compatible = "lantiq,phy11g", "ethernet-phy-ieee802.3-c22";
+ };
+ phy13: ethernet-phy@13 {
+ reg = <0x13>;
+ compatible = "lantiq,phy11g", "ethernet-phy-ieee802.3-c22";
+ };
+ };
+};
+
+&gphy0 {
+ lantiq,gphy-mode = <GPHY_MODE_GE>;
+};
+
+&gphy1 {
+ lantiq,gphy-mode = <GPHY_MODE_GE>;
+};
+
+&gpio {
+ pinctrl-names = "default";
+ pinctrl-0 = <&state_default>;
+
+ state_default: pinmux {
+ phy-rst {
+ lantiq,pins = "io42";
+ lantiq,pull = <0>;
+ lantiq,open-drain = <0>;
+ lantiq,output = <1>;
+ };
+ pcie-rst {
+ lantiq,pins = "io38";
+ lantiq,pull = <0>;
+ lantiq,output = <1>;
+ };
+ };
+};
+
+&pcie0 {
+ pcie@0 {
+ reg = <0 0 0 0 0>;
+ #interrupt-cells = <1>;
+ #size-cells = <2>;
+ #address-cells = <3>;
+ device_type = "pci";
+
+ wifi@0,0 {
+ reg = <0 0 0 0 0>;
+ mediatek,mtd-eeprom = <&radio 0x0000>;
+ big-endian;
+ ieee80211-freq-limit = <5000000 6000000>;
+ mtd-mac-address = <&romfile 0xf100>;
+ mtd-mac-address-increment = <2>;
+ };
+ };
+};
+
+&pci0 {
+ status = "okay";
+ gpio-reset = <&gpio 21 GPIO_ACTIVE_HIGH>;
+};
+
+&spi {
+ status = "okay";
+
+ flash@4 {
+ compatible = "jedec,spi-nor";
+ reg = <4>;
+ spi-max-frequency = <33250000>;
+ m25p,fast-read;
+
+ partitions {
+ compatible = "fixed-partitions";
+ #address-cells = <1>;
+ #size-cells = <1>;
+
+ partition@0 {
+ reg = <0x0 0x20000>;
+ label = "u-boot";
+ read-only;
+ };
+
+ partition@20000 {
+ reg = <0x20000 0xf90000>;
+ label = "firmware";
+ };
+
+ partition@fb0000 {
+ reg = <0xfb0000 0x10000>;
+ label = "radioDECT";
+ read-only;
+ };
+
+ partition@fc0000 {
+ reg = <0xfc0000 0x10000>;
+ label = "config";
+ read-only;
+ };
+
+ romfile: partition@fd0000 {
+ reg = <0xfd0000 0x10000>;
+ label = "romfile";
+ read-only;
+ };
+
+ partition@fe0000 {
+ reg = <0xfe0000 0x10000>;
+ label = "rom";
+ read-only;
+ };
+
+ radio: partition@ff0000 {
+ reg = <0xff0000 0x10000>;
+ label = "radio";
+ read-only;
+ };
+ };
+ };
+};
+
+&usb_phy0 {
+ status = "okay";
+};
+
+&usb_phy1 {
+ status = "okay";
+};
+
+&usb0 {
+ status = "okay";
+ vbus-supply = <&usb_vbus>;
+};
+
+&usb1 {
+ status = "okay";
+ vbus-supply = <&usb_vbus>;
+};
diff --git a/target/linux/lantiq/files-4.19/arch/mips/boot/dts/lantiq/vr9_tplink_vr200v.dts b/target/linux/lantiq/files-4.19/arch/mips/boot/dts/lantiq/vr9_tplink_vr200v.dts
new file mode 100644
index 0000000000..2e25a72a83
--- /dev/null
+++ b/target/linux/lantiq/files-4.19/arch/mips/boot/dts/lantiq/vr9_tplink_vr200v.dts
@@ -0,0 +1,99 @@
+/dts-v1/;
+
+#include "vr9_tplink_vr200.dtsi"
+
+/ {
+ compatible = "tplink,vr200v", "lantiq,xway", "lantiq,vr9";
+ model = "TP-LINK Archer VR200v";
+
+ chosen {
+ bootargs = "console=ttyLTQ0,115200 mem=126M vpe1_load_addr=0x87e00000 vpe1_mem=2M maxvpes=1 maxtcs=1 nosmp";
+ };
+
+ aliases {
+ led-boot = &power;
+ led-failsafe = &power;
+ led-running = &power;
+ led-upgrade = &power;
+
+ led-dsl = &dsl;
+ led-internet = &internet;
+ led-wifi = &wlan5g;
+
+ led-usb = &led_usb;
+ led-usb2 = &led_usb;
+ };
+
+ keys {
+ compatible = "gpio-keys-polled";
+ poll-interval = <100>;
+ reset {
+ label = "reset";
+ gpios = <&gpio 22 GPIO_ACTIVE_LOW>;
+ linux,code = <KEY_RESTART>;
+ };
+
+ wifi {
+ label = "wifi";
+ gpios = <&gpio 0 GPIO_ACTIVE_HIGH>;
+ linux,code = <KEY_RFKILL>;
+ linux,input-type = <EV_SW>;
+ };
+
+ wps {
+ label = "wps";
+ gpios = <&gpio 2 GPIO_ACTIVE_LOW>;
+ linux,code = <KEY_WPS_BUTTON>;
+ };
+
+ dect_paging {
+ label = "dect_paging";
+ gpios = <&gpio 39 GPIO_ACTIVE_LOW>;
+ linux,code = <KEY_PHONE>;
+ };
+ };
+
+ leds {
+ compatible = "gpio-leds";
+ power: power {
+ label = "vr200v:blue:power";
+ gpios = <&gpio 46 GPIO_ACTIVE_LOW>;
+ default-state = "keep";
+ };
+ dsl: dsl {
+ label = "vr200v:blue:dsl";
+ gpios = <&gpio 4 GPIO_ACTIVE_LOW>;
+ };
+ internet: internet {
+ label = "vr200v:blue:internet";
+ gpios = <&gpio 5 GPIO_ACTIVE_LOW>;
+ };
+ led_usb: usb {
+ label = "vr200v:blue:usb";
+ gpios = <&gpio 25 GPIO_ACTIVE_LOW>;
+ };
+ eth {
+ label = "vr200v:blue:lan";
+ gpios = <&gpio 40 GPIO_ACTIVE_LOW>;
+ };
+ wlan {
+ label = "vr200v:blue:wlan";
+ gpios = <&gpio 24 GPIO_ACTIVE_LOW>;
+ };
+ wlan5g: wifi {
+ label = "vr200v:blue:wlan5g";
+ gpios = <&gpio 20 GPIO_ACTIVE_LOW>;
+ };
+ phone {
+ label = "vr200v:blue:phone";
+ gpios = <&gpio 44 GPIO_ACTIVE_LOW>;
+ };
+ };
+};
+
+&vmmc {
+ status = "okay";
+ gpios = <&gpio 30 GPIO_ACTIVE_HIGH //fxs relay
+ &gpio 31 GPIO_ACTIVE_HIGH //still unknown
+ &gpio 3 GPIO_ACTIVE_HIGH>; //reset_slic?
+};
diff --git a/target/linux/lantiq/files-4.19/arch/mips/boot/dts/lantiq/vr9_zyxel_p-2812hnu-f1.dts b/target/linux/lantiq/files-4.19/arch/mips/boot/dts/lantiq/vr9_zyxel_p-2812hnu-f1.dts
new file mode 100644
index 0000000000..4d7aac325b
--- /dev/null
+++ b/target/linux/lantiq/files-4.19/arch/mips/boot/dts/lantiq/vr9_zyxel_p-2812hnu-f1.dts
@@ -0,0 +1,71 @@
+/dts-v1/;
+
+#include "vr9_zyxel_p-2812hnu-fx.dtsi"
+
+/ {
+ compatible = "zyxel,p-2812hnu-f1", "zyxel,p-2812hnu", "lantiq,xway", "lantiq,vr9";
+ model = "ZyXEL P-2812HNU-F1";
+
+ aliases {
+ led-usb = &led_usb1;
+ led-usb2 = &led_usb2;
+ };
+
+ leds {
+ led_usb1: usb1 {
+ label = "p2812hnuf1:green:usb1";
+ gpios = <&gpio 38 GPIO_ACTIVE_LOW>;
+ };
+ led_usb2: usb2 {
+ label = "p2812hnuf1:green:usb2";
+ gpios = <&gpio 44 GPIO_ACTIVE_LOW>;
+ };
+ };
+};
+
+&localbus {
+ flash@0 {
+ compatible = "lantiq,nand-xway";
+ lantiq,cs = <1>;
+ bank-width = <2>;
+ reg = <0 0x0 0x2000000>;
+
+ pinctrl-0 = <&nand_pins>, <&nand_cs1_pins>;
+ pinctrl-names = "default";
+
+ partitions {
+ compatible = "fixed-partitions";
+ #address-cells = <1>;
+ #size-cells = <1>;
+
+ partition@0 {
+ label = "uboot";
+ reg = <0x00000 0x40000>;
+ };
+ partition@40000 {
+ label = "uboot-env";
+ reg = <0x40000 0x20000>;
+ };
+ partition@60000 {
+ label = "kernel";
+ reg = <0x60000 0x300000>;
+ };
+ partition@360000 {
+ label = "ubi";
+ reg = <0x360000 0x7ca0000>;
+ };
+ };
+ };
+};
+
+&pci0 {
+ wifi@1814,3062 {
+ compatible = "pci1814,3062";
+ reg = <0x7000 0 0 0 0>;
+ ralink,eeprom = "RT3062.eeprom";
+ };
+};
+
+&pcie0 {
+ status = "disabled";
+};
diff --git a/target/linux/lantiq/files-4.19/arch/mips/boot/dts/lantiq/vr9_zyxel_p-2812hnu-f3.dts b/target/linux/lantiq/files-4.19/arch/mips/boot/dts/lantiq/vr9_zyxel_p-2812hnu-f3.dts
new file mode 100644
index 0000000000..7da1533809
--- /dev/null
+++ b/target/linux/lantiq/files-4.19/arch/mips/boot/dts/lantiq/vr9_zyxel_p-2812hnu-f3.dts
@@ -0,0 +1,65 @@
+/dts-v1/;
+
+#include "vr9_zyxel_p-2812hnu-fx.dtsi"
+
+/ {
+ compatible = "zyxel,p-2812hnu-f3", "zyxel,p-2812hnu", "lantiq,xway", "lantiq,vr9";
+ model = "ZyXEL P-2812HNU-F3";
+};
+
+&pci0 {
+ wifi@1814,3092 {
+ compatible = "pci1814,3092";
+ reg = <0x7000 0 0 0 0>;
+ ralink,eeprom = "RT3092.eeprom";
+ };
+};
+
+&localbus {
+ flash@0 {
+ compatible = "lantiq,nor";
+ bank-width = <2>;
+ reg = <0 0x0 0x800000>;
+
+ pinctrl-0 = <&nand_pins>, <&nand_cs1_pins>;
+ pinctrl-names = "default";
+
+ partitions {
+ compatible = "fixed-partitions";
+ #address-cells = <1>;
+ #size-cells = <1>;
+
+ partition@0 {
+ label = "uboot";
+ reg = <0x0 0x50000>;
+ read-only;
+ };
+ partition@50000 {
+ label = "uboot-env";
+ reg = <0x50000 0x10000>;
+ };
+ partition@60000 {
+ label = "unused";
+ reg = <0x60000 0x7a0000>;
+ };
+ };
+ };
+
+ flash@1 {
+ compatible = "lantiq,nand-xway";
+ lantiq,cs = <1>;
+ bank-width = <2>;
+ reg = <1 0x0 0x2000000>;
+ #address-cells = <1>;
+ #size-cells = <1>;
+
+ partition@0 {
+ label = "kernel";
+ reg = <0x0 0x200000>;
+ };
+ partition@200000 {
+ label = "ubi";
+ reg = <0x200000 0x7e00000>;
+ };
+ };
+};
diff --git a/target/linux/lantiq/files-4.19/arch/mips/boot/dts/lantiq/vr9_zyxel_p-2812hnu-fx.dtsi b/target/linux/lantiq/files-4.19/arch/mips/boot/dts/lantiq/vr9_zyxel_p-2812hnu-fx.dtsi
new file mode 100644
index 0000000000..5f8392ca44
--- /dev/null
+++ b/target/linux/lantiq/files-4.19/arch/mips/boot/dts/lantiq/vr9_zyxel_p-2812hnu-fx.dtsi
@@ -0,0 +1,259 @@
+#include "vr9.dtsi"
+
+#include <dt-bindings/input/input.h>
+#include <dt-bindings/mips/lantiq_rcu_gphy.h>
+
+/ {
+ compatible = "zyxel,p-2812hnu", "lantiq,xway", "lantiq,vr9";
+
+ chosen {
+ bootargs = "console=ttyLTQ0,115200";
+ };
+
+ aliases {
+ led-boot = &power_green;
+ led-failsafe = &power_red;
+ led-running = &power_green;
+ led-upgrade = &power_green;
+
+ led-dsl = &dsl_green;
+ led-internet = &internet_green;
+ led-wifi = &wireless_green;
+ };
+
+ memory@0 {
+ device_type = "memory";
+ reg = <0x0 0x8000000>;
+ };
+
+ keys {
+ compatible = "gpio-keys-polled";
+ poll-interval = <100>;
+
+ reset {
+ label = "reset";
+ gpios = <&gpio 39 GPIO_ACTIVE_LOW>;
+ linux,code = <KEY_RESTART>;
+ };
+
+ rfkill {
+ label = "rfkill";
+ gpios = <&gpio 1 GPIO_ACTIVE_LOW>;
+ linux,code = <KEY_RFKILL>;
+ };
+ };
+
+ leds {
+ compatible = "gpio-leds";
+
+ internet_red {
+ label = "p2812hnufx:red:internet";
+ gpios = <&stp 16 GPIO_ACTIVE_LOW>;
+ };
+ internet_green: internet_green {
+ label = "p2812hnufx:green:internet";
+ gpios = <&stp 17 GPIO_ACTIVE_LOW>;
+ };
+ dsl_green: dsl_green {
+ label = "p2812hnufx:green:dsl";
+ gpios = <&stp 18 GPIO_ACTIVE_LOW>;
+ };
+ dsl_orange {
+ label = "p2812hnufx:orange:dsl";
+ gpios = <&stp 19 GPIO_ACTIVE_LOW>;
+ };
+ wireless_orange {
+ label = "p2812hnufx:orange:wlan";
+ gpios = <&stp 20 GPIO_ACTIVE_LOW>;
+ };
+ wireless_green: wireless_green {
+ label = "p2812hnufx:green:wlan";
+ gpios = <&stp 21 GPIO_ACTIVE_LOW>;
+ };
+ power_red: power {
+ label = "p2812hnufx:red:power";
+ gpios = <&stp 22 GPIO_ACTIVE_LOW>;
+ };
+ power_green: power2 {
+ label = "p2812hnufx:green:power";
+ gpios = <&stp 23 GPIO_ACTIVE_LOW>;
+ default-state = "keep";
+ };
+ phone1 {
+ label = "p2812hnufx:green:phone";
+ gpios = <&gpio 11 GPIO_ACTIVE_LOW>;
+ };
+ phone1warn {
+ label = "p2812hnufx:orange:phone";
+ gpios = <&gpio 12 GPIO_ACTIVE_LOW>;
+ };
+ phone2warn {
+ label = "p2812hnufx:orange:phone2";
+ gpios = <&gpio 26 GPIO_ACTIVE_LOW>;
+ };
+ phone2 {
+ label = "p2812hnufx:green:phone2";
+ gpios = <&gpio 28 GPIO_ACTIVE_LOW>;
+ };
+ };
+
+ usb_vbus: regulator-usb-vbus {
+ compatible = "regulator-fixed";
+
+ regulator-name = "USB_VBUS";
+
+ regulator-min-microvolt = <5000000>;
+ regulator-max-microvolt = <5000000>;
+
+ gpio = <&gpio 33 GPIO_ACTIVE_HIGH>;
+ enable-active-high;
+ };
+};
+
+&eth0 {
+ pinctrl-0 = <&mdio_pins>,
+ <&gphy0_led0_pins>, <&gphy0_led2_pins>,
+ <&gphy1_led1_pins>, <&gphy1_led2_pins>;
+ pinctrl-names = "default";
+
+ lan: interface@0 {
+ compatible = "lantiq,xrx200-pdi";
+ #address-cells = <1>;
+ #size-cells = <0>;
+ reg = <0>;
+ mac-address = [ 00 11 22 33 44 55 ];
+ lantiq,switch;
+
+ ethernet@0 {
+ compatible = "lantiq,xrx200-pdi-port";
+ reg = <0>;
+ phy-mode = "rgmii";
+ phy-handle = <&phy0>;
+ };
+ ethernet@1 {
+ compatible = "lantiq,xrx200-pdi-port";
+ reg = <1>;
+ phy-mode = "rgmii";
+ phy-handle = <&phy1>;
+ };
+ ethernet@2 {
+ compatible = "lantiq,xrx200-pdi-port";
+ reg = <2>;
+ phy-mode = "gmii";
+ phy-handle = <&phy11>;
+ };
+ ethernet@4 {
+ compatible = "lantiq,xrx200-pdi-port";
+ reg = <4>;
+ phy-mode = "gmii";
+ phy-handle = <&phy13>;
+ };
+ ethernet@5 {
+ compatible = "lantiq,xrx200-pdi-port";
+ reg = <5>;
+ phy-mode = "rgmii";
+ phy-handle = <&phy5>;
+ };
+ };
+
+ mdio {
+ #address-cells = <1>;
+ #size-cells = <0>;
+ compatible = "lantiq,xrx200-mdio";
+
+ phy0: ethernet-phy@0 {
+ reg = <0x0>;
+ compatible = "lantiq,phy11g", "ethernet-phy-ieee802.3-c22";
+ };
+ phy1: ethernet-phy@1 {
+ reg = <0x1>;
+ compatible = "lantiq,phy11g", "ethernet-phy-ieee802.3-c22";
+ };
+ phy5: ethernet-phy@5 {
+ reg = <0x5>;
+ compatible = "lantiq,phy11g", "ethernet-phy-ieee802.3-c22";
+ };
+ phy11: ethernet-phy@11 {
+ reg = <0x11>;
+ compatible = "lantiq,phy11g", "ethernet-phy-ieee802.3-c22";
+ };
+ phy13: ethernet-phy@13 {
+ reg = <0x13>;
+ compatible = "lantiq,phy11g", "ethernet-phy-ieee802.3-c22";
+ };
+ };
+};
+
+&gphy0 {
+ lantiq,gphy-mode = <GPHY_MODE_GE>;
+};
+
+&gphy1 {
+ lantiq,gphy-mode = <GPHY_MODE_GE>;
+};
+
+&gpio {
+ pinctrl-names = "default";
+ pinctrl-0 = <&state_default>;
+
+ state_default: pinmux {
+ exin3 {
+ lantiq,groups = "exin3";
+ lantiq,function = "exin";
+ };
+ pci_rst {
+ lantiq,pins = "io21";
+ lantiq,output = <1>;
+ lantiq,open-drain = <0>;
+ lantiq,pull = <2>;
+ };
+ pcie-rst {
+ lantiq,pins = "io38";
+ lantiq,pull = <0>;
+ lantiq,output = <1>;
+ };
+ ifxhcd-rst {
+ lantiq,pins = "io33";
+ lantiq,pull = <0>;
+ lantiq,open-drain = <0>;
+ lantiq,output = <1>;
+ };
+ };
+};
+
+&pci0 {
+ status = "okay";
+
+ pinctrl-0 = <&pci_gnt1_pins>, <&pci_req1_pins>;
+ pinctrl-names = "default";
+
+ gpio-reset = <&gpio 21 GPIO_ACTIVE_HIGH>;
+};
+
+&stp {
+ status = "okay";
+
+ lantiq,shadow = <0xffffff>;
+ lantiq,groups = <0x7>;
+ lantiq,dsl = <0x0>;
+ lantiq,phy1 = <0x0>;
+ lantiq,phy2 = <0x0>;
+};
+
+&usb_phy0 {
+ status = "okay";
+};
+
+&usb_phy1 {
+ status = "okay";
+};
+
+&usb0 {
+ status = "okay";
+ vbus-supply = <&usb_vbus>;
+};
+
+&usb1 {
+ status = "okay";
+ vbus-supply = <&usb_vbus>;
+};