aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/lantiq/files-4.9
diff options
context:
space:
mode:
authorMathias Kresin <dev@kresin.me>2017-12-31 12:11:57 +0100
committerMathias Kresin <dev@kresin.me>2018-02-20 19:25:17 +0100
commitf8a6987cd1aae8698062c8ac3907193a5c66004a (patch)
tree463163f57066c00677b5432ef4ff163b58b3e108 /target/linux/lantiq/files-4.9
parent627a28eb09c0aa3471466850dfde6a063481a4f6 (diff)
downloadupstream-f8a6987cd1aae8698062c8ac3907193a5c66004a.tar.gz
upstream-f8a6987cd1aae8698062c8ac3907193a5c66004a.tar.bz2
upstream-f8a6987cd1aae8698062c8ac3907193a5c66004a.zip
lantiq: make dts files and kernel config kernel version specific
Move the devicetree source files to a kernel specific directory in preparation of adding kernel 4.14 support. Rename the subtarget kernel config files to match a specific kernel version. Signed-off-by: Mathias Kresin <dev@kresin.me>
Diffstat (limited to 'target/linux/lantiq/files-4.9')
-rw-r--r--target/linux/lantiq/files-4.9/arch/mips/boot/dts/ACMP252.dts102
-rw-r--r--target/linux/lantiq/files-4.9/arch/mips/boot/dts/ALL0333CJ.dts120
-rw-r--r--target/linux/lantiq/files-4.9/arch/mips/boot/dts/ARV4510PW.dts232
-rw-r--r--target/linux/lantiq/files-4.9/arch/mips/boot/dts/ARV4518PWR01.dts8
-rw-r--r--target/linux/lantiq/files-4.9/arch/mips/boot/dts/ARV4518PWR01.dtsi198
-rw-r--r--target/linux/lantiq/files-4.9/arch/mips/boot/dts/ARV4518PWR01A.dts14
-rw-r--r--target/linux/lantiq/files-4.9/arch/mips/boot/dts/ARV4519PW.dts195
-rw-r--r--target/linux/lantiq/files-4.9/arch/mips/boot/dts/ARV4520PW.dts221
-rw-r--r--target/linux/lantiq/files-4.9/arch/mips/boot/dts/ARV4525PW.dts169
-rw-r--r--target/linux/lantiq/files-4.9/arch/mips/boot/dts/ARV452CQW.dts237
-rw-r--r--target/linux/lantiq/files-4.9/arch/mips/boot/dts/ARV7506PW11.dts165
-rw-r--r--target/linux/lantiq/files-4.9/arch/mips/boot/dts/ARV7510PW22.dts196
-rw-r--r--target/linux/lantiq/files-4.9/arch/mips/boot/dts/ARV7518PW.dts232
-rw-r--r--target/linux/lantiq/files-4.9/arch/mips/boot/dts/ARV7519PW.dts229
-rw-r--r--target/linux/lantiq/files-4.9/arch/mips/boot/dts/ARV7519RW22.dts231
-rw-r--r--target/linux/lantiq/files-4.9/arch/mips/boot/dts/ARV7525PW.dts155
-rw-r--r--target/linux/lantiq/files-4.9/arch/mips/boot/dts/ARV752DPW.dts238
-rw-r--r--target/linux/lantiq/files-4.9/arch/mips/boot/dts/ARV752DPW22.dts259
-rw-r--r--target/linux/lantiq/files-4.9/arch/mips/boot/dts/ARV8539PW22.dts180
-rw-r--r--target/linux/lantiq/files-4.9/arch/mips/boot/dts/ASL56026.dts171
-rw-r--r--target/linux/lantiq/files-4.9/arch/mips/boot/dts/BTHOMEHUBV2B.dts262
-rw-r--r--target/linux/lantiq/files-4.9/arch/mips/boot/dts/BTHOMEHUBV3A.dts208
-rw-r--r--target/linux/lantiq/files-4.9/arch/mips/boot/dts/BTHOMEHUBV5A.dts282
-rw-r--r--target/linux/lantiq/files-4.9/arch/mips/boot/dts/DGN1000B.dts171
-rw-r--r--target/linux/lantiq/files-4.9/arch/mips/boot/dts/DGN3500.dts8
-rw-r--r--target/linux/lantiq/files-4.9/arch/mips/boot/dts/DGN3500.dtsi213
-rw-r--r--target/linux/lantiq/files-4.9/arch/mips/boot/dts/DGN3500B.dts8
-rw-r--r--target/linux/lantiq/files-4.9/arch/mips/boot/dts/DM200.dts215
-rw-r--r--target/linux/lantiq/files-4.9/arch/mips/boot/dts/EASY50712.dts83
-rw-r--r--target/linux/lantiq/files-4.9/arch/mips/boot/dts/EASY50810.dts93
-rw-r--r--target/linux/lantiq/files-4.9/arch/mips/boot/dts/EASY80920.dtsi298
-rw-r--r--target/linux/lantiq/files-4.9/arch/mips/boot/dts/EASY80920NAND.dts68
-rw-r--r--target/linux/lantiq/files-4.9/arch/mips/boot/dts/EASY80920NOR.dts43
-rw-r--r--target/linux/lantiq/files-4.9/arch/mips/boot/dts/EASY88388.dts106
-rw-r--r--target/linux/lantiq/files-4.9/arch/mips/boot/dts/EASY88444.dts80
-rw-r--r--target/linux/lantiq/files-4.9/arch/mips/boot/dts/EASY98000-base.dtsi110
-rw-r--r--target/linux/lantiq/files-4.9/arch/mips/boot/dts/EASY98000NAND.dts40
-rw-r--r--target/linux/lantiq/files-4.9/arch/mips/boot/dts/EASY98000NOR.dts38
-rw-r--r--target/linux/lantiq/files-4.9/arch/mips/boot/dts/EASY98000SFLASH.dts16
-rw-r--r--target/linux/lantiq/files-4.9/arch/mips/boot/dts/EASY98020.dts95
-rw-r--r--target/linux/lantiq/files-4.9/arch/mips/boot/dts/EASY98020V18.dts68
-rw-r--r--target/linux/lantiq/files-4.9/arch/mips/boot/dts/EASY98021.dts81
-rw-r--r--target/linux/lantiq/files-4.9/arch/mips/boot/dts/EASY98035SYNCE.dts76
-rw-r--r--target/linux/lantiq/files-4.9/arch/mips/boot/dts/EASY98035SYNCE1588.dts76
-rw-r--r--target/linux/lantiq/files-4.9/arch/mips/boot/dts/FALCON-MDU.dts53
-rw-r--r--target/linux/lantiq/files-4.9/arch/mips/boot/dts/FALCON-SFP.dts76
-rw-r--r--target/linux/lantiq/files-4.9/arch/mips/boot/dts/FRITZ3370.dts288
-rw-r--r--target/linux/lantiq/files-4.9/arch/mips/boot/dts/FRITZ7320.dts161
-rw-r--r--target/linux/lantiq/files-4.9/arch/mips/boot/dts/FRITZ7360SL.dts228
-rw-r--r--target/linux/lantiq/files-4.9/arch/mips/boot/dts/GIGASX76X.dts122
-rw-r--r--target/linux/lantiq/files-4.9/arch/mips/boot/dts/H201L.dts159
-rw-r--r--target/linux/lantiq/files-4.9/arch/mips/boot/dts/P2601HNFX.dts190
-rw-r--r--target/linux/lantiq/files-4.9/arch/mips/boot/dts/P2812HNUF1.dts72
-rw-r--r--target/linux/lantiq/files-4.9/arch/mips/boot/dts/P2812HNUF3.dts66
-rw-r--r--target/linux/lantiq/files-4.9/arch/mips/boot/dts/P2812HNUFX.dtsi280
-rw-r--r--target/linux/lantiq/files-4.9/arch/mips/boot/dts/TDW8970.dts8
-rw-r--r--target/linux/lantiq/files-4.9/arch/mips/boot/dts/TDW8980.dts35
-rw-r--r--target/linux/lantiq/files-4.9/arch/mips/boot/dts/TDW89X0.dtsi274
-rw-r--r--target/linux/lantiq/files-4.9/arch/mips/boot/dts/VG3503J.dts163
-rw-r--r--target/linux/lantiq/files-4.9/arch/mips/boot/dts/VGV7510KW22.dtsi253
-rw-r--r--target/linux/lantiq/files-4.9/arch/mips/boot/dts/VGV7510KW22BRN.dts67
-rw-r--r--target/linux/lantiq/files-4.9/arch/mips/boot/dts/VGV7510KW22NOR.dts33
-rw-r--r--target/linux/lantiq/files-4.9/arch/mips/boot/dts/VGV7519.dtsi298
-rw-r--r--target/linux/lantiq/files-4.9/arch/mips/boot/dts/VGV7519BRN.dts73
-rw-r--r--target/linux/lantiq/files-4.9/arch/mips/boot/dts/VGV7519NOR.dts32
-rw-r--r--target/linux/lantiq/files-4.9/arch/mips/boot/dts/VR200v.dts283
-rw-r--r--target/linux/lantiq/files-4.9/arch/mips/boot/dts/WBMR.dts185
-rw-r--r--target/linux/lantiq/files-4.9/arch/mips/boot/dts/WBMR300.dts306
-rw-r--r--target/linux/lantiq/files-4.9/arch/mips/boot/dts/amazonse.dtsi174
-rw-r--r--target/linux/lantiq/files-4.9/arch/mips/boot/dts/ar9.dtsi216
-rw-r--r--target/linux/lantiq/files-4.9/arch/mips/boot/dts/danube.dtsi212
-rw-r--r--target/linux/lantiq/files-4.9/arch/mips/boot/dts/falcon-sflash-16M.dtsi37
-rw-r--r--target/linux/lantiq/files-4.9/arch/mips/boot/dts/falcon.dtsi392
-rw-r--r--target/linux/lantiq/files-4.9/arch/mips/boot/dts/vr9.dtsi260
74 files changed, 11286 insertions, 0 deletions
diff --git a/target/linux/lantiq/files-4.9/arch/mips/boot/dts/ACMP252.dts b/target/linux/lantiq/files-4.9/arch/mips/boot/dts/ACMP252.dts
new file mode 100644
index 0000000000..7294720117
--- /dev/null
+++ b/target/linux/lantiq/files-4.9/arch/mips/boot/dts/ACMP252.dts
@@ -0,0 +1,102 @@
+/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 {
+ reg = <0x0 0x4000000>;
+ };
+
+ sram@1F000000 {
+ vmmc@107000 {
+ status = "okay";
+ gpios = <&gpio 31 GPIO_ACTIVE_HIGH>;
+ };
+ };
+
+ fpi@10000000 {
+ localbus@0 {
+ nor-boot@0 {
+ compatible = "lantiq,nor";
+ bank-width = <2>;
+ reg = <0 0x0 0x2000000>;
+ #address-cells = <1>;
+ #size-cells = <1>;
+
+ 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@0x1000000 {
+ label = "rootfs_data";
+ reg = <0x1000000 0x1000000>;
+ };
+ };
+ };
+ };
+
+ gpio: pinmux@E100B10 {
+ pinctrl-names = "default";
+ pinctrl-0 = <&state_default>;
+
+ state_default: pinmux {
+ exin {
+ lantiq,groups = "exin1";
+ lantiq,function = "exin";
+ };
+ pci {
+ lantiq,groups = "gnt1", "req1";
+ lantiq,function = "pci";
+ };
+ };
+ };
+
+ ifxhcd@E101000 {
+ status = "okay";
+ gpios = <&gpio 3 GPIO_ACTIVE_HIGH>;
+ };
+
+ etop@E180000 {
+ phy-mode = "rmii";
+ };
+
+ pci@E105400 {
+ status = "okay";
+ };
+ };
+};
diff --git a/target/linux/lantiq/files-4.9/arch/mips/boot/dts/ALL0333CJ.dts b/target/linux/lantiq/files-4.9/arch/mips/boot/dts/ALL0333CJ.dts
new file mode 100644
index 0000000000..16c5facb35
--- /dev/null
+++ b/target/linux/lantiq/files-4.9/arch/mips/boot/dts/ALL0333CJ.dts
@@ -0,0 +1,120 @@
+/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-dsl = &dsl;
+ led-internet = &online_green;
+ };
+
+ };
+
+ memory@0 {
+ reg = <0x0 0x1000000>;
+ };
+
+ fpi@b0000000 {
+ etop@E180000 {
+ phy-mode = "mii";
+ };
+ };
+
+ fpi@10000000 {
+ gpio: pinmux@E100B10 {
+ pinctrl-names = "default";
+ pinctrl-0 = <&state_default>;
+
+ state_default: pinmux {
+ asc {
+ lantiq,groups = "asc";
+ lantiq,function = "asc";
+ };
+ keys_in {
+ lantiq,pins = "io0",/* "io25", */"io29";
+ lantiq,pull = <2>;
+ lantiq,open-drain = <1>;
+ };
+ };
+ };
+
+ localbus@0 {
+ nor-boot@0 {
+ compatible = "lantiq,nor";
+ bank-width = <2>;
+ reg = <0 0x0 0x400000>;
+ #address-cells = <1>;
+ #size-cells = <1>;
+
+ 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;
+ };
+ };
+ };
+ };
+ };
+
+ gpio-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>;
+ };
+ };
+};
diff --git a/target/linux/lantiq/files-4.9/arch/mips/boot/dts/ARV4510PW.dts b/target/linux/lantiq/files-4.9/arch/mips/boot/dts/ARV4510PW.dts
new file mode 100644
index 0000000000..4720b57dd3
--- /dev/null
+++ b/target/linux/lantiq/files-4.9/arch/mips/boot/dts/ARV4510PW.dts
@@ -0,0 +1,232 @@
+/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-dsl = &adsl;
+ led-internet = &internet;
+ led-usb = &usb;
+ led-usb2 = &usb2;
+ led-wifi = &wifi;
+ };
+
+ memory@0 {
+ reg = <0x0 0x2000000>;
+ };
+
+ sram@1F000000 {
+ vmmc@107000 {
+ status = "okay";
+ };
+ };
+
+ fpi@10000000 {
+ localbus@0 {
+ nor-boot@0 {
+ compatible = "lantiq,nor";
+ bank-width = <2>;
+ reg = <0 0x0 0x1000000>;
+ #address-cells = <1>;
+ #size-cells = <1>;
+
+ 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>;
+ };
+ };
+ };
+ };
+ gpio: pinmux@E100B10 {
+ 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>;
+ };
+ stp {
+ lantiq,groups = "stp";
+ lantiq,function = "stp";
+ lantiq,open-drain = <0>;
+ lantiq,output = <1>;
+ };
+ exin {
+ lantiq,groups = "exin1", "exin2";
+ lantiq,function = "exin";
+ lantiq,output = <0>;
+ };
+ pci_in {
+ lantiq,groups = "req1", "req2";
+ lantiq,function = "pci";
+ lantiq,output = <0>;
+ };
+ pci_out {
+ lantiq,groups = "gnt1", "gnt2";
+ lantiq,function = "pci";
+ lantiq,open-drain = <0>;
+ lantiq,pull = <0>;
+ lantiq,output = <1>;
+ };
+ pci_rst {
+ lantiq,pins = "io21";
+ lantiq,open-drain = <0>;
+ lantiq,output = <1>;
+ };
+ buttons {
+ lantiq,pins = "io3", "io14";
+ lantiq,pull = <2>;
+ lantiq,output = <0>;
+ };
+ };
+ };
+
+ gpios: stp@E100BB0 {
+ status = "okay";
+ lantiq,groups = <0x7>;
+ };
+
+ etop@E180000 {
+ phy-mode = "rmii";
+ };
+
+ pci@E105400 {
+ status = "okay";
+ 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>;
+ };
+ };
+
+ gpio-keys-polled {
+ compatible = "gpio-keys-polled";
+ #address-cells = <1>;
+ #size-cells = <0>;
+ 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>;
+ };
+ };
+
+ gpio-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>;
+ };
+ usb: usb {
+ label = "usb";
+ gpios = <&gpios 8 GPIO_ACTIVE_HIGH>;
+ };
+ 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>;
+ };
+ };
+};
diff --git a/target/linux/lantiq/files-4.9/arch/mips/boot/dts/ARV4518PWR01.dts b/target/linux/lantiq/files-4.9/arch/mips/boot/dts/ARV4518PWR01.dts
new file mode 100644
index 0000000000..34f868f484
--- /dev/null
+++ b/target/linux/lantiq/files-4.9/arch/mips/boot/dts/ARV4518PWR01.dts
@@ -0,0 +1,8 @@
+/dts-v1/;
+
+#include "ARV4518PWR01.dtsi"
+
+/ {
+ compatible = "arcadyan,arv4518pwr01", "lantiq,xway", "lantiq,danube";
+ model = "SMC7908A-ISP";
+};
diff --git a/target/linux/lantiq/files-4.9/arch/mips/boot/dts/ARV4518PWR01.dtsi b/target/linux/lantiq/files-4.9/arch/mips/boot/dts/ARV4518PWR01.dtsi
new file mode 100644
index 0000000000..8e712bfec6
--- /dev/null
+++ b/target/linux/lantiq/files-4.9/arch/mips/boot/dts/ARV4518PWR01.dtsi
@@ -0,0 +1,198 @@
+#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-dsl = &dsl;
+ led-internet = &online;
+ led-usb = &usb;
+ led-wifi = &wifi;
+ };
+
+ memory@0 {
+ reg = <0x0 0x4000000>;
+ };
+
+ sram@1F000000 {
+ vmmc@107000 {
+ status = "okay";
+ gpios = <&gpio 31 GPIO_ACTIVE_HIGH>;
+ };
+ };
+
+ fpi@10000000 {
+ localbus@0 {
+ nor-boot@0 {
+ compatible = "lantiq,nor";
+ bank-width = <2>;
+ reg = <0 0x0 0x2000000>;
+ #address-cells = <1>;
+ #size-cells = <1>;
+
+ 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: gpiomm@4000000 {
+ compatible = "lantiq,gpio-mm";
+ reg = <1 0x0 0x10 >;
+ #address-cells = <1>;
+ #size-cells = <1>;
+ #gpio-cells = <2>;
+ gpio-controller;
+ lantiq,shadow = <0x0>;
+ };
+
+ ath5k_eep {
+ compatible = "ath5k,eeprom";
+ ath,eep-flash = <&boardconfig 0x400>;
+ ath,mac-offset = <0x16>;
+ ath,mac-increment = <1>;
+ ath,eep-swap;
+ };
+ };
+
+ gpio: pinmux@E100B10 {
+ pinctrl-names = "default";
+ pinctrl-0 = <&state_default>;
+
+ state_default: pinmux {
+ ebu {
+ lantiq,groups = "ebu cs1";
+ lantiq,function = "ebu";
+ };
+ pci_in {
+ lantiq,groups = "req1", "req2";
+ lantiq,function = "pci";
+ lantiq,open-drain = <1>;
+ lantiq,pull = <2>;
+ lantiq,output = <0>;
+ };
+ pci_out {
+ lantiq,groups = "gnt1", "gnt2";
+ lantiq,function = "pci";
+ lantiq,pull = <0>;
+ lantiq,output = <1>;
+ };
+ };
+ };
+
+ etop@E180000 {
+ phy-mode = "mii";
+ mtd-mac-address = <&boardconfig 0x16>;
+ };
+
+ ifxhcd@E101000 {
+ status = "okay";
+ gpios = <&gpio 14 GPIO_ACTIVE_HIGH>;
+ };
+
+ pci@E105400 {
+ status = "okay";
+ gpio-reset = <&gpio 21 GPIO_ACTIVE_HIGH>;
+ req-mask = <0xf>;
+ };
+ };
+
+ gpio-keys-polled {
+ compatible = "gpio-keys-polled";
+ #address-cells = <1>;
+ #size-cells = <0>;
+ 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>;
+ };
+ };
+
+ gpio-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>;
+ };
+ 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>;
+ };
+ };
+};
diff --git a/target/linux/lantiq/files-4.9/arch/mips/boot/dts/ARV4518PWR01A.dts b/target/linux/lantiq/files-4.9/arch/mips/boot/dts/ARV4518PWR01A.dts
new file mode 100644
index 0000000000..771d0146d8
--- /dev/null
+++ b/target/linux/lantiq/files-4.9/arch/mips/boot/dts/ARV4518PWR01A.dts
@@ -0,0 +1,14 @@
+/dts-v1/;
+
+#include "ARV4518PWR01.dtsi"
+
+/ {
+ compatible = "arcadyan,arv4518pwr01a", "lantiq,xway", "lantiq,danube";
+ model = "SMC7908A-ISP, Airties WAV-221";
+
+ fpi@10000000 {
+ pci@E105400 {
+ lantiq,external-clock;
+ };
+ };
+};
diff --git a/target/linux/lantiq/files-4.9/arch/mips/boot/dts/ARV4519PW.dts b/target/linux/lantiq/files-4.9/arch/mips/boot/dts/ARV4519PW.dts
new file mode 100644
index 0000000000..8f781760f9
--- /dev/null
+++ b/target/linux/lantiq/files-4.9/arch/mips/boot/dts/ARV4519PW.dts
@@ -0,0 +1,195 @@
+/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-dsl = &dsl;
+ led-internet = &internet_green;
+ led-usb = &usb;
+ led-wifi = &wifi;
+ };
+
+ memory@0 {
+ reg = <0x0 0x2000000>;
+ };
+
+ sram@1F000000 {
+ vmmc@107000 {
+ status = "okay";
+ gpios = <&gpio 31 GPIO_ACTIVE_HIGH>;
+ };
+ };
+
+ fpi@10000000 {
+ localbus@0 {
+ nor-boot@0 {
+ compatible = "lantiq,nor";
+ bank-width = <2>;
+ reg = <0 0x0 0x2000000>;
+ #address-cells = <1>;
+ #size-cells = <1>;
+
+ 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: gpiomm@4000000 {
+ compatible = "lantiq,gpio-mm";
+ reg = <1 0x0 0x10 >;
+ #address-cells = <1>;
+ #size-cells = <1>;
+ #gpio-cells = <2>;
+ gpio-controller;
+ lantiq,shadow = <0x400>;
+ };
+ };
+
+ gpio: pinmux@E100B10 {
+ pinctrl-names = "default";
+ pinctrl-0 = <&state_default>;
+
+ state_default: pinmux {
+ ebu {
+ lantiq,groups = "ebu cs1";
+ lantiq,function = "ebu";
+ };
+ };
+ };
+
+ etop@E180000 {
+ phy-mode = "mii";
+ mtd-mac-address = <&boardconfig 0x16>;
+ };
+
+ ifxhcd@E101000 {
+ status = "okay";
+ gpios = <&gpio 14 GPIO_ACTIVE_HIGH>;
+ };
+
+ pci@E105400 {
+ status = "okay";
+ lantiq,external-clock;
+ gpio-reset = <&gpio 21 GPIO_ACTIVE_HIGH>;
+ req-mask = <0xf>;
+ };
+ };
+
+ gpio-keys-polled {
+ compatible = "gpio-keys-polled";
+ #address-cells = <1>;
+ #size-cells = <0>;
+ 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>;
+ };
+ };
+
+ gpio-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>;
+ };
+ 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>;
+ };
+ };
+};
diff --git a/target/linux/lantiq/files-4.9/arch/mips/boot/dts/ARV4520PW.dts b/target/linux/lantiq/files-4.9/arch/mips/boot/dts/ARV4520PW.dts
new file mode 100644
index 0000000000..05e0dfe048
--- /dev/null
+++ b/target/linux/lantiq/files-4.9/arch/mips/boot/dts/ARV4520PW.dts
@@ -0,0 +1,221 @@
+/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-dsl = &dsl;
+ led-internet = &internet_blue;
+ led-usb = &usb;
+ led-wifi = &wifi;
+ };
+
+ memory@0 {
+ reg = <0x0 0x2000000>;
+ };
+
+ sram@1F000000 {
+ vmmc@107000 {
+ status = "okay";
+ gpios = <&gpio 31 GPIO_ACTIVE_HIGH
+ &gpiomm 7 GPIO_ACTIVE_HIGH>;
+ };
+ };
+
+ fpi@10000000 {
+ localbus@0 {
+ nor-boot@0 {
+ compatible = "lantiq,nor";
+ bank-width = <2>;
+ reg = <0 0x0 0x800000>;
+ #address-cells = <1>;
+ #size-cells = <1>;
+
+ 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: gpiomm@4000000 {
+ compatible = "lantiq,gpio-mm";
+ reg = <1 0x0 0x10 >;
+ #address-cells = <1>;
+ #size-cells = <1>;
+ #gpio-cells = <2>;
+ gpio-controller;
+ lantiq,shadow = <0x400>;
+ };
+ };
+
+ gpio: pinmux@E100B10 {
+ pinctrl-names = "default";
+ pinctrl-0 = <&state_default>;
+
+ state_default: pinmux {
+ ebu {
+ lantiq,groups = "ebu cs1";
+ lantiq,function = "ebu";
+ };
+ pci_in {
+ lantiq,groups = "req1";
+ lantiq,function = "pci";
+ lantiq,open-drain = <1>;
+ lantiq,pull = <2>;
+ lantiq,output = <0>;
+ };
+ pci_out {
+ lantiq,groups = "gnt1";
+ lantiq,function = "pci";
+ lantiq,output = <1>;
+ };
+ pci_rst {
+ lantiq,pins = "io21";
+ lantiq,open-drain = <0>;
+ lantiq,pull = <0>;
+ };
+ };
+ };
+
+ etop@E180000 {
+ phy-mode = "rmii";
+ mtd-mac-address = <&boardconfig 0x16>;
+ };
+
+ ifxhcd@E101000 {
+ status = "okay";
+ gpios = <&gpio 28 GPIO_ACTIVE_HIGH>;
+ };
+
+ pci@E105400 {
+ status = "okay";
+ lantiq,external-clock;
+ gpio-reset = <&gpio 21 GPIO_ACTIVE_HIGH>;
+ };
+ };
+
+// gpiomm 10 - switch
+
+ gpio-keys-polled {
+ compatible = "gpio-keys-polled";
+ #address-cells = <1>;
+ #size-cells = <0>;
+ 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>;
+ };
+ };
+
+ gpio-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>;
+ };
+ 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
+ */
+ };
+};
diff --git a/target/linux/lantiq/files-4.9/arch/mips/boot/dts/ARV4525PW.dts b/target/linux/lantiq/files-4.9/arch/mips/boot/dts/ARV4525PW.dts
new file mode 100644
index 0000000000..61548c793a
--- /dev/null
+++ b/target/linux/lantiq/files-4.9/arch/mips/boot/dts/ARV4525PW.dts
@@ -0,0 +1,169 @@
+/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 {
+ reg = <0x0 0x2000000>;
+ };
+
+ sram@1F000000 {
+ vmmc@107000 {
+ status = "okay";
+ gpios = <&gpio 31 GPIO_ACTIVE_HIGH>;
+ };
+ };
+
+ fpi@10000000 {
+ localbus@0 {
+ nor-boot@0 {
+ compatible = "lantiq,nor";
+ bank-width = <2>;
+ reg = <0 0x0 0x2000000>;
+ #address-cells = <1>;
+ #size-cells = <1>;
+
+ 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;
+ };
+ };
+ };
+
+ ath5k_eep {
+ compatible = "ath5k,eeprom";
+ ath,eep-flash = <&boardconfig 0x400>;
+ ath,mac-offset = <0x0>;
+ ath,eep-swap;
+ };
+ };
+
+ gpio: pinmux@E100B10 {
+ pinctrl-names = "default";
+ pinctrl-0 = <&state_default>;
+
+ state_default: pinmux {
+ pci_in {
+ lantiq,groups = "req1";
+ lantiq,function = "pci";
+ lantiq,open-drain = <1>;
+ lantiq,pull = <2>;
+ lantiq,output = <0>;
+ };
+ pci_out {
+ lantiq,groups = "gnt1";
+ lantiq,function = "pci";
+ lantiq,output = <1>;
+ };
+ pci_rst {
+ lantiq,pins = "io21";
+ lantiq,pull = <2>;
+ lantiq,output = <1>;
+ };
+ relay {
+ lantiq,pins = "io31";
+ lantiq,output = <1>;
+ };
+ };
+ };
+
+ etop@E180000 {
+ phy-mode = "mii";
+ mtd-mac-address = <&boardconfig 0x16>;
+ };
+
+ pci@E105400 {
+ status = "okay";
+ gpio-reset = <&gpio 21 GPIO_ACTIVE_HIGH>;
+ };
+ };
+
+/*
+#define ARV4525PW_PHYRESET 13
+#define ARV4525PW_RELAY 31
+*/
+
+ gpio-keys-polled {
+ compatible = "gpio-keys-polled";
+ #address-cells = <1>;
+ #size-cells = <0>;
+ 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>;
+ };
+ };
+
+ gpio-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>;
+ };
+ };
+};
diff --git a/target/linux/lantiq/files-4.9/arch/mips/boot/dts/ARV452CQW.dts b/target/linux/lantiq/files-4.9/arch/mips/boot/dts/ARV452CQW.dts
new file mode 100644
index 0000000000..d996e8b66f
--- /dev/null
+++ b/target/linux/lantiq/files-4.9/arch/mips/boot/dts/ARV452CQW.dts
@@ -0,0 +1,237 @@
+/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-dsl = &dsl_blue;
+ led-usb = &usb;
+ led-wifi = &wifi;
+ };
+
+ memory@0 {
+ reg = <0x0 0x2000000>;
+ };
+
+ sram@1F000000 {
+ vmmc@107000 {
+ status = "okay";
+ gpios = <&gpio 31 GPIO_ACTIVE_HIGH
+ &gpiomm 7 GPIO_ACTIVE_HIGH>;
+ };
+ };
+
+ fpi@10000000 {
+ localbus@0 {
+ nor-boot@0 {
+ compatible = "lantiq,nor";
+ bank-width = <2>;
+ reg = <0 0x0 0x400000>;
+ #address-cells = <1>;
+ #size-cells = <1>;
+
+ 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;
+ };
+ };
+ };
+
+ ath5k_eep {
+ compatible = "ath5k,eeprom";
+ ath,eep-flash = <&boardconfig 0x400>;
+ ath,mac-offset = <0x0>;
+ ath,eep-swap;
+ };
+ gpiomm: gpiomm@4000000 {
+ compatible = "lantiq,gpio-mm";
+ reg = <1 0x0 0x10>;
+ #address-cells = <1>;
+ #size-cells = <1>;
+ #gpio-cells = <2>;
+ gpio-controller;
+ lantiq,shadow = <0x77f>;
+ };
+ };
+
+ gpio: pinmux@E100B10 {
+ pinctrl-names = "default";
+ pinctrl-0 = <&state_default>;
+
+ state_default: pinmux {
+ ebu {
+ lantiq,groups = "ebu cs1";
+ lantiq,function = "ebu";
+ };
+ pci_in {
+ lantiq,groups = "req1";
+ lantiq,function = "pci";
+ lantiq,open-drain = <1>;
+ lantiq,pull = <2>;
+ lantiq,output = <0>;
+ };
+ pci_out {
+ lantiq,groups = "gnt1";
+ lantiq,function = "pci";
+ lantiq,output = <1>;
+ };
+ pci_rst {
+ lantiq,pins = "io21";
+ lantiq,pull = <0>;
+ lantiq,output = <1>;
+ };
+ leds {
+ lantiq,pins = "io3", "io5", "io6", "io7", "io9";
+ lantiq,output = <1>;
+ };
+ };
+ };
+
+ ifxhcd@E101000 {
+ status = "okay";
+ gpios = <&gpio 28 GPIO_ACTIVE_HIGH>;
+ };
+
+ etop@E180000 {
+ phy-mode = "rmii";
+ mtd-mac-address = <&boardconfig 0x16>;
+ };
+
+ pci@E105400 {
+ status = "okay";
+ lantiq,external-clock;
+ gpio-reset = <&gpio 21 GPIO_ACTIVE_HIGH>;
+ };
+ };
+
+/*
+#define ARV452CPW_SWITCH_RESET 110
+*/
+ gpio-keys-polled {
+ compatible = "gpio-keys-polled";
+ #address-cells = <1>;
+ #size-cells = <0>;
+ 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>;
+ };
+ };
+
+ gpio-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>;
+ };
+ 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>;
+ };
+ };
+};
diff --git a/target/linux/lantiq/files-4.9/arch/mips/boot/dts/ARV7506PW11.dts b/target/linux/lantiq/files-4.9/arch/mips/boot/dts/ARV7506PW11.dts
new file mode 100644
index 0000000000..3ec4bf41a0
--- /dev/null
+++ b/target/linux/lantiq/files-4.9/arch/mips/boot/dts/ARV7506PW11.dts
@@ -0,0 +1,165 @@
+/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-dsl = &dsl;
+ led-internet = &internet;
+ led-wifi = &wlan;
+ };
+
+ memory@0 {
+ reg = <0x0 0x4000000>;
+ };
+
+ fpi@10000000 {
+ localbus@0 {
+ nor-boot@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;
+ };
+ };
+ };
+ };
+
+ gpio: pinmux@E100B10 {
+ pinctrl-names = "default";
+ pinctrl-0 = <&state_default>;
+
+ state_default: pinmux {
+ pci {
+ lantiq,groups = "gnt1";
+ lantiq,function = "pci";
+ lantiq,output = <1>;
+ };
+ pci_rst {
+ lantiq,pins = "io21";
+ lantiq,pull = <2>;
+ lantiq,output = <1>;
+ };
+ };
+ };
+
+ /* GPIO 19: switch reset */
+ etop@E180000 {
+ phy-mode = "rmii";
+ mtd-mac-address = <&boardconfig 0x16>;
+ };
+ };
+
+ gpio-keys-polled {
+ compatible = "gpio-keys-polled";
+ #address-cells = <1>;
+ #size-cells = <0>;
+ 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>;
+ };
+ };
+
+ gpio-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>;
+ };
+ };
+};
+
+&pci0 {
+ status = "okay";
+ 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.9/arch/mips/boot/dts/ARV7510PW22.dts b/target/linux/lantiq/files-4.9/arch/mips/boot/dts/ARV7510PW22.dts
new file mode 100644
index 0000000000..dc3f614b9d
--- /dev/null
+++ b/target/linux/lantiq/files-4.9/arch/mips/boot/dts/ARV7510PW22.dts
@@ -0,0 +1,196 @@
+/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-dsl = &internet;
+ led-usb = &umts;
+ led-wifi = &wlan;
+ };
+
+ memory@0 {
+ reg = <0x0 0x4000000>;
+ };
+
+ sram@1F000000 {
+ vmmc@107000 {
+ status = "okay";
+ gpios = <&gpio 9 GPIO_ACTIVE_HIGH>;
+ };
+ };
+
+ fpi@10000000 {
+ localbus@0 {
+ nor-boot@0 {
+ compatible = "lantiq,nor";
+ bank-width = <2>;
+ reg = <0 0x0 0x1000000>;
+ #address-cells = <1>;
+ #size-cells = <1>;
+
+ 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;
+ };
+ };
+ };
+ };
+
+ gpio: pinmux@E100B10 {
+ pinctrl-names = "default";
+ pinctrl-0 = <&state_default>;
+
+ state_default: pinmux {
+ exin {
+ lantiq,groups = "exin1";
+ lantiq,function = "exin";
+ lantiq,pull = <2>;
+ lantiq,output = <0>;
+ };
+ pci_in {
+ lantiq,groups = "req1", "req2";
+ lantiq,function = "pci";
+ lantiq,open-drain = <1>;
+ lantiq,pull = <2>;
+ lantiq,output = <0>;
+ };
+ pci_out {
+ lantiq,groups = "gnt1";
+ lantiq,function = "pci";
+ lantiq,output = <1>;
+ };
+ 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>;
+ };
+ };
+ };
+
+ ifxhcd@E101000 {
+ status = "okay";
+ gpios = <&gpio 8 GPIO_ACTIVE_HIGH>;
+ };
+
+ etop@E180000 {
+ /* Switch reset 19 */
+ phy-mode = "mii";
+ mtd-mac-address = <&boardconfig 0x16>;
+ };
+ };
+
+ gpio-keys-polled {
+ compatible = "gpio-keys-polled";
+ #address-cells = <1>;
+ #size-cells = <0>;
+ 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>;
+ };
+ };
+
+ gpio-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>;
+ };
+ };
+};
+
+&pci0 {
+ status = "okay";
+ 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;
+ };
+};
diff --git a/target/linux/lantiq/files-4.9/arch/mips/boot/dts/ARV7518PW.dts b/target/linux/lantiq/files-4.9/arch/mips/boot/dts/ARV7518PW.dts
new file mode 100644
index 0000000000..41b1249323
--- /dev/null
+++ b/target/linux/lantiq/files-4.9/arch/mips/boot/dts/ARV7518PW.dts
@@ -0,0 +1,232 @@
+/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-dsl = &dsl;
+ led-internet = &online_green;
+ led-usb = &usb;
+ led-wifi = &wifi;
+ };
+
+ memory@0 {
+ reg = <0x0 0x4000000>;
+ };
+
+ sram@1F000000 {
+ vmmc@107000 {
+ status = "okay";
+ };
+ };
+
+ fpi@10000000 {
+ localbus@0 {
+ nor-boot@0 {
+ compatible = "lantiq,nor";
+ bank-width = <2>;
+ reg = <0 0x0 0x2000000>;
+ #address-cells = <1>;
+ #size-cells = <1>;
+
+ 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: gpiomm@4000000 {
+ compatible = "lantiq,gpio-mm";
+ reg = <1 0x0 0x10 >;
+ #address-cells = <1>;
+ #size-cells = <1>;
+ #gpio-cells = <2>;
+ gpio-controller;
+ lantiq,shadow = <0x0>;
+ };
+ };
+
+ gpio: pinmux@E100B10 {
+ pinctrl-names = "default";
+ pinctrl-0 = <&state_default>;
+
+ state_default: pinmux {
+ ebu {
+ lantiq,groups = "ebu cs1";
+ lantiq,function = "ebu";
+ };
+ pci_in {
+ lantiq,groups = "req1";
+ lantiq,function = "pci";
+ lantiq,open-drain = <1>;
+ lantiq,pull = <2>;
+ lantiq,output = <0>;
+ };
+ pci_out {
+ lantiq,groups = "gnt1";
+ lantiq,function = "pci";
+ lantiq,pull = <0>;
+ lantiq,output = <1>;
+ };
+ 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>;
+ };
+ };
+ };
+
+ etop@E180000 {
+ phy-mode = "mii";
+ mtd-mac-address = <&boardconfig 0x16>;
+ };
+
+ ifxhcd@E101000 {
+ status = "okay";
+ gpios = <&gpio 14 GPIO_ACTIVE_HIGH>;
+ };
+ };
+
+/*
+#define SWITCH_RESET 13
+*/
+ gpio-keys-polled {
+ compatible = "gpio-keys-polled";
+ #address-cells = <1>;
+ #size-cells = <0>;
+ 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>;
+ };
+ };
+
+ gpio-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>;
+ };
+ 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>;
+ };
+ };
+};
+
+&pci0 {
+ status = "okay";
+ 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>;
+ };
+};
diff --git a/target/linux/lantiq/files-4.9/arch/mips/boot/dts/ARV7519PW.dts b/target/linux/lantiq/files-4.9/arch/mips/boot/dts/ARV7519PW.dts
new file mode 100644
index 0000000000..9983a7906f
--- /dev/null
+++ b/target/linux/lantiq/files-4.9/arch/mips/boot/dts/ARV7519PW.dts
@@ -0,0 +1,229 @@
+/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-dsl = &dsl;
+ led-internet = &online;
+ led-wifi = &wifi;
+ };
+
+ memory@0 {
+ reg = <0x0 0x4000000>;
+ };
+
+ sram@1F000000 {
+ vmmc@107000 {
+ status = "okay";
+ };
+ };
+
+ fpi@10000000 {
+ localbus@0 {
+ nor-boot@0 {
+ compatible = "lantiq,nor";
+ bank-width = <2>;
+ reg = <0 0x0 0x2000000>;
+ #address-cells = <1>;
+ #size-cells = <1>;
+
+ 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;
+ };
+ };
+ };
+ };
+
+ gpio: pinmux@E100B10 {
+ pinctrl-names = "default";
+ pinctrl-0 = <&state_default>;
+
+ state_default: pinmux {
+ ebu {
+ lantiq,groups = "ebu cs1";
+ lantiq,function = "ebu";
+ };
+ pci_in {
+ lantiq,groups = "req1";
+ lantiq,function = "pci";
+ lantiq,open-drain = <1>;
+ lantiq,pull = <2>;
+ lantiq,output = <0>;
+ };
+ pci_out {
+ lantiq,groups = "gnt1";
+ lantiq,function = "pci";
+ lantiq,pull = <0>;
+ lantiq,output = <1>;
+ };
+ pci_rst {
+ lantiq,pins = "io21";
+ lantiq,pull = <2>;
+ lantiq,output = <1>;
+ };
+ switch_rst {
+ lantiq,pins = "io19";
+ lantiq,pull = <2>;
+ lantiq,output = <1>;
+ };
+ };
+ };
+
+ etop@E180000 {
+ phy-mode = "mii";
+ mtd-mac-address = <&boardconfig 0x16>;
+ };
+
+ /* warning: passive port
+ only works with active devices */
+ ifxhcd@E101000 {
+ status = "okay";
+ };
+ };
+
+ gpio-keys-polled {
+ compatible = "gpio-keys-polled";
+ #address-cells = <1>;
+ #size-cells = <0>;
+ 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>;
+ };
+ };
+
+ gpio-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>;
+ };
+ };
+};
+
+&pci0 {
+ status = "okay";
+ 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;
+ };
+};
diff --git a/target/linux/lantiq/files-4.9/arch/mips/boot/dts/ARV7519RW22.dts b/target/linux/lantiq/files-4.9/arch/mips/boot/dts/ARV7519RW22.dts
new file mode 100644
index 0000000000..0bdc150a1e
--- /dev/null
+++ b/target/linux/lantiq/files-4.9/arch/mips/boot/dts/ARV7519RW22.dts
@@ -0,0 +1,231 @@
+/dts-v1/;
+
+#include "vr9.dtsi"
+
+#include <dt-bindings/input/input.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-dsl = &internet_green;
+ };
+
+ memory@0 {
+ reg = <0x0 0x8000000>;
+ };
+
+ fpi@10000000 {
+ localbus@0 {
+ nor-boot@0 {
+ compatible = "lantiq,nor";
+ bank-width = <2>;
+ reg = <0 0x0 0x2000000>;
+ #address-cells = <1>;
+ #size-cells = <1>;
+
+ 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;
+ };
+ };
+ };
+ };
+
+ gpio: pinmux@E100B10 {
+ pinctrl-names = "default";
+ pinctrl-0 = <&state_default>;
+
+ state_default: pinmux {
+ mdio {
+ lantiq,groups = "mdio";
+ lantiq,function = "mdio";
+ };
+ pcie-rst {
+ lantiq,pins = "io21";
+ lantiq,pull = <0>;
+ lantiq,output = <1>;
+ };
+ };
+ };
+
+ ifxhcd@E101000 {
+ status = "okay";
+ gpios = <&gpio 32 GPIO_ACTIVE_HIGH>;
+ };
+
+ ifxhcd@E106000 {
+ status = "okay";
+ gpios = <&gpio 32 GPIO_ACTIVE_HIGH>;
+ };
+
+ pcie@d900000 {
+ status = "okay";
+ gpio-reset = <&gpio 21 GPIO_ACTIVE_HIGH>;
+ };
+ };
+
+ gphy-xrx200 {
+ compatible = "lantiq,phy-xrx200";
+ firmware1 = "lantiq/xrx200_phy22f_a14.bin"; /*VR9 1.1*/
+ firmware2 = "lantiq/xrx200_phy22f_a22.bin"; /*VR9 1.2*/
+ phys = [ 00 01 ];
+ };
+
+ gpio-keys-polled {
+ compatible = "gpio-keys-polled";
+ #address-cells = <1>;
+ #size-cells = <0>;
+ 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>;
+ };
+ };
+
+ gpio-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>;
+ };
+ };
+};
+
+&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@0 {
+ #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";
+ };
+ };
+};
diff --git a/target/linux/lantiq/files-4.9/arch/mips/boot/dts/ARV7525PW.dts b/target/linux/lantiq/files-4.9/arch/mips/boot/dts/ARV7525PW.dts
new file mode 100644
index 0000000000..0007535895
--- /dev/null
+++ b/target/linux/lantiq/files-4.9/arch/mips/boot/dts/ARV7525PW.dts
@@ -0,0 +1,155 @@
+/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-dsl = &power_green;
+ led-internet = &online;
+ led-wifi = &wifi;
+ };
+
+ memory@0 {
+ reg = <0x0 0x2000000>;
+ };
+
+ sram@1F000000 {
+ vmmc@107000 {
+ status = "okay";
+ gpios = <&gpio 31 GPIO_ACTIVE_HIGH>;
+ };
+ };
+
+ fpi@10000000 {
+ localbus@0 {
+ nor-boot@0 {
+ compatible = "lantiq,nor";
+ bank-width = <2>;
+ reg = <0 0x0 0x2000000>;
+ #address-cells = <1>;
+ #size-cells = <1>;
+
+ 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;
+ };
+ };
+ };
+ };
+
+ gpio: pinmux@E100B10 {
+ pinctrl-names = "default";
+ pinctrl-0 = <&state_default>;
+
+ state_default: pinmux {
+ exin {
+ lantiq,groups = "exin1";
+ lantiq,function = "exin";
+ };
+ pci {
+ lantiq,groups = "gnt1", "req1";
+ lantiq,function = "pci";
+ };
+ };
+ };
+
+ etop@E180000 {
+ phy-mode = "mii";
+ mtd-mac-address = <&boardconfig 0x16>;
+ };
+ };
+
+ gpio-keys-polled {
+ compatible = "gpio-keys-polled";
+ #address-cells = <1>;
+ #size-cells = <0>;
+ 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>;
+ };
+ };
+
+ gpio-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>;
+ };
+ };
+};
+
+&pci0 {
+ status = "okay";
+ 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>;
+ };
+};
diff --git a/target/linux/lantiq/files-4.9/arch/mips/boot/dts/ARV752DPW.dts b/target/linux/lantiq/files-4.9/arch/mips/boot/dts/ARV752DPW.dts
new file mode 100644
index 0000000000..3591b43671
--- /dev/null
+++ b/target/linux/lantiq/files-4.9/arch/mips/boot/dts/ARV752DPW.dts
@@ -0,0 +1,238 @@
+/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-dsl = &internet_red;
+ led-usb = &umts;
+ led-wifi = &wifi;
+ };
+
+ memory@0 {
+ reg = <0x0 0x4000000>;
+ };
+
+ sram@1F000000 {
+ vmmc@107000 {
+ status = "okay";
+ gpios = <&gpiomm 1 GPIO_ACTIVE_HIGH>;
+ };
+ };
+
+ fpi@10000000 {
+ localbus@0 {
+ nor-boot@0 {
+ compatible = "lantiq,nor";
+ bank-width = <2>;
+ reg = <0 0x0 0x800000>;
+ #address-cells = <1>;
+ #size-cells = <1>;
+
+ 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: gpiomm@4000000 {
+ compatible = "lantiq,gpio-mm";
+ reg = <1 0x0 0x10 >;
+ #address-cells = <1>;
+ #size-cells = <1>;
+ #gpio-cells = <2>;
+ gpio-controller;
+ lantiq,shadow = <0x3>;
+ };
+ };
+
+ gpio: pinmux@E100B10 {
+ 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_in {
+ lantiq,groups = "req2", "req1";
+ lantiq,function = "pci";
+ lantiq,open-drain = <1>;
+ lantiq,pull = <2>;
+ lantiq,output = <0>;
+ };
+ pci_out {
+ lantiq,groups = "gnt1";
+ lantiq,function = "pci";
+ lantiq,output = <1>;
+ };
+ 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>;
+ };
+ };
+ };
+
+ ifxhcd@E101000 {
+ status = "okay";
+ gpios = <&gpiomm 0 GPIO_ACTIVE_HIGH>;
+ };
+
+ etop@E180000 {
+ phy-mode = "rmii";
+ mtd-mac-address = <&boardconfig 0x16>;
+ };
+ };
+
+ gpio-keys-polled {
+ compatible = "gpio-keys-polled";
+ #address-cells = <1>;
+ #size-cells = <0>;
+ 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>;
+ };
+ };
+
+ gpio-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>;
+ };
+ };
+};
+
+&pci0 {
+ status = "okay";
+ 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;
+ };
+};
diff --git a/target/linux/lantiq/files-4.9/arch/mips/boot/dts/ARV752DPW22.dts b/target/linux/lantiq/files-4.9/arch/mips/boot/dts/ARV752DPW22.dts
new file mode 100644
index 0000000000..8b5be8b76c
--- /dev/null
+++ b/target/linux/lantiq/files-4.9/arch/mips/boot/dts/ARV752DPW22.dts
@@ -0,0 +1,259 @@
+/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-dsl = &internet_red;
+ led-usb = &umts;
+ led-wifi = &wifi;
+ };
+
+ memory@0 {
+ reg = <0x0 0x4000000>;
+ };
+
+ sram@1F000000 {
+ vmmc@107000 {
+ status = "okay";
+ gpios = <&gpiomm 1 GPIO_ACTIVE_HIGH>;
+ };
+ };
+
+ fpi@10000000 {
+ localbus@0 {
+ nor-boot@0 {
+ compatible = "lantiq,nor";
+ bank-width = <2>;
+ reg = <0 0x0 0x800000>;
+ #address-cells = <1>;
+ #size-cells = <1>;
+
+ 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: gpiomm@4000000 {
+ compatible = "lantiq,gpio-mm";
+ reg = <1 0x0 0x10 >;
+ #address-cells = <1>;
+ #size-cells = <1>;
+ #gpio-cells = <2>;
+ gpio-controller;
+ lantiq,shadow = <3>;
+ };
+ };
+
+ gpio: pinmux@E100B10 {
+ 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_in {
+ lantiq,groups = "req1";
+ lantiq,function = "pci";
+ lantiq,pull = <2>;
+ lantiq,output = <0>;
+ };
+ pci_out {
+ lantiq,groups = "gnt1";
+ lantiq,function = "pci";
+ lantiq,open-drain = <1>;
+ lantiq,output = <1>;
+ };
+ 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>;
+ };
+ };
+ };
+
+ ifxhcd@E101000 {
+ status = "okay";
+ gpios = <&gpiomm 0 GPIO_ACTIVE_HIGH>;
+ };
+
+ etop@E180000 {
+ phy-mode = "mii";
+ mtd-mac-address = <&boardconfig 0x16>;
+ };
+ };
+
+ gpio-keys-polled {
+ compatible = "gpio-keys-polled";
+ #address-cells = <1>;
+ #size-cells = <0>;
+ 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>;
+ };
+ };
+
+ gpio-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>;
+ };
+ };
+};
+
+&pci0 {
+ status = "okay";
+ 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>;
+ };
+};
diff --git a/target/linux/lantiq/files-4.9/arch/mips/boot/dts/ARV8539PW22.dts b/target/linux/lantiq/files-4.9/arch/mips/boot/dts/ARV8539PW22.dts
new file mode 100644
index 0000000000..4edcde9763
--- /dev/null
+++ b/target/linux/lantiq/files-4.9/arch/mips/boot/dts/ARV8539PW22.dts
@@ -0,0 +1,180 @@
+/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-dsl = &dsl_green;
+ led-internet = &online_green;
+ led-wifi = &wireless_green;
+ };
+
+ memory@0 {
+ reg = <0x0 0x4000000>;
+ };
+
+ sram@1F000000 {
+ vmmc@107000 {
+ status = "okay";
+ gpios = <&gpio 31 GPIO_ACTIVE_HIGH>;
+ };
+ };
+
+ fpi@10000000 {
+ localbus@0 {
+ nor-boot@0 {
+ compatible = "lantiq,nor";
+ bank-width = <2>;
+ reg = <0 0x0 0x800000>;
+ #address-cells = <1>;
+ #size-cells = <1>;
+
+ 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;
+ };
+ };
+ };
+ };
+
+ gpio: pinmux@E100B10 {
+ pinctrl-names = "default";
+ pinctrl-0 = <&state_default>;
+
+ state_default: pinmux {
+ pci_in {
+ lantiq,groups = "req1";
+ lantiq,function = "pci";
+ lantiq,open-drain = <1>;
+ lantiq,pull = <2>;
+ lantiq,output = <0>;
+ };
+ pci_out {
+ lantiq,groups = "gnt1";
+ lantiq,function = "pci";
+ lantiq,output = <1>;
+ };
+ pci_rst {
+ lantiq,pins = "io21";
+ lantiq,pull = <2>;
+ lantiq,output = <1>;
+ };
+ relay {
+ lantiq,pins = "io31";
+ lantiq,output = <1>;
+ };
+ };
+ };
+
+ etop@E180000 {
+ phy-mode = "mii";
+ mtd-mac-address = <&art 0x16>;
+ };
+
+ ifxhcd@E101000 {
+ status = "okay";
+ gpios = <&gpio 14 GPIO_ACTIVE_HIGH>;
+ lantiq,portmask = <0x3>;
+ };
+ };
+
+ gpio-keys-polled {
+ compatible = "gpio-keys-polled";
+ #address-cells = <1>;
+ #size-cells = <0>;
+ 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 */
+ };
+
+ gpio-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
+ */
+ };
+};
+
+&pci0 {
+ status = "okay";
+ 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>;
+ };
+};
diff --git a/target/linux/lantiq/files-4.9/arch/mips/boot/dts/ASL56026.dts b/target/linux/lantiq/files-4.9/arch/mips/boot/dts/ASL56026.dts
new file mode 100644
index 0000000000..2037f40f03
--- /dev/null
+++ b/target/linux/lantiq/files-4.9/arch/mips/boot/dts/ASL56026.dts
@@ -0,0 +1,171 @@
+/dts-v1/;
+
+#include "vr9.dtsi"
+
+#include <dt-bindings/input/input.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-dsl = &dsl;
+ };
+
+ memory@0 {
+ reg = <0x0 0x2000000>;
+ };
+
+ fpi@10000000 {
+ localbus@0 {
+ nor-boot@0 {
+ compatible = "lantiq,nor";
+ bank-width = <2>;
+ reg = <0 0x0 0x0800000>;
+ #address-cells = <1>;
+ #size-cells = <1>;
+
+ 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;
+ };
+ };
+ };
+ };
+
+ gpio: pinmux@E100B10 {
+ pinctrl-names = "default";
+ pinctrl-0 = <&state_default>;
+
+ state_default: pinmux {
+ mdio {
+ lantiq,groups = "mdio";
+ lantiq,function = "mdio";
+ };
+ };
+ };
+ };
+
+ gphy-xrx200 {
+ compatible = "lantiq,phy-xrx200";
+ firmware1 = "lantiq/xrx200_phy22f_a14.bin"; /*VR9 1.1*/
+ firmware2 = "lantiq/xrx200_phy22f_a22.bin"; /*VR9 1.2*/
+ phys = [ 00 01 ];
+ };
+
+ gpio-keys-polled {
+ compatible = "gpio-keys-polled";
+ #address-cells = <1>;
+ #size-cells = <0>;
+ poll-interval = <100>;
+
+ reset {
+ label = "reset";
+ gpios = <&gpio 40 GPIO_ACTIVE_LOW>;
+ linux,code = <KEY_RESTART>;
+ };
+ };
+
+ gpio-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@0 {
+ #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";
+ };
+
+ };
+};
diff --git a/target/linux/lantiq/files-4.9/arch/mips/boot/dts/BTHOMEHUBV2B.dts b/target/linux/lantiq/files-4.9/arch/mips/boot/dts/BTHOMEHUBV2B.dts
new file mode 100644
index 0000000000..961fd9b929
--- /dev/null
+++ b/target/linux/lantiq/files-4.9/arch/mips/boot/dts/BTHOMEHUBV2B.dts
@@ -0,0 +1,262 @@
+/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-dsl = &broadband_blue;
+ led-wifi = &wireless_blue;
+ };
+
+ memory@0 { /* RAM: Samsung K4H511638F-LC 64MB */
+ reg = <0x0 0x4000000>;
+ };
+
+ sram@1F000000 {
+ vmmc@107000 {
+ status = "okay";
+ gpios = <&gpio 31 GPIO_ACTIVE_HIGH>;
+ };
+ };
+
+ fpi@10000000 {
+ localbus@0 {
+ nor-boot@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>;
+ #address-cells = <1>;
+ #size-cells = <1>;
+
+ 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>;
+ };
+ };
+ };
+
+ nand-parts@0 { /* NAND Flash: Samsung K9F5608U0D-JIB0 32MB */
+ compatible = "lantiq,nand-xway";
+ lantiq,cs = <1>;
+ bank-width = <2>;
+ reg = <1 0x0 0x2000000 >;
+ #address-cells = <1>;
+ #size-cells = <1>;
+ req-mask = <0x1>; /* PCI request lines to mask during NAND access */
+
+ 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>;
+ };
+ };
+ };
+ };
+
+ gpio: pinmux@E100B10 {
+ pinctrl-names = "default";
+ pinctrl-0 = <&state_default>;
+
+ state_default: pinmux {
+ nand_out {
+ lantiq,groups = "nand cle", "nand ale";
+ lantiq,function = "ebu";
+ lantiq,output = <1>;
+ lantiq,open-drain = <0>;
+ lantiq,pull = <0>;
+ };
+ nand_cs1 {
+ lantiq,groups = "nand cs1";
+ lantiq,function = "ebu";
+ lantiq,open-drain = <0>;
+ lantiq,pull = <0>;
+ };
+ exin {
+ lantiq,groups = "exin1";
+ lantiq,function = "exin";
+ };
+ pci_in {
+ lantiq,groups = "req1";
+ lantiq,function = "pci";
+ lantiq,output = <0>;
+ lantiq,open-drain = <1>;
+ lantiq,pull = <2>;
+ };
+ pci_out {
+ lantiq,groups = "gnt1";
+ lantiq,function = "pci";
+ lantiq,output = <1>;
+ lantiq,open-drain = <0>;
+ lantiq,pull = <0>;
+ };
+
+ 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>;
+ };
+ };
+ };
+
+ etop@E180000 {
+ phy-mode = "rmii";
+ };
+
+ ifxhcd@E101000 {
+ status = "okay";
+ };
+
+ gpios: stp@E100BB0 {
+ status = "okay";
+ };
+ };
+
+ gpio-keys-polled {
+ compatible = "gpio-keys-polled";
+ #address-cells = <1>;
+ #size-cells = <0>;
+ 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>;
+ };
+ };
+
+ gpio-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>;
+ };
+ };
+};
+
+&pci0 {
+ status = "okay";
+ 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 */
+ };
+};
diff --git a/target/linux/lantiq/files-4.9/arch/mips/boot/dts/BTHOMEHUBV3A.dts b/target/linux/lantiq/files-4.9/arch/mips/boot/dts/BTHOMEHUBV3A.dts
new file mode 100644
index 0000000000..d37b9728d2
--- /dev/null
+++ b/target/linux/lantiq/files-4.9/arch/mips/boot/dts/BTHOMEHUBV3A.dts
@@ -0,0 +1,208 @@
+/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-dsl = &broadband_blue;
+ led-wifi = &wireless_blue;
+ };
+
+ memory@0 { /* RAM: Samsung K4H511638F-LC 64MB */
+ reg = <0x0 0x4000000>;
+ };
+
+ sram@1F000000 {
+ vmmc@107000 {
+ status = "okay";
+ gpios = <&gpio 31 GPIO_ACTIVE_HIGH>;
+ };
+ };
+
+ fpi@10000000 {
+ localbus@0 {
+ nand-parts@0 { /* NAND Flash: Samsung K9F5608U0D-JIB0 32MB */
+ compatible = "lantiq,nand-xway";
+ lantiq,cs = <1>;
+ bank-width = <2>;
+ reg = <1 0x0 0x2000000 >;
+ #address-cells = <1>;
+ #size-cells = <1>;
+ req-mask = <0x1>; /* PCI request lines to mask during NAND access */
+
+ 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>;
+ };
+ };
+ };
+ };
+
+ gpio: pinmux@E100B10 {
+ pinctrl-names = "default";
+ pinctrl-0 = <&state_default>;
+
+ state_default: pinmux {
+ nand_out {
+ lantiq,groups = "nand cle", "nand ale";
+ lantiq,function = "ebu";
+ lantiq,output = <1>;
+ lantiq,open-drain = <0>;
+ lantiq,pull = <0>;
+ };
+ nand_cs1 {
+ lantiq,groups = "nand cs1";
+ lantiq,function = "ebu";
+ lantiq,open-drain = <0>;
+ lantiq,pull = <0>;
+ };
+
+ pci_in {
+ lantiq,groups = "req1";
+ lantiq,function = "pci";
+ lantiq,output = <0>;
+ lantiq,open-drain = <1>;
+ lantiq,pull = <2>;
+ };
+ pci_out {
+ lantiq,groups = "gnt1";
+ lantiq,function = "pci";
+ lantiq,output = <1>;
+ lantiq,open-drain = <0>;
+ lantiq,pull = <0>;
+ };
+
+ pci_rst {
+ lantiq,pins = "io21";
+ lantiq,output = <1>;
+ lantiq,open-drain = <0>;
+ };
+ };
+ };
+
+ etop@E180000 {
+ phy-mode = "rgmii";
+ };
+
+ ifxhcd@E101000 {
+ status = "okay";
+ gpios = <&gpio 33 GPIO_ACTIVE_HIGH>;
+ };
+ };
+
+ gpio-keys-polled {
+ compatible = "gpio-keys-polled";
+ #address-cells = <1>;
+ #size-cells = <0>;
+ 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>;
+ };
+ };
+
+ gpio-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>;
+ };
+ };
+};
+
+&pci0 {
+ status = "okay";
+ gpio-reset = <&gpio 21 GPIO_ACTIVE_HIGH>;
+
+ ath9k@7000 {
+ 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.9/arch/mips/boot/dts/BTHOMEHUBV5A.dts b/target/linux/lantiq/files-4.9/arch/mips/boot/dts/BTHOMEHUBV5A.dts
new file mode 100644
index 0000000000..2f75074696
--- /dev/null
+++ b/target/linux/lantiq/files-4.9/arch/mips/boot/dts/BTHOMEHUBV5A.dts
@@ -0,0 +1,282 @@
+/dts-v1/;
+
+#include "vr9.dtsi"
+
+#include <dt-bindings/input/input.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-dsl = &broadband_blue;
+ led-wifi = &wireless_blue;
+ };
+
+ memory@0 {
+ reg = <0x0 0x8000000>;
+ };
+
+ fpi@10000000 {
+ localbus@0 {
+ nand-parts@0 {
+ compatible = "lantiq,nand-xway";
+ lantiq,cs = <1>;
+ bank-width = <2>;
+ reg = <0x1 0x0 0x2000000>;
+ #address-cells = <1>;
+ #size-cells = <1>;
+ 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
+ */
+ };
+ };
+ };
+
+ gpio: pinmux@E100B10 {
+ pinctrl-names = "default";
+ pinctrl-0 = <&state_default>;
+
+ state_default: pinmux {
+ mdio {
+ lantiq,groups = "mdio";
+ lantiq,function = "mdio";
+ };
+ 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>;
+ };
+ nand_out {
+ lantiq,groups = "nand cle", "nand ale";
+ lantiq,function = "ebu";
+ lantiq,output = <1>;
+ lantiq,open-drain = <0>;
+ lantiq,pull = <0>;
+ };
+ nand_cs1 {
+ lantiq,groups = "nand cs1";
+ lantiq,function = "ebu";
+ lantiq,open-drain = <0>;
+ lantiq,pull = <0>;
+ };
+ };
+ };
+
+ ifxhcd@E101000 {
+ status = "okay";
+ gpios = <&gpio 33 GPIO_ACTIVE_HIGH>;
+ };
+ };
+
+ gphy-xrx200 {
+ compatible = "lantiq,phy-xrx200";
+ firmware1 = "lantiq/xrx200_phy11g_a14.bin"; /*VR9 1.1*/
+ firmware2 = "lantiq/xrx200_phy11g_a22.bin"; /*VR9 1.2*/
+ phys = [ 00 01 ];
+ };
+
+ gpio-keys-polled {
+ compatible = "gpio-keys-polled";
+ #address-cells = <1>;
+ #size-cells = <0>;
+ 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_POWER>;
+ };
+ };
+
+ gpio-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>;
+ };
+ };
+};
+
+&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;
+ };
+};
+
+&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@0 {
+ #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";
+ };
+ };
+};
diff --git a/target/linux/lantiq/files-4.9/arch/mips/boot/dts/DGN1000B.dts b/target/linux/lantiq/files-4.9/arch/mips/boot/dts/DGN1000B.dts
new file mode 100644
index 0000000000..e5637efca5
--- /dev/null
+++ b/target/linux/lantiq/files-4.9/arch/mips/boot/dts/DGN1000B.dts
@@ -0,0 +1,171 @@
+/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-dsl = &dsl;
+ led-internet = &online_green;
+ };
+
+ memory@0 {
+ reg = <0x0 0x1000000>;
+ };
+
+ fpi@10000000 {
+ gpio: pinmux@E100B10 {
+ pinctrl-names = "default";
+ pinctrl-0 = <&state_default>;
+
+ state_default: pinmux {
+ asc {
+ lantiq,groups = "asc";
+ lantiq,function = "asc";
+ };
+ keys_in {
+ lantiq,pins = "io0",/* "io25", */"io29";
+ lantiq,pull = <2>;
+ lantiq,open-drain = <1>;
+ };
+ };
+ pins_spi_default: pins_spi_default {
+ spi_in {
+ lantiq,groups = "spi_di";
+ lantiq,function = "spi";
+ };
+ spi_out {
+ lantiq,groups = "spi_do", "spi_clk",
+ "spi_cs1";
+ lantiq,function = "spi";
+ lantiq,output = <1>;
+ };
+ };
+ };
+
+ etop@E180000 {
+ phy-mode = "mii";
+ mac-address = [ 00 11 22 33 44 55 ];
+ };
+
+ spi@E100800 {
+ status = "okay";
+ pinctrl-names = "default";
+ pinctrl-0 = <&pins_spi_default>;
+
+ m25p80@1 {
+ #address-cells = <1>;
+ #size-cells = <1>;
+ compatible = "jedec,spi-nor";
+ reg = <1 0>;
+ 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";
+ };
+ };
+ };
+ };
+
+ ifxhcd@E101000 {
+ status = "okay";
+ };
+ };
+
+ gpio-keys-polled {
+ compatible = "gpio-keys-polled";
+ #address-cells = <1>;
+ #size-cells = <0>;
+ 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>;
+ };
+ };
+
+ gpio-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
+ */
+ };
+};
diff --git a/target/linux/lantiq/files-4.9/arch/mips/boot/dts/DGN3500.dts b/target/linux/lantiq/files-4.9/arch/mips/boot/dts/DGN3500.dts
new file mode 100644
index 0000000000..98a2ebd98e
--- /dev/null
+++ b/target/linux/lantiq/files-4.9/arch/mips/boot/dts/DGN3500.dts
@@ -0,0 +1,8 @@
+/dts-v1/;
+
+#include "DGN3500.dtsi"
+
+/ {
+ compatible = "netgear,dgn3500", "lantiq,xway", "lantiq,ar9";
+ model = "Netgear DGN3500";
+};
diff --git a/target/linux/lantiq/files-4.9/arch/mips/boot/dts/DGN3500.dtsi b/target/linux/lantiq/files-4.9/arch/mips/boot/dts/DGN3500.dtsi
new file mode 100644
index 0000000000..d58d717537
--- /dev/null
+++ b/target/linux/lantiq/files-4.9/arch/mips/boot/dts/DGN3500.dtsi
@@ -0,0 +1,213 @@
+#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-dsl = &dsl;
+ led-internet = &internet;
+ led-usb = &usb;
+ led-wifi = &wifi_green;
+ };
+
+ memory@0 {
+ reg = <0x0 0x4000000>;
+ };
+
+ fpi@10000000 {
+ gpio: pinmux@E100B10 {
+ pinctrl-names = "default";
+ pinctrl-0 = <&state_default>;
+
+ state_default: pinmux {
+ exin {
+ lantiq,groups = "exin1";
+ lantiq,function = "exin";
+ };
+ pci {
+ lantiq,groups = "gnt1", "req1";
+ lantiq,function = "pci";
+ };
+ 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>;
+ };
+ };
+ pins_spi_default: pins_spi_default {
+ spi_in {
+ lantiq,groups = "spi_di";
+ lantiq,function = "spi";
+ };
+ spi_out {
+ lantiq,groups = "spi_do", "spi_clk",
+ "spi_cs4";
+ lantiq,function = "spi";
+ lantiq,output = <1>;
+ };
+ };
+ };
+
+ etop@E180000 {
+ phy-mode = "mii";
+ };
+
+ ifxhcd@E101000 {
+ status = "okay";
+ };
+ };
+
+ 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
+ >;
+ };
+
+
+
+ gpio-keys-polled {
+ compatible = "gpio-keys-polled";
+ #address-cells = <1>;
+ #size-cells = <0>;
+ 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>;
+ };
+ };
+
+ gpio-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>;
+ };
+ 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>;
+ };
+ };
+};
+
+&pci0 {
+ status = "okay";
+ 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 {
+ pinctrl-names = "default";
+ pinctrl-0 = <&pins_spi_default>;
+
+ status = "ok";
+
+ m25p80@4 {
+ #address-cells = <1>;
+ #size-cells = <1>;
+ compatible = "jedec,spi-nor";
+ reg = <4 0>;
+ 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";
+ };
+ };
+ };
+};
diff --git a/target/linux/lantiq/files-4.9/arch/mips/boot/dts/DGN3500B.dts b/target/linux/lantiq/files-4.9/arch/mips/boot/dts/DGN3500B.dts
new file mode 100644
index 0000000000..d1d788cc7d
--- /dev/null
+++ b/target/linux/lantiq/files-4.9/arch/mips/boot/dts/DGN3500B.dts
@@ -0,0 +1,8 @@
+/dts-v1/;
+
+#include "DGN3500.dtsi"
+
+/ {
+ compatible = "netgear,dgn3500b", "lantiq,xway", "lantiq,ar9";
+ model = "Netgear DGN3500B";
+};
diff --git a/target/linux/lantiq/files-4.9/arch/mips/boot/dts/DM200.dts b/target/linux/lantiq/files-4.9/arch/mips/boot/dts/DM200.dts
new file mode 100644
index 0000000000..3c8a2a1fa9
--- /dev/null
+++ b/target/linux/lantiq/files-4.9/arch/mips/boot/dts/DM200.dts
@@ -0,0 +1,215 @@
+/dts-v1/;
+
+#include "vr9.dtsi"
+
+#include <dt-bindings/input/input.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-dsl = &dsl_green;
+ };
+
+ memory@0 {
+ reg = <0x0 0x4000000>;
+ };
+
+ fpi@10000000 {
+ gpio: pinmux@E100B10 {
+ pinctrl-names = "default";
+ pinctrl-0 = <&state_default>;
+
+ state_default: pinmux {
+ mdio {
+ lantiq,groups = "mdio";
+ lantiq,function = "mdio";
+ };
+ };
+
+ pins_spi_default: pins_spi_default {
+ spi_in {
+ lantiq,groups = "spi_di";
+ lantiq,function = "spi";
+ };
+ spi_out {
+ lantiq,groups = "spi_do", "spi_clk", "spi_cs4";
+ lantiq,function = "spi";
+ lantiq,output = <1>;
+ };
+ };
+ };
+
+ pcie@d900000 {
+ status = "disabled";
+ };
+ };
+
+ gphy-xrx200 {
+ compatible = "lantiq,phy-xrx200";
+ firmware = "lantiq/xrx200_phy22f_a22.bin";
+ phys = [ 01 ];
+ };
+
+ gpio-keys-polled {
+ compatible = "gpio-keys-polled";
+ #address-cells = <1>;
+ #size-cells = <0>;
+ 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>;
+ };
+ };
+
+ gpio-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>;
+ };
+ };
+};
+
+&spi {
+ pinctrl-names = "default";
+ pinctrl-0 = <&pins_spi_default>;
+
+ status = "ok";
+
+ m25p80@4 {
+ #address-cells = <1>;
+ #size-cells = <1>;
+ compatible = "jedec,spi-nor";
+ reg = <4 0>;
+ spi-max-frequency = <10000000>;
+
+ partitions {
+ compatible = "fixed-partitions";
+ #address-cells = <1>;
+ #size-cells = <1>;
+
+ 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;
+ };
+ };
+ };
+};
+
+&eth0 {
+ 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@0 {
+ #address-cells = <1>;
+ #size-cells = <0>;
+ compatible = "lantiq,xrx200-mdio";
+ phy13: ethernet-phy@13 {
+ reg = <0x13>;
+ compatible = "lantiq,phy22f", "ethernet-phy-ieee802.3-c22";
+ };
+ };
+};
diff --git a/target/linux/lantiq/files-4.9/arch/mips/boot/dts/EASY50712.dts b/target/linux/lantiq/files-4.9/arch/mips/boot/dts/EASY50712.dts
new file mode 100644
index 0000000000..ebd30a7c06
--- /dev/null
+++ b/target/linux/lantiq/files-4.9/arch/mips/boot/dts/EASY50712.dts
@@ -0,0 +1,83 @@
+/dts-v1/;
+
+#include "danube.dtsi"
+
+/ {
+ compatible = "lantiq,easy50712", "lantiq,xway", "lantiq,danube";
+ model = "Intel EASY50712 Nand";
+
+ chosen {
+ bootargs = "console=ttyLTQ0,115200";
+ };
+
+ memory@0 {
+ reg = <0x0 0x2000000>;
+ };
+
+ fpi@10000000 {
+ localbus@0 {
+ nor-boot@0 {
+ compatible = "lantiq,nor";
+ bank-width = <2>;
+ reg = <0 0x0 0x2000000>;
+ #address-cells = <1>;
+ #size-cells = <1>;
+
+ 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>;
+ };
+ };
+ };
+ };
+
+ gpio: pinmux@E100B10 {
+ pinctrl-names = "default";
+ pinctrl-0 = <&state_default>;
+
+ state_default: pinmux {
+ stp {
+ lantiq,groups = "stp";
+ lantiq,function = "stp";
+ };
+ exin {
+ lantiq,groups = "exin1";
+ lantiq,function = "exin";
+ };
+ pci {
+ lantiq,groups = "gnt1";
+ lantiq,function = "pci";
+ };
+ conf_out {
+ lantiq,pins = "io4", "io5", "io6"; /* stp */
+ lantiq,open-drain;
+ lantiq,pull = <0>;
+ };
+ };
+ };
+
+ etop@E180000 {
+ phy-mode = "rmii";
+ };
+ };
+};
diff --git a/target/linux/lantiq/files-4.9/arch/mips/boot/dts/EASY50810.dts b/target/linux/lantiq/files-4.9/arch/mips/boot/dts/EASY50810.dts
new file mode 100644
index 0000000000..605eb826a2
--- /dev/null
+++ b/target/linux/lantiq/files-4.9/arch/mips/boot/dts/EASY50810.dts
@@ -0,0 +1,93 @@
+/dts-v1/;
+
+#include "ar9.dtsi"
+
+/ {
+ compatible = "lantiq,easy50810", "lantiq,xway", "lantiq,ar9";
+ model = "Lantiq EASY50810";
+
+ chosen {
+ bootargs = "console=ttyLTQ0,115200";
+ };
+
+ memory@0 {
+ reg = <0x0 0x2000000>;
+ };
+
+ fpi@10000000 {
+ localbus@0 {
+ nor-boot@0 {
+ compatible = "lantiq,nor";
+ bank-width = <2>;
+ reg = <0 0x0 0x2000000>;
+ #address-cells = <1>;
+ #size-cells = <1>;
+
+ 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>;
+ };
+ };
+ };
+ };
+
+ gpio: pinmux@E100B10 {
+ pinctrl-names = "default";
+ pinctrl-0 = <&state_default>;
+
+ state_default: pinmux {
+ stp {
+ lantiq,groups = "stp";
+ lantiq,function = "stp";
+ };
+ exin {
+ lantiq,groups = "exin1";
+ lantiq,function = "exin";
+ };
+ pci {
+ lantiq,groups = "gnt1";
+ lantiq,function = "pci";
+ };
+ conf_out {
+ lantiq,pins = "io4", "io5", "io6"; /* stp */
+ lantiq,open-drain;
+ lantiq,pull = <0>;
+ };
+ };
+ };
+
+ etop@E180000 {
+ phy-mode = "rmii";
+ };
+
+ stp0: stp@E100BB0 {
+ #gpio-cells = <2>;
+ compatible = "lantiq,gpio-stp-xway";
+ gpio-controller;
+ reg = <0xE100BB0 0x40>;
+
+ lantiq,shadow = <0xfff>;
+ lantiq,groups = <0x3>;
+ };
+ };
+};
diff --git a/target/linux/lantiq/files-4.9/arch/mips/boot/dts/EASY80920.dtsi b/target/linux/lantiq/files-4.9/arch/mips/boot/dts/EASY80920.dtsi
new file mode 100644
index 0000000000..b19b9713f6
--- /dev/null
+++ b/target/linux/lantiq/files-4.9/arch/mips/boot/dts/EASY80920.dtsi
@@ -0,0 +1,298 @@
+#include "vr9.dtsi"
+
+#include <dt-bindings/input/input.h>
+
+/ {
+ compatible = "lantiq,easy80920", "lantiq,xway", "lantiq,vr9";
+
+ chosen {
+ bootargs = "console=ttyLTQ0,115200";
+ };
+
+ aliases {
+ led-boot = &power;
+ led-failsafe = &power;
+ led-running = &power;
+
+ led-usb = &usb1;
+ led-usb2 = &usb2;
+ };
+
+ memory@0 {
+ reg = <0x0 0x4000000>;
+ };
+
+ fpi@10000000 {
+ gpio: pinmux@E100B10 {
+ pinctrl-names = "default";
+ pinctrl-0 = <&state_default>;
+
+ state_default: pinmux {
+ exin3 {
+ lantiq,groups = "exin3";
+ lantiq,function = "exin";
+ };
+ stp {
+ lantiq,groups = "stp";
+ lantiq,function = "stp";
+ };
+ nand {
+ lantiq,groups = "nand cle", "nand ale",
+ "nand rd", "nand rdy";
+ lantiq,function = "ebu";
+ };
+ mdio {
+ lantiq,groups = "mdio";
+ lantiq,function = "mdio";
+ };
+ pci {
+ lantiq,groups = "gnt1", "req1";
+ lantiq,function = "pci";
+ };
+ conf_out {
+ lantiq,pins = "io24", "io13", "io49", /* nand cle, ale and rd */
+ "io4", "io5", "io6", /* stp */
+ "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 */
+ "io48"; /* nand rdy */
+ lantiq,pull = <2>;
+ };
+ };
+ pins_spi_default: pins_spi_default {
+ spi_in {
+ lantiq,groups = "spi_di";
+ lantiq,function = "spi";
+ };
+ spi_out {
+ lantiq,groups = "spi_do", "spi_clk",
+ "spi_cs4";
+ lantiq,function = "spi";
+ lantiq,output = <1>;
+ };
+ };
+ };
+
+ stp: stp@E100BB0 {
+ compatible = "lantiq,gpio-stp-xway";
+ reg = <0xE100BB0 0x40>;
+ #gpio-cells = <2>;
+ gpio-controller;
+
+ lantiq,shadow = <0xffff>;
+ lantiq,groups = <0x7>;
+ lantiq,dsl = <0x3>;
+ lantiq,phy1 = <0x7>;
+ lantiq,phy2 = <0x7>;
+ /* lantiq,rising; */
+ };
+
+ ifxhcd@E101000 {
+ status = "okay";
+ gpios = <&gpio 33 GPIO_ACTIVE_HIGH>;
+ lantiq,portmask = <0x3>;
+ };
+ };
+
+ gphy-xrx200 {
+ compatible = "lantiq,phy-xrx200";
+ firmware1 = "lantiq/xrx200_phy11g_a14.bin";
+ firmware2 = "lantiq/xrx200_phy11g_a22.bin";
+ phys = [ 00 01 ];
+ };
+
+ gpio-keys-polled {
+ compatible = "gpio-keys-polled";
+ #address-cells = <1>;
+ #size-cells = <0>;
+ 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>;
+ };
+ };
+
+ gpio-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>;
+ };
+ usb1: usb1 {
+ label = "easy80920:green:usb1";
+ gpios = <&stp 18 GPIO_ACTIVE_HIGH>;
+ };
+ 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>;
+ };
+ };
+};
+
+&spi {
+ pinctrl-names = "default";
+ pinctrl-0 = <&pins_spi_default>;
+
+ status = "ok";
+
+ m25p80@4 {
+ #address-cells = <1>;
+ #size-cells = <1>;
+ compatible = "jedec,spi-nor";
+ reg = <4 0>;
+ 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";
+ };
+ };
+ };
+};
+
+&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@0 {
+ #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";
+ };
+ };
+};
diff --git a/target/linux/lantiq/files-4.9/arch/mips/boot/dts/EASY80920NAND.dts b/target/linux/lantiq/files-4.9/arch/mips/boot/dts/EASY80920NAND.dts
new file mode 100644
index 0000000000..095bd564da
--- /dev/null
+++ b/target/linux/lantiq/files-4.9/arch/mips/boot/dts/EASY80920NAND.dts
@@ -0,0 +1,68 @@
+/dts-v1/;
+
+
+#include "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";
+ };
+
+ fpi@10000000 {
+ localbus@0 {
+ ranges = <0 0 0x4000000 0x3ffffff>;
+ nand-parts@0 {
+ compatible = "lantiq,nand-xway";
+ lantiq,cs = <1>;
+ bank-width = <2>;
+ reg = <0 0x0 0x2000000>;
+ #address-cells = <1>;
+ #size-cells = <1>;
+
+ 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.9/arch/mips/boot/dts/EASY80920NOR.dts b/target/linux/lantiq/files-4.9/arch/mips/boot/dts/EASY80920NOR.dts
new file mode 100644
index 0000000000..e273138d8a
--- /dev/null
+++ b/target/linux/lantiq/files-4.9/arch/mips/boot/dts/EASY80920NOR.dts
@@ -0,0 +1,43 @@
+/dts-v1/;
+
+
+#include "EASY80920.dtsi"
+
+/ {
+ compatible = "lantiq,easy80920-nor", "lantiq,easy80920", "lantiq,xway", "lantiq,vr9";
+ model = "Intel EASY80920 Nor";
+
+ fpi@10000000 {
+ localbus@0 {
+ ranges = <0 0 0x0 0x3ffffff>;
+ nor-boot@0 {
+ compatible = "lantiq,nor";
+ bank-width = <2>;
+ reg = <0 0x0 0x2000000>;
+ #address-cells = <1>;
+ #size-cells = <1>;
+
+ 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.9/arch/mips/boot/dts/EASY88388.dts b/target/linux/lantiq/files-4.9/arch/mips/boot/dts/EASY88388.dts
new file mode 100644
index 0000000000..a9c5b3c24b
--- /dev/null
+++ b/target/linux/lantiq/files-4.9/arch/mips/boot/dts/EASY88388.dts
@@ -0,0 +1,106 @@
+/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
+ };
+
+ gpio-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";
+ };
+ };
+
+ easy88388-leds {
+ compatible = "gpio-leds";
+ pinctrl-names = "default";
+ pinctrl-0 = <&led_pins &bootled_pins>;
+
+ GPON {
+ label = "easy88388:green:gpon";
+ gpios = <&gpio0 11 GPIO_ACTIVE_HIGH>;
+ default-state = "off";
+ };
+ TEST {
+ label = "easy88388:green:test";
+ gpios = <&gpio0 14 GPIO_ACTIVE_HIGH>;
+ default-state = "off";
+ };
+ STATUS {
+ label = "easy88388:green:status";
+ gpios = <&gpio1 5 GPIO_ACTIVE_HIGH>;
+ default-state = "off";
+ };
+ ERROR {
+ label = "easy88388:red:error";
+ gpios = <&gpio1 6 GPIO_ACTIVE_HIGH>;
+ default-state = "off";
+ };
+
+ DSL1 {
+ label = "easy88388:dsl:1";
+ gpios = <&gpio0 12 GPIO_ACTIVE_HIGH>;
+ default-state = "off";
+ };
+ DSL2 {
+ label = "easy88388:dsl:2";
+ gpios = <&gpio0 13 GPIO_ACTIVE_HIGH>;
+ default-state = "off";
+ };
+ DSL3 {
+ label = "easy88388:dsl:3";
+ gpios = <&gpio1 2 GPIO_ACTIVE_HIGH>;
+ default-state = "off";
+ };
+ DSL4 {
+ label = "easy88388:dsl:4";
+ gpios = <&gpio1 3 GPIO_ACTIVE_HIGH>;
+ default-state = "off";
+ };
+ DSL5 {
+ label = "easy88388:dsl:5";
+ gpios = <&gpio1 4 GPIO_ACTIVE_HIGH>;
+ default-state = "off";
+ };
+ DSL6 {
+ label = "easy88388:dsl:6";
+ gpios = <&gpio1 7 GPIO_ACTIVE_HIGH>;
+ default-state = "off";
+ };
+ DSL7 {
+ label = "easy88388:dsl:7";
+ gpios = <&gpio1 8 GPIO_ACTIVE_HIGH>;
+ default-state = "off";
+ };
+ DSL8 {
+ label = "easy88388:dsl:8";
+ gpios = <&gpio1 9 GPIO_ACTIVE_HIGH>;
+ default-state = "off";
+ };
+
+ };
+};
+
diff --git a/target/linux/lantiq/files-4.9/arch/mips/boot/dts/EASY88444.dts b/target/linux/lantiq/files-4.9/arch/mips/boot/dts/EASY88444.dts
new file mode 100644
index 0000000000..ceb81ea13b
--- /dev/null
+++ b/target/linux/lantiq/files-4.9/arch/mips/boot/dts/EASY88444.dts
@@ -0,0 +1,80 @@
+/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
+ };
+
+ gpio-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";
+ };
+ };
+
+ easy88444-leds {
+ compatible = "gpio-leds";
+ pinctrl-names = "default";
+ pinctrl-0 = <&led_pins &bootled_pins>;
+
+ GPON {
+ label = "easy88444:green:gpon";
+ gpios = <&gpio0 11 GPIO_ACTIVE_HIGH>;
+ default-state = "off";
+ };
+ TEST {
+ label = "easy88444:green:test";
+ gpios = <&gpio0 14 GPIO_ACTIVE_HIGH>;
+ default-state = "off";
+ };
+ STATUS {
+ label = "easy88444:green:status";
+ gpios = <&gpio1 5 GPIO_ACTIVE_HIGH>;
+ default-state = "off";
+ };
+
+ GFAST1 {
+ label = "easy88444:gfast:1";
+ gpios = <&gpio0 12 GPIO_ACTIVE_HIGH>;
+ default-state = "off";
+ };
+ GFAST2 {
+ label = "easy88444:gfast:2";
+ gpios = <&gpio0 13 GPIO_ACTIVE_HIGH>;
+ default-state = "off";
+ };
+ GFAST3 {
+ label = "easy88444:gfast:3";
+ gpios = <&gpio1 2 GPIO_ACTIVE_HIGH>;
+ default-state = "off";
+ };
+ GFAST4 {
+ label = "easy88444:gfast:4";
+ gpios = <&gpio1 3 GPIO_ACTIVE_HIGH>;
+ default-state = "off";
+ };
+
+ };
+};
+
diff --git a/target/linux/lantiq/files-4.9/arch/mips/boot/dts/EASY98000-base.dtsi b/target/linux/lantiq/files-4.9/arch/mips/boot/dts/EASY98000-base.dtsi
new file mode 100644
index 0000000000..cfe1140ac1
--- /dev/null
+++ b/target/linux/lantiq/files-4.9/arch/mips/boot/dts/EASY98000-base.dtsi
@@ -0,0 +1,110 @@
+
+#include <dt-bindings/interrupt-controller/irq.h>
+#include <dt-bindings/gpio/gpio.h>
+
+/ {
+ compatible = "lantiq,easy98000", "lantiq,falcon";
+
+ memory@0 {
+ device_type = "memory";
+ reg = <0x0 0x4000000>;
+ };
+
+ easy98000-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@0000000 {
+ 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@1 {
+ 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.9/arch/mips/boot/dts/EASY98000NAND.dts b/target/linux/lantiq/files-4.9/arch/mips/boot/dts/EASY98000NAND.dts
new file mode 100644
index 0000000000..a40cef3931
--- /dev/null
+++ b/target/linux/lantiq/files-4.9/arch/mips/boot/dts/EASY98000NAND.dts
@@ -0,0 +1,40 @@
+/dts-v1/;
+
+#include "falcon.dtsi"
+#include "EASY98000-base.dtsi"
+
+/ {
+ model = "Lantiq Falcon (NAND)";
+ compatible = "lantiq,easy98000-nand", "lantiq,easy98000", "lantiq,falcon";
+
+ aliases {
+ spi0 = &spi;
+ };
+};
+
+&ebu_cs0 {
+ gen_nand@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.9/arch/mips/boot/dts/EASY98000NOR.dts b/target/linux/lantiq/files-4.9/arch/mips/boot/dts/EASY98000NOR.dts
new file mode 100644
index 0000000000..ad53bf96e9
--- /dev/null
+++ b/target/linux/lantiq/files-4.9/arch/mips/boot/dts/EASY98000NOR.dts
@@ -0,0 +1,38 @@
+/dts-v1/;
+
+#include "falcon.dtsi"
+#include "EASY98000-base.dtsi"
+
+/ {
+ model = "Lantiq Falcon (NOR)";
+ compatible = "lantiq,easy98000-nor", "lantiq,easy98000", "lantiq,falcon";
+
+ aliases {
+ spi0 = &spi;
+ };
+};
+
+&ebu_cs0 {
+ cfi@0 {
+ compatible = "lantiq,nor";
+ bank-width = <2>;
+ reg = <0x0 0x4000000>;
+ #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.9/arch/mips/boot/dts/EASY98000SFLASH.dts b/target/linux/lantiq/files-4.9/arch/mips/boot/dts/EASY98000SFLASH.dts
new file mode 100644
index 0000000000..bbe524e94e
--- /dev/null
+++ b/target/linux/lantiq/files-4.9/arch/mips/boot/dts/EASY98000SFLASH.dts
@@ -0,0 +1,16 @@
+/dts-v1/;
+
+#include "falcon.dtsi"
+#include "EASY98000-base.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.9/arch/mips/boot/dts/EASY98020.dts b/target/linux/lantiq/files-4.9/arch/mips/boot/dts/EASY98020.dts
new file mode 100644
index 0000000000..c0970ef48c
--- /dev/null
+++ b/target/linux/lantiq/files-4.9/arch/mips/boot/dts/EASY98020.dts
@@ -0,0 +1,95 @@
+/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
+ };
+
+ gpio-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";
+ };
+ };
+
+ easy98020-leds {
+ compatible = "gpio-leds";
+ pinctrl-names = "default";
+ pinctrl-0 = <&bootled_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";
+ };
+ };
+
+ easy98020-phy-leds {
+ compatible = "gpio-leds";
+ pinctrl-names = "default";
+ pinctrl-0 = <&led_pins>;
+
+ GE0_ACT {
+ label = "easy98020:ge0_act";
+ gpios = <&gpio1 10 GPIO_ACTIVE_HIGH>;
+ default-state = "off";
+ };
+ GE0_LINK {
+ label = "easy98020:ge0_link";
+ gpios = <&gpio1 9 GPIO_ACTIVE_HIGH>;
+ default-state = "off";
+ };
+ GE1_ACT {
+ label = "easy98020:ge1_act";
+ gpios = <&gpio1 6 GPIO_ACTIVE_HIGH>;
+ default-state = "off";
+ };
+ GE1_LINK {
+ label = "easy98020:ge1_link";
+ gpios = <&gpio1 5 GPIO_ACTIVE_HIGH>;
+ default-state = "off";
+ };
+ };
+};
diff --git a/target/linux/lantiq/files-4.9/arch/mips/boot/dts/EASY98020V18.dts b/target/linux/lantiq/files-4.9/arch/mips/boot/dts/EASY98020V18.dts
new file mode 100644
index 0000000000..9aa1be91ed
--- /dev/null
+++ b/target/linux/lantiq/files-4.9/arch/mips/boot/dts/EASY98020V18.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
+ };
+
+ gpio-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";
+ };
+ };
+
+ easy98020-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.9/arch/mips/boot/dts/EASY98021.dts b/target/linux/lantiq/files-4.9/arch/mips/boot/dts/EASY98021.dts
new file mode 100644
index 0000000000..7b2e490fcc
--- /dev/null
+++ b/target/linux/lantiq/files-4.9/arch/mips/boot/dts/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
+ };
+
+ gpio-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";
+ };
+ };
+
+ easy98021-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.9/arch/mips/boot/dts/EASY98035SYNCE.dts b/target/linux/lantiq/files-4.9/arch/mips/boot/dts/EASY98035SYNCE.dts
new file mode 100644
index 0000000000..df941cdb67
--- /dev/null
+++ b/target/linux/lantiq/files-4.9/arch/mips/boot/dts/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.9/arch/mips/boot/dts/EASY98035SYNCE1588.dts b/target/linux/lantiq/files-4.9/arch/mips/boot/dts/EASY98035SYNCE1588.dts
new file mode 100644
index 0000000000..a3abc6e707
--- /dev/null
+++ b/target/linux/lantiq/files-4.9/arch/mips/boot/dts/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.9/arch/mips/boot/dts/FALCON-MDU.dts b/target/linux/lantiq/files-4.9/arch/mips/boot/dts/FALCON-MDU.dts
new file mode 100644
index 0000000000..6710bbe98e
--- /dev/null
+++ b/target/linux/lantiq/files-4.9/arch/mips/boot/dts/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
+ };
+
+ mdu-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.9/arch/mips/boot/dts/FALCON-SFP.dts b/target/linux/lantiq/files-4.9/arch/mips/boot/dts/FALCON-SFP.dts
new file mode 100644
index 0000000000..8d45de4ebe
--- /dev/null
+++ b/target/linux/lantiq/files-4.9/arch/mips/boot/dts/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.9/arch/mips/boot/dts/FRITZ3370.dts b/target/linux/lantiq/files-4.9/arch/mips/boot/dts/FRITZ3370.dts
new file mode 100644
index 0000000000..ef3655de61
--- /dev/null
+++ b/target/linux/lantiq/files-4.9/arch/mips/boot/dts/FRITZ3370.dts
@@ -0,0 +1,288 @@
+/dts-v1/;
+
+#include "vr9.dtsi"
+
+#include <dt-bindings/input/input.h>
+
+/ {
+ compatible = "avm,fritz3370", "lantiq,xway", "lantiq,vr9";
+ model = "Fritz!Box WLAN 3370";
+
+ chosen {
+ bootargs = "console=ttyLTQ0,115200 ubi.mtd=1,512 root=/dev/mtdblock9";
+ };
+
+ aliases {
+ led-boot = &power_green;
+ led-failsafe = &power_red;
+ led-running = &power_green;
+
+ led-dsl = &dsl;
+ led-internet = &info_green;
+ led-wifi = &wifi;
+ };
+
+ memory@0 {
+ reg = <0x0 0x8000000>;
+ };
+
+ fpi@10000000 {
+ localbus@0 {
+ nand-parts@0 {
+ compatible = "lantiq,nand-xway";
+ bank-width = <2>;
+ reg = <1 0x0 0x2000000>;
+ #address-cells = <1>;
+ #size-cells = <1>;
+
+ partitions {
+ compatible = "fixed-partitions";
+ #address-cells = <1>;
+ #size-cells = <1>;
+
+ partition@0 {
+ label = "kernel";
+ reg = <0x0 0x400000>;
+ };
+
+ partition@400000 {
+ label = "rootfs_ubi";
+ reg = <0x400000 0x3000000>;
+ };
+
+ partition@3400000 {
+ label = "vr9_firmware";
+ reg = <0x3400000 0x400000>;
+ };
+ partition@3800000 {
+ label = "reserved";
+ reg = <0x3800000 0x3000000>;
+ };
+ partition@6800000 {
+ label = "config";
+ reg = <0x6800000 0x200000>;
+ };
+ partition@6a00000 {
+ label = "nand-filesystem";
+ reg = <0x6a00000 0x1600000>;
+ };
+ };
+ };
+ };
+
+ gpio: pinmux@E100B10 {
+ pinctrl-names = "default";
+ pinctrl-0 = <&state_default>;
+
+ state_default: pinmux {
+ mdio {
+ lantiq,groups = "mdio";
+ lantiq,function = "mdio";
+ };
+ nand {
+ lantiq,groups = "nand cle", "nand ale",
+ "nand rd", "nand cs1", "nand rdy";
+ lantiq,function = "ebu";
+ lantiq,pull = <1>;
+ };
+ phy-rst {
+ lantiq,pins = "io37", "io44";
+ lantiq,pull = <0>;
+ lantiq,open-drain = <0>;
+ lantiq,output = <1>;
+ };
+ pcie-rst {
+ lantiq,pins = "io38";
+ lantiq,pull = <0>;
+ lantiq,output = <1>;
+ };
+ };
+ pins_spi_default: pins_spi_default {
+ spi_in {
+ lantiq,groups = "spi_di";
+ lantiq,function = "spi";
+ };
+ spi_out {
+ lantiq,groups = "spi_do", "spi_clk",
+ "spi_cs4";
+ lantiq,function = "spi";
+ lantiq,output = <1>;
+ };
+ };
+ };
+
+ ifxhcd@E101000 {
+ status = "okay";
+ gpios = <&gpio 5 GPIO_ACTIVE_HIGH
+ &gpio 14 GPIO_ACTIVE_HIGH>;
+ lantiq,portmask = <0x3>;
+ };
+ };
+
+ gphy-xrx200 {
+ compatible = "lantiq,phy-xrx200";
+ firmware = "lantiq/xrx200_phy11g_a14.bin";
+ phys = [ 00 01 ];
+ };
+
+ gpio-keys-polled {
+ compatible = "gpio-keys-polled";
+ #address-cells = <1>;
+ #size-cells = <0>;
+ poll-interval = <100>;
+ power {
+ label = "power";
+ gpios = <&gpio 1 GPIO_ACTIVE_HIGH>;
+ linux,code = <KEY_POWER>;
+ };
+/* wifi {
+ label = "wifi";
+ gpios = <&gpio 29 GPIO_ACTIVE_HIGH>;
+ linux,code = <BTN_1>;
+ };*/
+ };
+
+ gpio-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>;
+ };
+ };
+};
+
+&spi {
+ pinctrl-names = "default";
+ pinctrl-0 = <&pins_spi_default>;
+
+ status = "ok";
+
+ m25p80@4 {
+ #address-cells = <1>;
+ #size-cells = <1>;
+ compatible = "jedec,spi-nor";
+ reg = <4 0>;
+ spi-max-frequency = <1000000>;
+
+ 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;
+ };
+ };
+};
+
+&eth0 {
+ lan: interface@0 {
+ compatible = "lantiq,xrx200-pdi";
+ #address-cells = <1>;
+ #size-cells = <0>;
+ reg = <0>;
+ mtd-mac-address = <&urlader 0x987>;
+ mtd-mac-address-increment = <(-2)>;
+ 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@3 {
+ compatible = "lantiq,xrx200-pdi-port";
+ reg = <4>;
+ phy-mode = "gmii";
+ phy-handle = <&phy13>;
+ };
+ };
+
+ mdio@0 {
+ #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";
+ };
+ };
+};
+
+&pcie0 {
+ 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 */
+ };
+ };
+};
diff --git a/target/linux/lantiq/files-4.9/arch/mips/boot/dts/FRITZ7320.dts b/target/linux/lantiq/files-4.9/arch/mips/boot/dts/FRITZ7320.dts
new file mode 100644
index 0000000000..34d0df9b3b
--- /dev/null
+++ b/target/linux/lantiq/files-4.9/arch/mips/boot/dts/FRITZ7320.dts
@@ -0,0 +1,161 @@
+/dts-v1/;
+
+#include "ar9.dtsi"
+
+#include <dt-bindings/input/input.h>
+
+/ {
+ compatible = "avm,fritz7320", "lantiq,xway", "lantiq,ar9";
+ model = "1&1 HomeServer";
+
+ chosen {
+ bootargs = "console=ttyLTQ0,115200";
+ };
+
+ aliases {
+ led-boot = &power;
+ led-failsafe = &power;
+ led-running = &power;
+
+ led-internet = &info_green;
+ led-dsl = &power;
+ led-wifi = &wlan;
+ };
+
+ memory@0 {
+ reg = <0x0 0x4000000>;
+ };
+
+ fpi@10000000 {
+ localbus@0 {
+ nor-boot@0 {
+ compatible = "lantiq,nor";
+ bank-width = <2>;
+ reg = <0 0x0 0x1000000>;
+ #address-cells = <1>;
+ #size-cells = <1>;
+
+ 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;
+ };
+ };
+ };
+ };
+
+ gpio: pinmux@E100B10 {
+ pinctrl-names = "default";
+ pinctrl-0 = <&state_default>;
+
+ state_default: pinmux {
+ pci {
+ lantiq,groups = "gnt1", "req1", "req2", "req3", "req4", "gnt2", "gnt3", "gnt4";
+ lantiq,function = "pci";
+ };
+ pci-in {
+ lantiq,groups = "req1", "req2", "req3", "req4";
+ lantiq,output = <0>;
+ lantiq,open-drain = <1>;
+ lantiq,pull = <2>;
+ };
+ pci-out {
+ lantiq,groups = "gnt1", "gnt2", "gnt3", "gnt4";
+ lantiq,output = <1>;
+ lantiq,pull = <0>;
+ };
+ };
+ };
+
+ etop@E180000 {
+ phy-mode = "mii";
+ mtd-mac-address = <&ath9k_cal 0xa91>;
+ mtd-mac-address-increment = <(-2)>;
+ };
+
+ ifxhcd@E101000 {
+ status = "okay";
+ };
+ };
+
+ gpio-keys-polled {
+ compatible = "gpio-keys-polled";
+ #address-cells = <1>;
+ #size-cells = <0>;
+ 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>;
+ };
+ };
+
+ gpio-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>;
+ };
+ };
+};
+
+&pci0 {
+ status = "okay";
+ 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 */
+ };
+};
diff --git a/target/linux/lantiq/files-4.9/arch/mips/boot/dts/FRITZ7360SL.dts b/target/linux/lantiq/files-4.9/arch/mips/boot/dts/FRITZ7360SL.dts
new file mode 100644
index 0000000000..b164871101
--- /dev/null
+++ b/target/linux/lantiq/files-4.9/arch/mips/boot/dts/FRITZ7360SL.dts
@@ -0,0 +1,228 @@
+/dts-v1/;
+
+#include "vr9.dtsi"
+
+#include <dt-bindings/input/input.h>
+
+/ {
+ compatible = "avm,fritz7360sl", "lantiq,xway", "lantiq,vr9";
+ model = "1&1 HomeServer";
+
+ chosen {
+ bootargs = "console=ttyLTQ0,115200";
+ };
+
+ aliases {
+ led-boot = &power_green;
+ led-failsafe = &power_red;
+ led-running = &power_green;
+
+ led-dsl = &info_green;
+ led-wifi = &wifi;
+ };
+
+ memory@0 {
+ reg = <0x0 0x8000000>;
+ };
+
+ fpi@10000000 {
+ localbus@0 {
+ nor-boot@0 {
+ compatible = "lantiq,nor";
+ bank-width = <2>;
+ reg = <0 0x0 0x1000000>;
+ #address-cells = <1>;
+ #size-cells = <1>;
+ partitions {
+ compatible = "fixed-partitions";
+ #address-cells = <1>;
+ #size-cells = <1>;
+ 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;
+ };
+ };
+ };
+ };
+
+ gpio: pinmux@E100B10 {
+ pinctrl-names = "default";
+ pinctrl-0 = <&state_default>;
+
+ state_default: pinmux {
+ mdio {
+ lantiq,groups = "mdio";
+ lantiq,function = "mdio";
+ };
+ phy-rst {
+ lantiq,pins = "io37", "io44";
+ lantiq,pull = <0>;
+ lantiq,open-drain;
+ lantiq,output = <1>;
+ };
+ pcie-rst {
+ lantiq,pins = "io38";
+ lantiq,pull = <0>;
+ lantiq,output = <1>;
+ };
+ };
+ };
+
+ ifxhcd@E101000 {
+ status = "okay";
+ lantiq,portmask = <0x3>;
+ };
+
+ ifxhcd@E106000 {
+ status = "okay";
+ };
+ };
+
+ gphy-xrx200 {
+ compatible = "lantiq,phy-xrx200";
+ firmware = "lantiq/xrx200_phy11g_a22.bin";
+ phys = [ 00 01 ];
+ };
+
+ gpio-keys-polled {
+ compatible = "gpio-keys-polled";
+ #address-cells = <1>;
+ #size-cells = <0>;
+ 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>;
+ };
+ };
+
+ gpio-leds {
+ compatible = "gpio-leds";
+
+ power_green: power {
+ label = "fritz7360sl:green:power";
+ gpios = <&gpio 32 GPIO_ACTIVE_LOW>;
+ default-state = "keep";
+ };
+ power_red: power2 {
+ label = "fritz7360sl:red:power";
+ gpios = <&gpio 33 GPIO_ACTIVE_LOW>;
+ };
+ info_red {
+ label = "fritz7360sl:red:info";
+ gpios = <&gpio 34 GPIO_ACTIVE_LOW>;
+ };
+ info_green: info_green {
+ label = "fritz7360sl:green:info";
+ gpios = <&gpio 47 GPIO_ACTIVE_LOW>;
+ };
+ wifi: wifi {
+ label = "fritz7360sl:green:wlan";
+ gpios = <&gpio 36 GPIO_ACTIVE_LOW>;
+ };
+ dect {
+ label = "fritz7360sl:green: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@0 {
+ #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";
+ };
+ };
+};
+
+&pcie0 {
+ 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 */
+ };
+ };
+};
diff --git a/target/linux/lantiq/files-4.9/arch/mips/boot/dts/GIGASX76X.dts b/target/linux/lantiq/files-4.9/arch/mips/boot/dts/GIGASX76X.dts
new file mode 100644
index 0000000000..99ccbce296
--- /dev/null
+++ b/target/linux/lantiq/files-4.9/arch/mips/boot/dts/GIGASX76X.dts
@@ -0,0 +1,122 @@
+/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 {
+ reg = <0x0 0x2000000>;
+ };
+
+ sram@1F000000 {
+ vmmc@107000 {
+ status = "okay";
+ gpios = <&gpiomm 1 GPIO_ACTIVE_HIGH>;
+ };
+ };
+
+ fpi@10000000 {
+ localbus@0 {
+ nor-boot@0 {
+ compatible = "lantiq,nor";
+ bank-width = <2>;
+ reg = <0 0x0 0x2000000>;
+ #address-cells = <1>;
+ #size-cells = <1>;
+
+ 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: gpiomm@4000000 {
+ compatible = "lantiq,gpio-mm";
+ reg = <1 0x0 0x10 >;
+ #address-cells = <1>;
+ #size-cells = <1>;
+ #gpio-cells = <2>;
+ gpio-controller;
+ lantiq,shadow = <0x3>;
+ };
+ };
+
+ gpio: pinmux@E100B10 {
+ pinctrl-names = "default";
+ pinctrl-0 = <&state_default>;
+
+ state_default: pinmux {
+ stp {
+ lantiq,groups = "stp";
+ lantiq,function = "stp";
+ };
+ };
+ };
+
+ gpios: stp@E100BB0 {
+ status = "okay";
+ };
+
+ etop@E180000 {
+ phy-mode = "rmii";
+ };
+
+ ifxhcd@E101000 {
+ status = "okay";
+ gpios = <&gpio 29 GPIO_ACTIVE_HIGH>;
+ };
+
+ pci@E105400 {
+ status = "okay";
+ gpio-reset = <&gpio 21 GPIO_ACTIVE_HIGH>;
+ };
+ };
+
+ gpio-keys-polled {
+ compatible = "gpio-keys-polled";
+ #address-cells = <1>;
+ #size-cells = <0>;
+ 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>;
+ };
+ };
+};
diff --git a/target/linux/lantiq/files-4.9/arch/mips/boot/dts/H201L.dts b/target/linux/lantiq/files-4.9/arch/mips/boot/dts/H201L.dts
new file mode 100644
index 0000000000..01016f45c9
--- /dev/null
+++ b/target/linux/lantiq/files-4.9/arch/mips/boot/dts/H201L.dts
@@ -0,0 +1,159 @@
+/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-dsl = &dsl;
+ led-internet = &online;
+ led-usb = &usb;
+ led-wifi = &wifi;
+ };
+
+ memory@0 {
+ reg = <0x0 0x2000000>;
+ };
+
+ fpi@10000000 {
+ localbus@0 {
+ nor-boot@0 {
+ compatible = "lantiq,nor";
+ bank-width = <2>;
+ reg = <0 0x0 0x2000000>;
+ #address-cells = <1>;
+ #size-cells = <1>;
+
+ 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>;
+ };
+ };
+ };
+ };
+
+ gpio: pinmux@E100B10 {
+ pinctrl-names = "default";
+ pinctrl-0 = <&state_default>;
+
+ state_default: pinmux {
+ };
+ };
+
+ etop@E180000 {
+ phy-mode = "rgmii";
+ };
+
+ ifxhcd@E101000 {
+ status = "okay";
+ gpios = <&gpio 36 GPIO_ACTIVE_HIGH>;
+ };
+ };
+
+ gpio-keys-polled {
+ compatible = "gpio-keys-polled";
+ #address-cells = <1>;
+ #size-cells = <0>;
+ 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>;
+ };
+ };
+
+ gpio-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>;
+ };
+ 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>;
+ };
+ };
+};
diff --git a/target/linux/lantiq/files-4.9/arch/mips/boot/dts/P2601HNFX.dts b/target/linux/lantiq/files-4.9/arch/mips/boot/dts/P2601HNFX.dts
new file mode 100644
index 0000000000..1b885ad841
--- /dev/null
+++ b/target/linux/lantiq/files-4.9/arch/mips/boot/dts/P2601HNFX.dts
@@ -0,0 +1,190 @@
+/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-dsl = &dsl;
+ led-internet = &online;
+ led-wifi = &wifi;
+ };
+
+ memory@0 {
+ reg = <0x0 0x4000000>;
+ };
+
+ fpi@10000000 {
+ localbus@0 {
+ nor-boot@0 {
+ compatible = "lantiq,nor";
+ bank-width = <2>;
+ reg = <0 0x0 0x2000000>;
+ #address-cells = <1>;
+ #size-cells = <1>;
+
+ 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>;
+ };
+ };
+ };
+ };
+
+ gpio: pinmux@E100B10 {
+ pinctrl-names = "default";
+ pinctrl-0 = <&state_default>;
+
+ state_default: pinmux {
+ stp {
+ lantiq,groups = "stp";
+ lantiq,function = "stp";
+ lantiq,pull = <2>;
+ lantiq,open-drain = <0>;
+ lantiq,output = <1>;
+ };
+ exin {
+ lantiq,groups = "exin1";
+ lantiq,function = "exin";
+ };
+ pci {
+ lantiq,groups = "gnt1";
+ lantiq,function = "pci";
+ };
+ conf_out {
+ lantiq,pins = "io4", "io5", "io6";
+ lantiq,open-drain;
+ lantiq,pull = <0>;
+ };
+ mdio {
+ lantiq,groups = "mdio";
+ lantiq,function = "mdio";
+ };
+ };
+ };
+
+ etop@E180000 {
+ phy-mode = "rmii";
+ };
+
+ ifxhcd@E101000 {
+ status = "okay";
+ gpios = <&gpio 9 GPIO_ACTIVE_HIGH>;
+ };
+
+ stp: stp@E100BB0 {
+ #gpio-cells = <2>;
+ compatible = "lantiq,gpio-stp-xway";
+ gpio-controller;
+ reg = <0xE100BB0 0x40>;
+
+ lantiq,shadow = <0xfff>;
+ lantiq,groups = <0x3>;
+ };
+ };
+
+ gpio-keys-polled {
+ compatible = "gpio-keys-polled";
+ #address-cells = <1>;
+ #size-cells = <0>;
+ 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>;
+ };
+ };
+
+ gpio-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>;
+ };
+ usb {
+ gpio-export,name = "wifi";
+ gpio-export,output = <1>;
+ gpios = <&gpio 9 GPIO_ACTIVE_HIGH>;
+ };
+ };
+};
diff --git a/target/linux/lantiq/files-4.9/arch/mips/boot/dts/P2812HNUF1.dts b/target/linux/lantiq/files-4.9/arch/mips/boot/dts/P2812HNUF1.dts
new file mode 100644
index 0000000000..4a29cd9296
--- /dev/null
+++ b/target/linux/lantiq/files-4.9/arch/mips/boot/dts/P2812HNUF1.dts
@@ -0,0 +1,72 @@
+/dts-v1/;
+
+#include "P2812HNUFX.dtsi"
+
+/ {
+ compatible = "zyxel,p-2812hnu-f1", "zyxel,p-2812hnu", "lantiq,xway", "lantiq,vr9";
+ model = "ZyXEL P-2812HNU-F1";
+
+ aliases {
+ led-usb = &usb1;
+ led-usb2 = &usb2;
+ };
+
+ fpi@10000000 {
+ localbus@0 {
+ nand-parts@0 {
+ compatible = "lantiq,nand-xway";
+ lantiq,cs = <1>;
+ bank-width = <2>;
+ reg = <0 0x0 0x2000000>;
+ #address-cells = <1>;
+ #size-cells = <1>;
+
+ 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 0x200000>;
+ };
+ partition@260000 {
+ label = "ubi";
+ reg = <0x260000 0x7da0000>;
+ };
+ };
+ };
+ };
+
+ pcie@d900000 {
+ status = "disabled";
+ };
+ };
+
+ gpio-leds {
+ usb1: usb1 {
+ label = "p2812hnuf1:green:usb1";
+ gpios = <&gpio 38 GPIO_ACTIVE_LOW>;
+ };
+ usb2: usb2 {
+ label = "p2812hnuf1:green:usb2";
+ gpios = <&gpio 44 GPIO_ACTIVE_LOW>;
+ };
+ };
+};
+
+&pci0 {
+ wifi@1814,3062 {
+ compatible = "pci1814,3062";
+ reg = <0x7000 0 0 0 0>;
+ ralink,eeprom = "RT3062.eeprom";
+ };
+};
diff --git a/target/linux/lantiq/files-4.9/arch/mips/boot/dts/P2812HNUF3.dts b/target/linux/lantiq/files-4.9/arch/mips/boot/dts/P2812HNUF3.dts
new file mode 100644
index 0000000000..d37ad0a8e5
--- /dev/null
+++ b/target/linux/lantiq/files-4.9/arch/mips/boot/dts/P2812HNUF3.dts
@@ -0,0 +1,66 @@
+/dts-v1/;
+
+#include "P2812HNUFX.dtsi"
+
+/ {
+ compatible = "zyxel,p-2812hnu-f3", "zyxel,p-2812hnu", "lantiq,xway", "lantiq,vr9";
+ model = "ZyXEL P-2812HNU-F3";
+
+ fpi@10000000 {
+ localbus@0 {
+ nor-boot@0 {
+ compatible = "lantiq,nor";
+ bank-width = <2>;
+ reg = <0 0x0 0x800000>;
+ #address-cells = <1>;
+ #size-cells = <1>;
+
+ 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>;
+ };
+ };
+ };
+
+ nand-parts@0 {
+ 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>;
+ };
+ };
+ };
+ };
+};
+
+&pci0 {
+ wifi@1814,3092 {
+ compatible = "pci1814,3092";
+ reg = <0x7000 0 0 0 0>;
+ ralink,eeprom = "RT3092.eeprom";
+ };
+};
diff --git a/target/linux/lantiq/files-4.9/arch/mips/boot/dts/P2812HNUFX.dtsi b/target/linux/lantiq/files-4.9/arch/mips/boot/dts/P2812HNUFX.dtsi
new file mode 100644
index 0000000000..ec3bd1033d
--- /dev/null
+++ b/target/linux/lantiq/files-4.9/arch/mips/boot/dts/P2812HNUFX.dtsi
@@ -0,0 +1,280 @@
+#include "vr9.dtsi"
+
+#include <dt-bindings/input/input.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-dsl = &dsl_green;
+ led-internet = &internet_green;
+ led-wifi = &wireless_green;
+ };
+
+ memory@0 {
+ reg = <0x0 0x8000000>;
+ };
+
+ fpi@10000000 {
+ gpio: pinmux@E100B10 {
+ pinctrl-names = "default";
+ pinctrl-0 = <&state_default>;
+
+ state_default: pinmux {
+ exin3 {
+ lantiq,groups = "exin3";
+ lantiq,function = "exin";
+ };
+ mdio {
+ lantiq,groups = "mdio";
+ lantiq,function = "mdio";
+ };
+ gphy-leds {
+ lantiq,groups = "gphy0 led1", "gphy1 led1",
+ "gphy0 led2", "gphy1 led2";
+ lantiq,function = "gphy";
+ lantiq,pull = <2>;
+ lantiq,open-drain = <0>;
+ lantiq,output = <1>;
+ };
+ stp {
+ lantiq,groups = "stp";
+ lantiq,function = "stp";
+ lantiq,pull = <2>;
+ lantiq,open-drain = <0>;
+ lantiq,output = <1>;
+ };
+ pci-in {
+ lantiq,groups = "req1";
+ lantiq,function = "pci";
+ lantiq,output = <0>;
+ lantiq,open-drain = <1>;
+ lantiq,pull = <2>;
+ };
+ pci-out {
+ lantiq,groups = "gnt1";
+ lantiq,function = "pci";
+ lantiq,output = <1>;
+ lantiq,open-drain = <0>;
+ lantiq,pull = <0>;
+ };
+ 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>;
+ };
+ nand_out {
+ lantiq,groups = "nand cle", "nand ale";
+ lantiq,function = "ebu";
+ lantiq,output = <1>;
+ lantiq,open-drain = <0>;
+ lantiq,pull = <0>;
+ };
+ nand_cs1 {
+ lantiq,groups = "nand cs1";
+ lantiq,function = "ebu";
+ lantiq,open-drain = <0>;
+ lantiq,pull = <0>;
+ };
+ };
+ };
+
+ stp: stp@E100BB0 {
+ compatible = "lantiq,gpio-stp-xway";
+ reg = <0xE100BB0 0x40>;
+ #gpio-cells = <2>;
+ gpio-controller;
+
+ lantiq,shadow = <0xffffff>;
+ lantiq,groups = <0x7>;
+ lantiq,dsl = <0x0>;
+ lantiq,phy1 = <0x0>;
+ lantiq,phy2 = <0x0>;
+ };
+
+ ifxhcd@E101000 {
+ status = "okay";
+ gpios = <&gpio 33 GPIO_ACTIVE_HIGH>;
+ lantiq,portmask = <0x3>;
+ };
+
+ ifxhcd@E106000 {
+ status = "okay";
+ gpios = <&gpio 33 GPIO_ACTIVE_HIGH>;
+ };
+
+ pci@E105400 {
+ status = "okay";
+ gpio-reset = <&gpio 21 GPIO_ACTIVE_HIGH>;
+ };
+ };
+
+ gphy-xrx200 {
+ compatible = "lantiq,phy-xrx200";
+ firmware1 = "lantiq/xrx200_phy11g_a14.bin"; /*VR9 1.1*/
+ firmware2 = "lantiq/xrx200_phy11g_a22.bin"; /*VR9 1.2*/
+ phys = [ 00 01 ];
+ };
+
+ gpio-keys-polled {
+ compatible = "gpio-keys-polled";
+ #address-cells = <1>;
+ #size-cells = <0>;
+ 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>;
+ };
+ };
+
+ gpio-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>;
+ };
+ };
+};
+
+&eth0 {
+ 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@0 {
+ #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";
+ };
+ };
+};
diff --git a/target/linux/lantiq/files-4.9/arch/mips/boot/dts/TDW8970.dts b/target/linux/lantiq/files-4.9/arch/mips/boot/dts/TDW8970.dts
new file mode 100644
index 0000000000..25eb3dac67
--- /dev/null
+++ b/target/linux/lantiq/files-4.9/arch/mips/boot/dts/TDW8970.dts
@@ -0,0 +1,8 @@
+/dts-v1/;
+
+#include "TDW89X0.dtsi"
+
+/ {
+ compatible = "tplink,tdw8970", "tplink,tdw89x0", "lantiq,xway", "lantiq,vr9";
+ model = "TP-LINK TD-W8970";
+};
diff --git a/target/linux/lantiq/files-4.9/arch/mips/boot/dts/TDW8980.dts b/target/linux/lantiq/files-4.9/arch/mips/boot/dts/TDW8980.dts
new file mode 100644
index 0000000000..def34b55bb
--- /dev/null
+++ b/target/linux/lantiq/files-4.9/arch/mips/boot/dts/TDW8980.dts
@@ -0,0 +1,35 @@
+/dts-v1/;
+
+#include "TDW89X0.dtsi"
+
+/ {
+ compatible = "tplink,tdw8980", "tplink,tdw89x0", "lantiq,xway", "lantiq,vr9";
+ model = "TP-LINK TD-W8980";
+
+ fpi@10000000 {
+ gpio: pinmux@E100B10 {
+ state_default: pinmux {
+ pci_rst {
+ lantiq,pins = "io21";
+ lantiq,output = <1>;
+ lantiq,open-drain;
+ };
+ };
+ };
+
+ pci@E105400 {
+ 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>;
+ };
+ };
+
+ gpio-leds {
+ wifi2 {
+ label = "tdw8980:green:wlan5ghz";
+ gpios = <&gpio 24 GPIO_ACTIVE_LOW>;
+ };
+ };
+};
diff --git a/target/linux/lantiq/files-4.9/arch/mips/boot/dts/TDW89X0.dtsi b/target/linux/lantiq/files-4.9/arch/mips/boot/dts/TDW89X0.dtsi
new file mode 100644
index 0000000000..a629d92e4f
--- /dev/null
+++ b/target/linux/lantiq/files-4.9/arch/mips/boot/dts/TDW89X0.dtsi
@@ -0,0 +1,274 @@
+#include "vr9.dtsi"
+
+#include <dt-bindings/input/input.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 = &usb0;
+ led-usb2 = &usb2;
+ };
+
+ memory@0 {
+ reg = <0x0 0x4000000>;
+ };
+
+ fpi@10000000 {
+ gpio: pinmux@E100B10 {
+ pinctrl-names = "default";
+ pinctrl-0 = <&state_default>;
+
+ state_default: pinmux {
+ mdio {
+ lantiq,groups = "mdio";
+ lantiq,function = "mdio";
+ };
+ gphy-leds {
+ lantiq,groups = "gphy0 led1", "gphy1 led1";
+ lantiq,function = "gphy";
+ lantiq,pull = <2>;
+ lantiq,open-drain = <0>;
+ lantiq,output = <1>;
+ };
+ 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>;
+ };
+ };
+ pins_spi_default: pins_spi_default {
+ spi_in {
+ lantiq,groups = "spi_di";
+ lantiq,function = "spi";
+ };
+ spi_out {
+ lantiq,groups = "spi_do", "spi_clk",
+ "spi_cs4";
+ lantiq,function = "spi";
+ lantiq,output = <1>;
+ };
+ };
+ };
+
+ ifxhcd@E101000 {
+ status = "okay";
+ gpios = <&gpio 33 GPIO_ACTIVE_HIGH>;
+ lantiq,portmask = <0x3>;
+ };
+
+ ifxhcd@E106000 {
+ status = "okay";
+ gpios = <&gpio 33 GPIO_ACTIVE_HIGH>;
+ };
+ };
+
+ gphy-xrx200 {
+ compatible = "lantiq,phy-xrx200";
+ firmware = "lantiq/xrx200_phy11g_a22.bin";
+ phys = [ 00 01 ];
+ };
+
+ gpio-keys-polled {
+ compatible = "gpio-keys-polled";
+ #address-cells = <1>;
+ #size-cells = <0>;
+ 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>;
+ };
+ usb0: usb0 {
+ label = "tdw89x0:green:usb";
+ gpios = <&gpio 19 GPIO_ACTIVE_HIGH>;
+ };
+ 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>;
+ };
+ };
+};
+
+&spi {
+ pinctrl-names = "default";
+ pinctrl-0 = <&pins_spi_default>;
+
+ status = "ok";
+
+ m25p80@4 {
+ #address-cells = <1>;
+ #size-cells = <1>;
+ compatible = "jedec,spi-nor";
+ reg = <4 0>;
+ 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;
+ };
+ };
+ };
+};
+
+&eth0 {
+ 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@0 {
+ #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";
+ };
+ };
+};
+
+&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>;
+ };
+ };
+};
diff --git a/target/linux/lantiq/files-4.9/arch/mips/boot/dts/VG3503J.dts b/target/linux/lantiq/files-4.9/arch/mips/boot/dts/VG3503J.dts
new file mode 100644
index 0000000000..8a73de9a26
--- /dev/null
+++ b/target/linux/lantiq/files-4.9/arch/mips/boot/dts/VG3503J.dts
@@ -0,0 +1,163 @@
+/dts-v1/;
+
+#include "vr9.dtsi"
+
+#include <dt-bindings/input/input.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-dsl = &dsl;
+ };
+
+ memory@0 {
+ reg = <0x0 0x2000000>;
+ };
+
+ fpi@10000000 {
+ localbus@0 {
+ ranges = <0 0 0x0 0x3ffffff>;
+ nor-boot@0 {
+ compatible = "lantiq,nor";
+ bank-width = <2>;
+ reg = <0 0x0 0x2000000>;
+ #address-cells = <1>;
+ #size-cells = <1>;
+
+ 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>;
+ };
+ };
+ };
+ };
+
+ gpio: pinmux@E100B10 {
+ pinctrl-names = "default";
+ pinctrl-0 = <&state_default>;
+
+ state_default: pinmux {
+ mdio {
+ lantiq,groups = "mdio";
+ lantiq,function = "mdio";
+ };
+ gphy-leds {
+ lantiq,groups = "gphy0 led0", "gphy0 led1",
+ "gphy0 led2", "gphy1 led0",
+ "gphy1 led1", "gphy1 led2";
+ lantiq,function = "gphy";
+ lantiq,pull = <2>;
+ lantiq,open-drain = <0>;
+ lantiq,output = <1>;
+ };
+ };
+ };
+ };
+
+ gphy-xrx200 {
+ compatible = "lantiq,phy-xrx200";
+ firmware1 = "lantiq/xrx200_phy11g_a14.bin"; /*VR9 1.1*/
+ firmware2 = "lantiq/xrx200_phy11g_a22.bin"; /*VR9 1.2*/
+ phys = [ 00 01 ];
+ };
+
+ gpio-keys-polled {
+ compatible = "gpio-keys-polled";
+ #address-cells = <1>;
+ #size-cells = <0>;
+ poll-interval = <100>;
+ reset {
+ label = "reset";
+ gpios = <&gpio 6 GPIO_ACTIVE_LOW>;
+ linux,code = <KEY_RESTART>;
+ };
+ };
+
+ gpio-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 {
+ 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@0 {
+ #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>;
+ };
+ };
+};
diff --git a/target/linux/lantiq/files-4.9/arch/mips/boot/dts/VGV7510KW22.dtsi b/target/linux/lantiq/files-4.9/arch/mips/boot/dts/VGV7510KW22.dtsi
new file mode 100644
index 0000000000..fb4486aca2
--- /dev/null
+++ b/target/linux/lantiq/files-4.9/arch/mips/boot/dts/VGV7510KW22.dtsi
@@ -0,0 +1,253 @@
+#include "vr9.dtsi"
+
+#include <dt-bindings/input/input.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-dsl = &dsl;
+ led-internet = &internet_green;
+ led-wifi = &wifi;
+ };
+
+ sram@1F000000 {
+ vmmc@107000 {
+ status = "okay";
+ gpios = <&gpio 30 GPIO_ACTIVE_HIGH //fxs relay
+ &gpio 31 GPIO_ACTIVE_HIGH //still unknown
+ &gpio 3 GPIO_ACTIVE_HIGH>; //reset_slic?
+ };
+ };
+
+ memory@0 {
+ reg = <0x0 0x4000000>;
+ };
+
+ fpi@10000000 {
+ localbus@0 {
+ nor-boot@0 {
+ compatible = "lantiq,nor";
+ bank-width = <2>;
+ reg = <0 0x0 0x1000000>;
+ #address-cells = <1>;
+ #size-cells = <1>;
+
+ partitions {
+ compatible = "fixed-partitions";
+ #address-cells = <1>;
+ #size-cells = <1>;
+
+ boardconfig: partition@fe0000 {
+ label = "board_config";
+ reg = <0xfe0000 0x20000>;
+ read-only;
+ };
+ };
+ };
+ };
+
+ gpio: pinmux@E100B10 {
+ pinctrl-names = "default";
+ pinctrl-0 = <&state_default>;
+
+ state_default: pinmux {
+ gphy-leds {
+ lantiq,groups = "gphy0 led0", "gphy0 led1",
+ "gphy1 led0", "gphy1 led1";
+ lantiq,function = "gphy";
+ lantiq,open-drain = <0>;
+ lantiq,pull = <2>;
+ lantiq,output = <1>;
+ };
+ mdio {
+ lantiq,groups = "mdio";
+ lantiq,function = "mdio";
+ };
+ pci-rst {
+ lantiq,pins = "io21";
+ lantiq,open-drain = <0>;
+ lantiq,pull = <0>;
+ lantiq,output = <1>;
+ };
+ };
+ };
+
+ ifxhcd@E101000 {
+ status = "okay";
+ gpios = <&gpio 47 GPIO_ACTIVE_HIGH>;
+ };
+
+ pcie@d900000 {
+ status = "disabled";
+ };
+ };
+
+ gphy-xrx200 {
+ compatible = "lantiq,phy-xrx200";
+ firmware1 = "lantiq/xrx200_phy22f_a14.bin"; /*VR9 1.1*/
+ firmware2 = "lantiq/xrx200_phy22f_a22.bin"; /*VR9 1.2*/
+ phys = [ 00 01 ];
+ };
+
+ gpio-keys-polled {
+ compatible = "gpio-keys-polled";
+ #address-cells = <1>;
+ #size-cells = <0>;
+ 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>;
+ };
+ };
+
+ gpio-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>;
+ };
+ };
+};
+
+&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>;
+ };
+};
+
+&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 = "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@0 {
+ #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";
+ };
+ };
+};
diff --git a/target/linux/lantiq/files-4.9/arch/mips/boot/dts/VGV7510KW22BRN.dts b/target/linux/lantiq/files-4.9/arch/mips/boot/dts/VGV7510KW22BRN.dts
new file mode 100644
index 0000000000..d0be62f632
--- /dev/null
+++ b/target/linux/lantiq/files-4.9/arch/mips/boot/dts/VGV7510KW22BRN.dts
@@ -0,0 +1,67 @@
+/dts-v1/;
+
+#include "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>;
+ };
+ };
+
+ fpi@10000000 {
+ localbus@0 {
+ nor-boot@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.9/arch/mips/boot/dts/VGV7510KW22NOR.dts b/target/linux/lantiq/files-4.9/arch/mips/boot/dts/VGV7510KW22NOR.dts
new file mode 100644
index 0000000000..1d21e14f0a
--- /dev/null
+++ b/target/linux/lantiq/files-4.9/arch/mips/boot/dts/VGV7510KW22NOR.dts
@@ -0,0 +1,33 @@
+/dts-v1/;
+
+#include "VGV7510KW22.dtsi"
+
+/ {
+ compatible = "arcadyan,vgv7510kw22-nor", "arcadyan,vgv7510kw22", "lantiq,xway", "lantiq,vr9";
+ model = "o2 Box 6431";
+
+ fpi@10000000 {
+ localbus@0 {
+ nor-boot@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.9/arch/mips/boot/dts/VGV7519.dtsi b/target/linux/lantiq/files-4.9/arch/mips/boot/dts/VGV7519.dtsi
new file mode 100644
index 0000000000..e807b52715
--- /dev/null
+++ b/target/linux/lantiq/files-4.9/arch/mips/boot/dts/VGV7519.dtsi
@@ -0,0 +1,298 @@
+#include "vr9.dtsi"
+
+#include <dt-bindings/input/input.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-dsl = &broadband_green;
+ led-internet = &internet_green;
+ led-wifi = &wireless_green;
+ };
+
+ sram@1F000000 {
+ vmmc@107000 {
+ status = "okay";
+ gpios = <&gpio 30 GPIO_ACTIVE_HIGH //fxs relay
+ &gpio 31 GPIO_ACTIVE_HIGH //still unknown
+ &gpio 3 GPIO_ACTIVE_HIGH>; //reset_slic?
+ };
+ };
+
+ memory@0 {
+ reg = <0x0 0x4000000>;
+ };
+
+ fpi@10000000 {
+ localbus@0 {
+ nor-boot@0 {
+ compatible = "lantiq,nor";
+ bank-width = <2>;
+ reg = <0 0x0 0x800000>, <1 0x800000 0x800000>;
+ #address-cells = <1>;
+ #size-cells = <1>;
+
+ partitions {
+ compatible = "fixed-partitions";
+ #address-cells = <1>;
+ #size-cells = <1>;
+
+ boardconfig: partition@40000 {
+ label = "board_config";
+ reg = <0x40000 0x10000>;
+ read-only;
+ };
+ };
+ };
+ };
+
+ gpio: pinmux@E100B10 {
+ pinctrl-names = "default";
+ pinctrl-0 = <&state_default>;
+
+ state_default: pinmux {
+ stp {
+ lantiq,groups = "stp";
+ lantiq,function = "stp";
+ lantiq,open-drain = <0>;
+ lantiq,output = <1>;
+ lantiq,pull = <0>;
+ };
+ mdio {
+ lantiq,groups = "mdio";
+ lantiq,function = "mdio";
+ };
+ pci-rst {
+ lantiq,pins = "io21";
+ lantiq,open-drain = <0>;
+ lantiq,pull = <0>;
+ lantiq,output = <1>;
+ };
+ gphy-leds {
+ lantiq,groups = "gphy0 led1", "gphy1 led0";
+ lantiq,function = "gphy";
+ lantiq,open-drain = <0>;
+ lantiq,pull = <0>;
+ lantiq,output = <1>;
+ };
+ };
+ };
+
+ stp: stp@E100BB0 {
+ compatible = "lantiq,gpio-stp-xway";
+ reg = <0xE100BB0 0x40>;
+ #gpio-cells = <2>;
+ gpio-controller;
+
+ lantiq,shadow = <0xffff>;
+ lantiq,groups = <0x3>;
+ lantiq,dsl = <0x0>;
+ lantiq,phy1 = <0x0>;
+ lantiq,phy2 = <0x0>;
+ /* lantiq,rising; */
+ };
+
+ ifxhcd@E101000 {
+ status = "okay";
+ gpios = <&gpio 32 GPIO_ACTIVE_HIGH>;
+ lantiq,portmask = <0x3>;
+ };
+
+ ifxhcd@E106000 {
+ status = "okay";
+ gpios = <&gpio 32 GPIO_ACTIVE_HIGH>;
+ };
+
+ pcie@d900000 {
+ status = "disabled";
+ };
+ };
+
+ gphy-xrx200 {
+ compatible = "lantiq,phy-xrx200";
+ firmware1 = "lantiq/xrx200_phy11g_a14.bin"; /*VR9 1.1*/
+ firmware2 = "lantiq/xrx200_phy11g_a22.bin"; /*VR9 1.2*/
+ phys = [ 00 01 ];
+ };
+
+ gpio-keys-polled {
+ compatible = "gpio-keys-polled";
+ #address-cells = <1>;
+ #size-cells = <0>;
+ 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>;
+ };
+ };
+
+ gpio-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>;
+ };
+ };
+};
+
+&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>;
+ };
+};
+
+&eth0 {
+ 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@0 {
+ #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";
+ };
+ };
+};
diff --git a/target/linux/lantiq/files-4.9/arch/mips/boot/dts/VGV7519BRN.dts b/target/linux/lantiq/files-4.9/arch/mips/boot/dts/VGV7519BRN.dts
new file mode 100644
index 0000000000..f30d2f920e
--- /dev/null
+++ b/target/linux/lantiq/files-4.9/arch/mips/boot/dts/VGV7519BRN.dts
@@ -0,0 +1,73 @@
+/dts-v1/;
+
+
+#include "VGV7519.dtsi"
+
+/ {
+ compatible = "arcadyan,vgv7519-brn", "arcadyan,vgv7519", "lantiq,xway", "lantiq,vr9";
+ model = "KPN Experiabox V8";
+
+ fpi@10000000 {
+ localbus@0 {
+ nor-boot@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.9/arch/mips/boot/dts/VGV7519NOR.dts b/target/linux/lantiq/files-4.9/arch/mips/boot/dts/VGV7519NOR.dts
new file mode 100644
index 0000000000..ec548fbe72
--- /dev/null
+++ b/target/linux/lantiq/files-4.9/arch/mips/boot/dts/VGV7519NOR.dts
@@ -0,0 +1,32 @@
+/dts-v1/;
+
+
+#include "VGV7519.dtsi"
+
+/ {
+ compatible = "arcadyan,vgv7519-nor", "arcadyan,vgv7519", "lantiq,xway", "lantiq,vr9";
+ model = "KPN Experiabox V8";
+
+ fpi@10000000 {
+ localbus@0 {
+ nor-boot@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.9/arch/mips/boot/dts/VR200v.dts b/target/linux/lantiq/files-4.9/arch/mips/boot/dts/VR200v.dts
new file mode 100644
index 0000000000..6eccc5bdd9
--- /dev/null
+++ b/target/linux/lantiq/files-4.9/arch/mips/boot/dts/VR200v.dts
@@ -0,0 +1,283 @@
+/dts-v1/;
+
+#include "vr9.dtsi"
+
+#include <dt-bindings/input/input.h>
+
+/ {
+ compatible = "tplink,vr200v", "lantiq,xway", "lantiq,vr9";
+ model = "TP-LINK Archer VR200v";
+
+ chosen {
+ bootargs = "console=ttyLTQ0,115200";
+ };
+
+ aliases {
+ led-boot = &power;
+ led-failsafe = &power;
+
+ led-dsl = &dsl;
+ led-internet = &internet;
+ led-usb = &usb;
+ led-usb2 = &usb;
+ };
+
+ memory@0 {
+ reg = <0x0 0x7f00000>;
+ };
+
+ fpi@10000000 {
+ gpio: pinmux@E100B10 {
+ pinctrl-names = "default";
+ pinctrl-0 = <&state_default>;
+
+ state_default: pinmux {
+ mdio {
+ lantiq,groups = "mdio";
+ lantiq,function = "mdio";
+ };
+ gphy-leds {
+ lantiq,groups = "gphy0 led1", "gphy1 led1";
+ lantiq,function = "gphy";
+ lantiq,pull = <2>;
+ lantiq,open-drain = <0>;
+ lantiq,output = <1>;
+ };
+ 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>;
+ };
+ };
+ pins_spi_default: pins_spi_default {
+ spi_in {
+ lantiq,groups = "spi_di";
+ lantiq,function = "spi";
+ };
+ spi_out {
+ lantiq,groups = "spi_do", "spi_clk",
+ "spi_cs4";
+ lantiq,function = "spi";
+ lantiq,output = <1>;
+ };
+ };
+ };
+
+ ifxhcd@E101000 {
+ status = "okay";
+ gpios = <&gpio 33 GPIO_ACTIVE_HIGH>;
+ lantiq,portmask = <0x3>;
+ };
+
+ ifxhcd@E106000 {
+ status = "okay";
+ gpios = <&gpio 33 GPIO_ACTIVE_HIGH>;
+ };
+
+ pci0: pci@E105400 {
+ status = "okay";
+ gpio-reset = <&gpio 21 GPIO_ACTIVE_HIGH>;
+ };
+ };
+
+ gphy-xrx200 {
+ compatible = "lantiq,phy-xrx200";
+ firmware = "lantiq/xrx200_phy11g_a22.bin";
+ phys = [ 00 01 ];
+ };
+
+ gpio-keys-polled {
+ compatible = "gpio-keys-polled";
+ #address-cells = <1>;
+ #size-cells = <0>;
+ 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>;
+ };
+ };
+
+ gpio-leds {
+ compatible = "gpio-leds";
+ power: power {
+ label = "vr200v:blue:power";
+ gpios = <&gpio 46 GPIO_ACTIVE_LOW>;
+ };
+ dsl: dsl {
+ label = "vr200v:blue:dsl";
+ gpios = <&gpio 4 GPIO_ACTIVE_LOW>;
+ };
+ internet: internet {
+ label = "vr200v:blue:internet";
+ gpios = <&gpio 5 GPIO_ACTIVE_LOW>;
+ };
+ 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 {
+ label = "vr200v:blue:wlan5g";
+ gpios = <&gpio 20 GPIO_ACTIVE_LOW>;
+ };
+ phone {
+ label = "vr200v:blue:phone";
+ gpios = <&gpio 44 GPIO_ACTIVE_LOW>;
+ };
+ };
+};
+
+&spi {
+ pinctrl-names = "default";
+ pinctrl-0 = <&pins_spi_default>;
+
+ status = "ok";
+
+ m25p80@4 {
+ #address-cells = <1>;
+ #size-cells = <1>;
+ compatible = "jedec,spi-nor";
+ reg = <4 0>;
+ 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;
+ };
+
+ partition@ff0000 {
+ reg = <0xff0000 0x10000>;
+ label = "radio";
+ read-only;
+ };
+ };
+ };
+};
+
+&eth0 {
+ 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@0 {
+ #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";
+ };
+ };
+};
diff --git a/target/linux/lantiq/files-4.9/arch/mips/boot/dts/WBMR.dts b/target/linux/lantiq/files-4.9/arch/mips/boot/dts/WBMR.dts
new file mode 100644
index 0000000000..fab99d00e7
--- /dev/null
+++ b/target/linux/lantiq/files-4.9/arch/mips/boot/dts/WBMR.dts
@@ -0,0 +1,185 @@
+/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-dsl = &dsl;
+ led-internet = &online_green;
+ led-usb = &usb;
+ led-wifi = &wifi;
+ };
+
+ memory@0 {
+ reg = <0x0 0x4000000>;
+ };
+
+ fpi@10000000 {
+ localbus@0 {
+ nor-boot@0 {
+ compatible = "lantiq,nor";
+ bank-width = <2>;
+ reg = <0 0x0 0x2000000>;
+ #address-cells = <1>;
+ #size-cells = <1>;
+
+ 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;
+ };
+ };
+ };
+ };
+
+ gpio: pinmux@E100B10 {
+ 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>;
+ };
+ };
+ };
+
+ etop@E180000 {
+ phy-mode = "rgmii";
+ mtd-mac-address = <&boardconfig 0x10024>;
+ };
+
+ ifxhcd@E101000 {
+ status = "okay";
+ gpios = <&gpio 36 GPIO_ACTIVE_HIGH>;
+ };
+
+ pci@E105400 {
+ status = "okay";
+ };
+ };
+
+ gpio-keys-polled {
+ compatible = "gpio-keys-polled";
+ #address-cells = <1>;
+ #size-cells = <0>;
+ 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>;
+ };
+ };
+
+ gpio-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>;
+ };
+ usb: usb {
+ label = "wbmr:green:usb";
+ gpios = <&gpio 28 GPIO_ACTIVE_LOW>;
+ default-state = "on";
+ };
+ };
+};
diff --git a/target/linux/lantiq/files-4.9/arch/mips/boot/dts/WBMR300.dts b/target/linux/lantiq/files-4.9/arch/mips/boot/dts/WBMR300.dts
new file mode 100644
index 0000000000..2ecfe4bc92
--- /dev/null
+++ b/target/linux/lantiq/files-4.9/arch/mips/boot/dts/WBMR300.dts
@@ -0,0 +1,306 @@
+/dts-v1/;
+
+#include "vr9.dtsi"
+
+#include <dt-bindings/input/input.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-dsl = &dsl;
+ led-internet = &router_g;
+ led-wifi = &wifi_g;
+ };
+
+ memory@0 {
+ reg = <0x0 0x4000000>;
+ };
+
+ fpi@10000000 {
+ gpio: pinmux@E100B10 {
+ pinctrl-names = "default";
+ pinctrl-0 = <&state_default>;
+
+ state_default: pinmux {
+ mdio {
+ lantiq,groups = "mdio";
+ lantiq,function = "mdio";
+ };
+ 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>;
+ };
+ };
+ pins_spi_default: pins_spi_default {
+ spi_in {
+ lantiq,groups = "spi_di";
+ lantiq,function = "spi";
+ };
+ spi_out {
+ lantiq,groups = "spi_do", "spi_clk",
+ "spi_cs4";
+ lantiq,function = "spi";
+ lantiq,output = <1>;
+ };
+ };
+ };
+
+ ifxhcd@E101000 {
+ status = "okay";
+ gpios = <&gpio 33 GPIO_ACTIVE_HIGH>;
+ lantiq,portmask = <0x3>;
+ };
+
+ ifxhcd@E106000 {
+ status = "okay";
+ gpios = <&gpio 33 GPIO_ACTIVE_HIGH>;
+ };
+ };
+
+ gphy-xrx200 {
+ compatible = "lantiq,phy-xrx200";
+ firmware = "lantiq/xrx200_phy22f_a22.bin";
+ phys = [ 00 01 ];
+ };
+
+ gpio_poweroff {
+ compatible = "gpio-poweroff";
+ gpios = <&gpio 6 GPIO_ACTIVE_LOW>;
+ };
+
+ gpio-keys-polled {
+ compatible = "gpio-keys-polled";
+ #address-cells = <1>;
+ #size-cells = <0>;
+ 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>;
+ };
+ };
+
+ gpio-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>;
+ };
+ };
+};
+
+&spi {
+ pinctrl-names = "default";
+ pinctrl-0 = <&pins_spi_default>;
+
+ status = "ok";
+ m25p80@4 {
+ #address-cells = <1>;
+ #size-cells = <1>;
+ compatible = "jedec,spi-nor";
+ reg = <4 0>;
+ spi-max-frequency = <20000000>;
+
+ 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;
+ };
+ };
+};
+
+&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@0 {
+ #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";
+ };
+ };
+};
diff --git a/target/linux/lantiq/files-4.9/arch/mips/boot/dts/amazonse.dtsi b/target/linux/lantiq/files-4.9/arch/mips/boot/dts/amazonse.dtsi
new file mode 100644
index 0000000000..e6925a3adf
--- /dev/null
+++ b/target/linux/lantiq/files-4.9/arch/mips/boot/dts/amazonse.dtsi
@@ -0,0 +1,174 @@
+#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 {
+ cpu@0 {
+ compatible = "mips,mips4Kc";
+ };
+ };
+
+ memory@0 {
+ device_type = "memory";
+ };
+
+ 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 {
+ compatible = "lantiq,rcu-xway";
+ reg = <0x203000 0x1000>;
+ };
+ };
+
+ fpi@10000000 {
+ #address-cells = <1>;
+ #size-cells = <1>;
+ compatible = "lantiq,fpi", "simple-bus";
+ ranges = <0x0 0x10000000 0xEEFFFFF>;
+ reg = <0x10000000 0xEF00000>;
+
+ 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@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 = <1>;
+ 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>;
+ };
+
+ asc1: serial@E100C00 {
+ compatible = "lantiq,asc";
+ reg = <0xE100C00 0x400>;
+ interrupt-parent = <&icu0>;
+ interrupts = <72 74 75>;
+ };
+
+ mei@E116000 {
+ compatible = "lantiq,mei-xway";
+ interrupt-parent = <&icu0>;
+ interrupts = <81>;
+ };
+
+ ifxhcd@E101000 {
+ compatible = "lantiq,ase-usb", "lantiq,ifxhcd-ase";
+ reg = <0xE101000 0x1000
+ 0xE120000 0x3f000>;
+ interrupt-parent = <&icu0>;
+ interrupts = <39>;
+ dr_mode = "host";
+ 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";
+ interrupt-parent = <&icu0>;
+ interrupts = <85>;
+ };
+
+ etop@E180000 {
+ compatible = "lantiq,etop-xway";
+ reg = <0xE180000 0x40000>;
+ interrupt-parent = <&icu0>;
+ interrupts = <105 109>;
+ };
+ };
+
+ adsl {
+ compatible = "lantiq,adsl-ase";
+ };
+};
diff --git a/target/linux/lantiq/files-4.9/arch/mips/boot/dts/ar9.dtsi b/target/linux/lantiq/files-4.9/arch/mips/boot/dts/ar9.dtsi
new file mode 100644
index 0000000000..2638a4b268
--- /dev/null
+++ b/target/linux/lantiq/files-4.9/arch/mips/boot/dts/ar9.dtsi
@@ -0,0 +1,216 @@
+#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 {
+ cpu@0 {
+ compatible = "mips,mips34K";
+ };
+ };
+
+ memory@0 {
+ device_type = "memory";
+ };
+
+ 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 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 {
+ compatible = "lantiq,rcu-xway";
+ reg = <0x203000 0x1000>;
+ };
+ };
+
+ fpi@10000000 {
+ #address-cells = <1>;
+ #size-cells = <1>;
+ compatible = "lantiq,fpi", "simple-bus";
+ ranges = <0x0 0x10000000 0xEEFFFFF>;
+ reg = <0x10000000 0xEF00000>;
+
+ 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 = <1>;
+ status = "disabled";
+ };
+
+ gpio: pinmux@E100B10 {
+ compatible = "lantiq,xrx100-pinctrl";
+ #gpio-cells = <2>;
+ gpio-controller;
+ reg = <0xE100B10 0xA0>;
+ };
+
+ asc1: serial@E100C00 {
+ compatible = "lantiq,asc";
+ reg = <0xE100C00 0x400>;
+ interrupt-parent = <&icu0>;
+ interrupts = <112 113 114>;
+ };
+
+ ifxhcd@E101000 {
+ compatible = "lantiq,arx100-usb", "lantiq,ifxhcd-arx100";
+ reg = <0xE101000 0x1000
+ 0xE120000 0x3f000>;
+ interrupt-parent = <&icu0>;
+ interrupts = <62 91>;
+ dr_mode = "host";
+ status = "disabled";
+ };
+
+ ifxhcd@E106000 {
+ compatible = "lantiq,arx100-usb";
+ reg = <0xE106000 0x1000
+ 0xE1E0000 0x3f000>;
+ interrupt-parent = <&icu0>;
+ interrupts = <91>;
+ dr_mode = "host";
+ 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";
+ interrupt-parent = <&icu0>;
+ interrupts = <63>;
+ };
+
+ 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 ];
+ };
+
+ ppe@E234000 {
+ compatible = "lantiq,ppe-arx100";
+ 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.9/arch/mips/boot/dts/danube.dtsi b/target/linux/lantiq/files-4.9/arch/mips/boot/dts/danube.dtsi
new file mode 100644
index 0000000000..83e85c36a5
--- /dev/null
+++ b/target/linux/lantiq/files-4.9/arch/mips/boot/dts/danube.dtsi
@@ -0,0 +1,212 @@
+#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 {
+ cpu@0 {
+ compatible = "mips,mips24Kc";
+ };
+ };
+
+ memory@0 {
+ device_type = "memory";
+ };
+
+ 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@107000 {
+ status = "disabled";
+ compatible = "lantiq,vmmc-xway";
+ reg = <0x103000 0x400>;
+ interrupt-parent = <&icu0>;
+ interrupts = <150 151 152 153 154 155>;
+ };
+
+ rcu0: rcu@203000 {
+ compatible = "lantiq,rcu-xway";
+ reg = <0x203000 0x1000>;
+ };
+ };
+
+ fpi@10000000 {
+ #address-cells = <1>;
+ #size-cells = <1>;
+ compatible = "lantiq,fpi", "simple-bus";
+ ranges = <0x0 0x10000000 0xEEFFFFF>;
+ reg = <0x10000000 0xEF00000>;
+
+ 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>;
+ 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>;
+ };
+
+ asc1: serial@E100C00 {
+ compatible = "lantiq,asc";
+ reg = <0xE100C00 0x400>;
+ interrupt-parent = <&icu0>;
+ interrupts = <112 113 114>;
+ };
+
+ ifxhcd@E101000 {
+ compatible = "lantiq,danube-usb", "lantiq,ifxhcd-danube";
+ reg = <0xE101000 0x1000
+ 0xE120000 0x3f000>;
+ interrupt-parent = <&icu0>;
+ interrupts = <62>;
+ dr_mode = "host";
+ 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";
+ interrupt-parent = <&icu0>;
+ interrupts = <63>;
+ };
+
+ 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";
+ 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.9/arch/mips/boot/dts/falcon-sflash-16M.dtsi b/target/linux/lantiq/files-4.9/arch/mips/boot/dts/falcon-sflash-16M.dtsi
new file mode 100644
index 0000000000..d95acc21ef
--- /dev/null
+++ b/target/linux/lantiq/files-4.9/arch/mips/boot/dts/falcon-sflash-16M.dtsi
@@ -0,0 +1,37 @@
+
+&ebu_cs0 {
+ #address-cells = <1>;
+ #size-cells = <1>;
+ compatible = "lantiq,sflash-falcon", "simple-bus";
+
+ flash@0 {
+ #address-cells = <1>;
+ #size-cells = <1>;
+ compatible = "spansion,s25fl129p0", "spansion,s25fl129p1";
+ reg = <0 0>;
+ linux,mtd-name = "sflash";
+ spi-max-frequency = <80000000>;
+ m25p,fast-read;
+
+ 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.9/arch/mips/boot/dts/falcon.dtsi b/target/linux/lantiq/files-4.9/arch/mips/boot/dts/falcon.dtsi
new file mode 100644
index 0000000000..98f71819a2
--- /dev/null
+++ b/target/linux/lantiq/files-4.9/arch/mips/boot/dts/falcon.dtsi
@@ -0,0 +1,392 @@
+/ {
+ #address-cells = <1>;
+ #size-cells = <1>;
+ compatible = "lantiq,falcon";
+
+ cpus {
+ cpu@0 {
+ compatible = "mips,mips34kc";
+ };
+ };
+
+ aliases {
+ serial0 = &serial0;
+ serial1 = &serial1;
+ gpio0 = &gpio0;
+ gpio1 = &gpio1;
+ gpio2 = &gpio2;
+ gpio3 = &gpio3;
+ gpio4 = &gpio4;
+ };
+
+ chosen {
+ stdout-path = "serial0:115200n8";
+ };
+
+ clocks {
+ compatible = "simple-bus";
+
+ cpu_clk: cpu {
+ compatible = "fixed-clock";
+ #clock-cells = <0>;
+ clock-frequency = <400000000>;
+ clock-output-names = "cpu";
+ };
+
+ io_clk: io {
+ compatible = "fixed-clock";
+ #clock-cells = <0>;
+ clock-frequency = <200000000>;
+ clock-output-names = "io";
+ };
+
+ fpi_clk: fpi {
+ compatible = "fixed-clock";
+ #clock-cells = <0>;
+ clock-frequency = <100000000>;
+ clock-output-names = "fpi";
+ };
+ };
+
+ 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>;
+ };
+ };
+
+ sbs1@1F700000 {
+
+ };
+
+ 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>;
+ clocks = <&io_clk>; /* currently no effect */
+ };
+ };
+
+ 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 {
+ i2c {
+ 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.9/arch/mips/boot/dts/vr9.dtsi b/target/linux/lantiq/files-4.9/arch/mips/boot/dts/vr9.dtsi
new file mode 100644
index 0000000000..13bb002c52
--- /dev/null
+++ b/target/linux/lantiq/files-4.9/arch/mips/boot/dts/vr9.dtsi
@@ -0,0 +1,260 @@
+#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 {
+ cpu@0 {
+ compatible = "mips,mips34Kc";
+ };
+ };
+
+ memory@0 {
+ device_type = "memory";
+ };
+
+ cputemp@0 {
+ compatible = "lantiq,cputemp";
+ };
+
+ 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 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@107000 {
+ status = "disabled";
+ compatible = "lantiq,vmmc-xway";
+ reg = <0x103000 0x400>;
+ interrupt-parent = <&icu0>;
+ interrupts = <150 151 152 153 154 155>;
+ };
+
+ rcu0: rcu@203000 {
+ compatible = "lantiq,rcu-xrx200";
+ reg = <0x203000 0x1000>;
+ /* irq for thermal sensor */
+ interrupt-parent = <&icu0>;
+ interrupts = <115>;
+ };
+
+ xbar0: xbar@400000 {
+ compatible = "lantiq,xbar-xway";
+ reg = <0x400000 0x1000>;
+ };
+ };
+
+ fpi@10000000 {
+ #address-cells = <1>;
+ #size-cells = <1>;
+ compatible = "lantiq,fpi", "simple-bus";
+ ranges = <0x0 0x10000000 0xEEFFFFF>;
+ reg = <0x10000000 0xEF00000>;
+
+ 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,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 = <1>;
+ status = "disabled";
+ };
+
+ gpio: pinmux@E100B10 {
+ compatible = "lantiq,xrx200-pinctrl";
+ #gpio-cells = <2>;
+ gpio-controller;
+ reg = <0xE100B10 0xA0>;
+ };
+
+ 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>;
+ };
+
+ ifxhcd@E101000 {
+ status = "disabled";
+ compatible = "lantiq,xrx200-usb", "lantiq,ifxhcd-xrx200";
+ reg = <0xE101000 0x1000
+ 0xE120000 0x3f000>;
+ interrupt-parent = <&icu0>;
+ interrupts = <62 91>;
+ dr_mode = "host";
+ };
+
+ ifxhcd@E106000 {
+ status = "disabled";
+ compatible = "lantiq,xrx200-usb";
+ reg = <0xE106000 0x1000>;
+ interrupt-parent = <&icu0>;
+ interrupts = <91>;
+ dr_mode = "host";
+ };
+
+ 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>;
+ };
+
+ mei@E116000 {
+ compatible = "lantiq,mei-xrx200";
+ reg = <0xE116000 0x9c>;
+ interrupt-parent = <&icu0>;
+ interrupts = <63>;
+ };
+
+ ppe@E234000 {
+ compatible = "lantiq,ppe-xrx200";
+ interrupt-parent = <&icu0>;
+ interrupts = <96>;
+ };
+
+ pcie0: pcie@d900000 {
+ compatible = "lantiq,pcie-xrx200";
+
+ #interrupt-cells = <1>;
+ #size-cells = <2>;
+ #address-cells = <3>;
+
+ 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";
+ };
+};