aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/lantiq/files
diff options
context:
space:
mode:
authorHauke Mehrtens <hauke@hauke-m.de>2018-11-25 19:35:16 +0100
committerMathias Kresin <dev@kresin.me>2019-07-04 08:29:13 +0200
commiteee1b34ce688efcb824ea9ce08edfce7ec507599 (patch)
treec26d7c8491852b20a4cb179ad42752624860c896 /target/linux/lantiq/files
parentbf21b6e44d0dd90846582249cc26230f249e6a63 (diff)
downloadupstream-eee1b34ce688efcb824ea9ce08edfce7ec507599.tar.gz
upstream-eee1b34ce688efcb824ea9ce08edfce7ec507599.tar.bz2
upstream-eee1b34ce688efcb824ea9ce08edfce7ec507599.zip
lantiq: copy target to kernel 4.19
This just copies the files from the kernel 4.14 specific folders into the kernel 4.19 specific folder, no changes are done to the files in this commit. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Diffstat (limited to 'target/linux/lantiq/files')
-rw-r--r--target/linux/lantiq/files/arch/mips/boot/dts/ACMP252.dts114
-rw-r--r--target/linux/lantiq/files/arch/mips/boot/dts/ALL0333CJ.dts116
-rw-r--r--target/linux/lantiq/files/arch/mips/boot/dts/ARV4510PW.dts230
-rw-r--r--target/linux/lantiq/files/arch/mips/boot/dts/ARV4518PWR01.dts8
-rw-r--r--target/linux/lantiq/files/arch/mips/boot/dts/ARV4518PWR01.dtsi206
-rw-r--r--target/linux/lantiq/files/arch/mips/boot/dts/ARV4518PWR01A.dts12
-rw-r--r--target/linux/lantiq/files/arch/mips/boot/dts/ARV4519PW.dts203
-rw-r--r--target/linux/lantiq/files/arch/mips/boot/dts/ARV4520PW.dts228
-rw-r--r--target/linux/lantiq/files/arch/mips/boot/dts/ARV4525PW.dts162
-rw-r--r--target/linux/lantiq/files/arch/mips/boot/dts/ARV452CQW.dts246
-rw-r--r--target/linux/lantiq/files/arch/mips/boot/dts/ARV7506PW11.dts164
-rw-r--r--target/linux/lantiq/files/arch/mips/boot/dts/ARV7510PW22.dts209
-rw-r--r--target/linux/lantiq/files/arch/mips/boot/dts/ARV7518PW.dts240
-rw-r--r--target/linux/lantiq/files/arch/mips/boot/dts/ARV7519PW.dts229
-rw-r--r--target/linux/lantiq/files/arch/mips/boot/dts/ARV7519RW22.dts254
-rw-r--r--target/linux/lantiq/files/arch/mips/boot/dts/ARV7525PW.dts152
-rw-r--r--target/linux/lantiq/files/arch/mips/boot/dts/ARV752DPW.dts246
-rw-r--r--target/linux/lantiq/files/arch/mips/boot/dts/ARV752DPW22.dts268
-rw-r--r--target/linux/lantiq/files/arch/mips/boot/dts/ARV8539PW22.dts192
-rw-r--r--target/linux/lantiq/files/arch/mips/boot/dts/ASL56026.dts171
-rw-r--r--target/linux/lantiq/files/arch/mips/boot/dts/BTHOMEHUBV2B.dts263
-rw-r--r--target/linux/lantiq/files/arch/mips/boot/dts/BTHOMEHUBV3A.dts216
-rw-r--r--target/linux/lantiq/files/arch/mips/boot/dts/BTHOMEHUBV5A.dts300
-rw-r--r--target/linux/lantiq/files/arch/mips/boot/dts/DGN1000B.dts174
-rw-r--r--target/linux/lantiq/files/arch/mips/boot/dts/DGN3500.dts8
-rw-r--r--target/linux/lantiq/files/arch/mips/boot/dts/DGN3500.dtsi214
-rw-r--r--target/linux/lantiq/files/arch/mips/boot/dts/DGN3500B.dts8
-rw-r--r--target/linux/lantiq/files/arch/mips/boot/dts/DM200.dts217
-rw-r--r--target/linux/lantiq/files/arch/mips/boot/dts/EASY50712.dts81
-rw-r--r--target/linux/lantiq/files/arch/mips/boot/dts/EASY50810.dts87
-rw-r--r--target/linux/lantiq/files/arch/mips/boot/dts/EASY80920.dtsi313
-rw-r--r--target/linux/lantiq/files/arch/mips/boot/dts/EASY80920NAND.dts65
-rw-r--r--target/linux/lantiq/files/arch/mips/boot/dts/EASY80920NOR.dts39
-rw-r--r--target/linux/lantiq/files/arch/mips/boot/dts/EASY88388.dts93
-rw-r--r--target/linux/lantiq/files/arch/mips/boot/dts/EASY88444.dts72
-rw-r--r--target/linux/lantiq/files/arch/mips/boot/dts/EASY98000-base.dtsi110
-rw-r--r--target/linux/lantiq/files/arch/mips/boot/dts/EASY98000NAND.dts40
-rw-r--r--target/linux/lantiq/files/arch/mips/boot/dts/EASY98000NOR.dts38
-rw-r--r--target/linux/lantiq/files/arch/mips/boot/dts/EASY98000SFLASH.dts16
-rw-r--r--target/linux/lantiq/files/arch/mips/boot/dts/EASY98020.dts91
-rw-r--r--target/linux/lantiq/files/arch/mips/boot/dts/EASY98020V18.dts68
-rw-r--r--target/linux/lantiq/files/arch/mips/boot/dts/EASY98021.dts81
-rw-r--r--target/linux/lantiq/files/arch/mips/boot/dts/EASY98035SYNCE.dts76
-rw-r--r--target/linux/lantiq/files/arch/mips/boot/dts/EASY98035SYNCE1588.dts76
-rw-r--r--target/linux/lantiq/files/arch/mips/boot/dts/FALCON-MDU.dts53
-rw-r--r--target/linux/lantiq/files/arch/mips/boot/dts/FALCON-SFP.dts76
-rw-r--r--target/linux/lantiq/files/arch/mips/boot/dts/FRITZ3370-REV2-HYNIX.dts38
-rw-r--r--target/linux/lantiq/files/arch/mips/boot/dts/FRITZ3370-REV2-MICRON.dts36
-rw-r--r--target/linux/lantiq/files/arch/mips/boot/dts/FRITZ3370-REV2.dtsi306
-rw-r--r--target/linux/lantiq/files/arch/mips/boot/dts/FRITZ7312.dts182
-rw-r--r--target/linux/lantiq/files/arch/mips/boot/dts/FRITZ7320.dts172
-rw-r--r--target/linux/lantiq/files/arch/mips/boot/dts/FRITZ7360SL.dts82
-rw-r--r--target/linux/lantiq/files/arch/mips/boot/dts/FRITZ7362SL.dts135
-rw-r--r--target/linux/lantiq/files/arch/mips/boot/dts/FRITZ736X.dtsi205
-rw-r--r--target/linux/lantiq/files/arch/mips/boot/dts/FRITZ7412.dts230
-rw-r--r--target/linux/lantiq/files/arch/mips/boot/dts/GIGASX76X.dts130
-rw-r--r--target/linux/lantiq/files/arch/mips/boot/dts/H201L.dts175
-rw-r--r--target/linux/lantiq/files/arch/mips/boot/dts/P2601HNFX.dts196
-rw-r--r--target/linux/lantiq/files/arch/mips/boot/dts/P2812HNUF1.dts70
-rw-r--r--target/linux/lantiq/files/arch/mips/boot/dts/P2812HNUF3.dts64
-rw-r--r--target/linux/lantiq/files/arch/mips/boot/dts/P2812HNUFX.dtsi298
-rw-r--r--target/linux/lantiq/files/arch/mips/boot/dts/TDW8970.dts8
-rw-r--r--target/linux/lantiq/files/arch/mips/boot/dts/TDW8980.dts33
-rw-r--r--target/linux/lantiq/files/arch/mips/boot/dts/TDW89X0.dtsi299
-rw-r--r--target/linux/lantiq/files/arch/mips/boot/dts/VG3503J.dts165
-rw-r--r--target/linux/lantiq/files/arch/mips/boot/dts/VGV7510KW22.dtsi269
-rw-r--r--target/linux/lantiq/files/arch/mips/boot/dts/VGV7510KW22BRN.dts65
-rw-r--r--target/linux/lantiq/files/arch/mips/boot/dts/VGV7510KW22NOR.dts31
-rw-r--r--target/linux/lantiq/files/arch/mips/boot/dts/VGV7519.dtsi314
-rw-r--r--target/linux/lantiq/files/arch/mips/boot/dts/VGV7519BRN.dts70
-rw-r--r--target/linux/lantiq/files/arch/mips/boot/dts/VGV7519NOR.dts29
-rw-r--r--target/linux/lantiq/files/arch/mips/boot/dts/VR200.dts94
-rw-r--r--target/linux/lantiq/files/arch/mips/boot/dts/VR200.dtsi219
-rw-r--r--target/linux/lantiq/files/arch/mips/boot/dts/VR200v.dts101
-rw-r--r--target/linux/lantiq/files/arch/mips/boot/dts/WBMR.dts200
-rw-r--r--target/linux/lantiq/files/arch/mips/boot/dts/WBMR300.dts330
-rw-r--r--target/linux/lantiq/files/arch/mips/boot/dts/amazonse.dtsi204
-rw-r--r--target/linux/lantiq/files/arch/mips/boot/dts/ar9.dtsi268
-rw-r--r--target/linux/lantiq/files/arch/mips/boot/dts/danube.dtsi252
-rw-r--r--target/linux/lantiq/files/arch/mips/boot/dts/falcon-sflash-16M.dtsi37
-rw-r--r--target/linux/lantiq/files/arch/mips/boot/dts/falcon.dtsi392
-rw-r--r--target/linux/lantiq/files/arch/mips/boot/dts/vr9.dtsi341
82 files changed, 12565 insertions, 0 deletions
diff --git a/target/linux/lantiq/files/arch/mips/boot/dts/ACMP252.dts b/target/linux/lantiq/files/arch/mips/boot/dts/ACMP252.dts
new file mode 100644
index 0000000000..5a2d867196
--- /dev/null
+++ b/target/linux/lantiq/files/arch/mips/boot/dts/ACMP252.dts
@@ -0,0 +1,114 @@
+/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>;
+ };
+
+ usb_vbus: regulator-usb-vbus {
+ compatible = "regulator-fixed";
+
+ regulator-name = "USB_VBUS";
+
+ regulator-min-microvolt = <5000000>;
+ regulator-max-microvolt = <5000000>;
+
+ gpio = <&gpio 3 GPIO_ACTIVE_HIGH>;
+ enable-active-high;
+ };
+};
+
+&gpio {
+ pinctrl-names = "default";
+ pinctrl-0 = <&state_default>;
+
+ state_default: pinmux {
+ exin {
+ lantiq,groups = "exin1";
+ lantiq,function = "exin";
+ };
+ pci {
+ lantiq,groups = "gnt1", "req1";
+ lantiq,function = "pci";
+ };
+ };
+};
+
+&gsw {
+ phy-mode = "rmii";
+};
+
+&localbus {
+ nor@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>;
+ };
+ };
+ };
+};
+
+&pci0 {
+ status = "okay";
+};
+
+&usb_phy {
+ status = "okay";
+};
+
+&usb {
+ status = "okay";
+ vbus-supply = <&usb_vbus>;
+};
+
+&vmmc {
+ status = "okay";
+ gpios = <&gpio 31 GPIO_ACTIVE_HIGH>;
+};
diff --git a/target/linux/lantiq/files/arch/mips/boot/dts/ALL0333CJ.dts b/target/linux/lantiq/files/arch/mips/boot/dts/ALL0333CJ.dts
new file mode 100644
index 0000000000..df62ac2d92
--- /dev/null
+++ b/target/linux/lantiq/files/arch/mips/boot/dts/ALL0333CJ.dts
@@ -0,0 +1,116 @@
+/dts-v1/;
+
+#include "amazonse.dtsi"
+
+/ {
+ compatible = "allnet,all0333cj", "lantiq,xway", "lantiq,ase";
+ model = "Allnet ALL0333CJ DSL Modem";
+
+ chosen {
+ bootargs = "console=ttyLTQ0,115200";
+
+ aliases {
+ led-boot = &power;
+ led-failsafe = &power;
+ led-running = &power;
+ led-upgrade = &power;
+
+ led-dsl = &dsl;
+ led-internet = &online_green;
+ };
+ };
+
+ memory@0 {
+ reg = <0x0 0x1000000>;
+ };
+
+ 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>;
+ };
+ };
+};
+
+&gpio {
+ 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>;
+ };
+ };
+};
+
+&gsw {
+ phy-mode = "mii";
+};
+
+&localbus {
+ nor@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;
+ };
+ };
+ };
+};
diff --git a/target/linux/lantiq/files/arch/mips/boot/dts/ARV4510PW.dts b/target/linux/lantiq/files/arch/mips/boot/dts/ARV4510PW.dts
new file mode 100644
index 0000000000..6598a60f58
--- /dev/null
+++ b/target/linux/lantiq/files/arch/mips/boot/dts/ARV4510PW.dts
@@ -0,0 +1,230 @@
+/dts-v1/;
+
+#include "danube.dtsi"
+
+#include <dt-bindings/input/input.h>
+
+/ {
+ compatible = "arcadyan,arv4510pw", "lantiq,xway", "lantiq,danube";
+ model = "Wippies, Elisa";
+
+ chosen {
+ bootargs = "console=ttyLTQ0,115200";
+ };
+
+ aliases {
+ led-boot = &power;
+ led-failsafe = &power2;
+ led-running = &power;
+ led-upgrade = &power;
+
+ led-dsl = &adsl;
+ led-internet = &internet;
+ led-usb = &led_usb;
+ led-usb2 = &led_usb2;
+ led-wifi = &wifi;
+ };
+
+ memory@0 {
+ reg = <0x0 0x2000000>;
+ };
+
+ 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>;
+ };
+ led_usb: usb {
+ label = "usb";
+ gpios = <&gpios 8 GPIO_ACTIVE_HIGH>;
+ };
+ led_usb2: usb2 {
+ label = "usb2";
+ gpios = <&gpios 7 GPIO_ACTIVE_HIGH>;
+ };
+ usb3 {
+ label = "usb3";
+ gpios = <&gpios 6 GPIO_ACTIVE_HIGH>;
+ };
+ unlabeled {
+ label = "unlabeled";
+ gpios = <&gpios 5 GPIO_ACTIVE_HIGH>;
+ };
+ };
+};
+
+&gpio {
+ pinctrl-names = "default";
+ pinctrl-0 = <&state_default>;
+
+ state_default: pinmux {
+ ebu {
+ lantiq,groups = "ebu a23";
+ lantiq,function = "ebu";
+ lantiq,open-drain = <0>;
+ lantiq,output = <1>;
+ };
+ 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 {
+ status = "okay";
+ lantiq,groups = <0x7>;
+};
+
+&gsw {
+ phy-mode = "rmii";
+};
+
+&localbus {
+ nor@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>;
+ };
+ };
+ };
+};
+
+&pci0 {
+ 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>;
+};
+
+&vmmc {
+ status = "okay";
+};
diff --git a/target/linux/lantiq/files/arch/mips/boot/dts/ARV4518PWR01.dts b/target/linux/lantiq/files/arch/mips/boot/dts/ARV4518PWR01.dts
new file mode 100644
index 0000000000..34f868f484
--- /dev/null
+++ b/target/linux/lantiq/files/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/arch/mips/boot/dts/ARV4518PWR01.dtsi b/target/linux/lantiq/files/arch/mips/boot/dts/ARV4518PWR01.dtsi
new file mode 100644
index 0000000000..f29c416c06
--- /dev/null
+++ b/target/linux/lantiq/files/arch/mips/boot/dts/ARV4518PWR01.dtsi
@@ -0,0 +1,206 @@
+#include "danube.dtsi"
+
+#include <dt-bindings/input/input.h>
+
+/ {
+ chosen {
+ bootargs = "console=ttyLTQ0,115200";
+ };
+
+ aliases {
+ led-boot = &power;
+ led-failsafe = &power;
+ led-running = &power;
+ led-upgrade = &power;
+
+ led-dsl = &dsl;
+ led-internet = &online;
+ led-usb = &led_usb;
+ led-wifi = &wifi;
+ };
+
+ memory@0 {
+ reg = <0x0 0x4000000>;
+ };
+
+ ath5k_eep {
+ compatible = "ath5k,eeprom";
+ ath,eep-flash = <&boardconfig 0x400>;
+ ath,mac-offset = <0x16>;
+ ath,mac-increment = <1>;
+ ath,eep-swap;
+ };
+
+ 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>;
+ };
+ led_usb: usb {
+ label = "usb";
+ gpios = <&gpio 19 GPIO_ACTIVE_LOW>;
+ };
+ voice {
+ label = "voice";
+ gpios = <&gpiomm 0 GPIO_ACTIVE_LOW>;
+ };
+ fxs1 {
+ label = "fxs1";
+ gpios = <&gpiomm 1 GPIO_ACTIVE_LOW>;
+ };
+ fxs2 {
+ label = "fxs2";
+ gpios = <&gpiomm 2 GPIO_ACTIVE_LOW>;
+ };
+ fxo {
+ label = "fxo";
+ gpios = <&gpiomm 3 GPIO_ACTIVE_LOW>;
+ };
+ };
+
+ usb_vbus: regulator-usb-vbus {
+ compatible = "regulator-fixed";
+
+ regulator-name = "USB_VBUS";
+
+ regulator-min-microvolt = <5000000>;
+ regulator-max-microvolt = <5000000>;
+
+ gpio = <&gpio 14 GPIO_ACTIVE_HIGH>;
+ enable-active-high;
+ };
+};
+
+&gpio {
+ pinctrl-names = "default";
+ pinctrl-0 = <&state_default>;
+
+ state_default: pinmux {
+ ebu {
+ lantiq,groups = "ebu cs1";
+ lantiq,function = "ebu";
+ };
+ 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>;
+ };
+ };
+};
+
+&gpiomm {
+ status = "okay";
+ lantiq,shadow = <0x0>;
+};
+
+&gsw {
+ phy-mode = "mii";
+ mtd-mac-address = <&boardconfig 0x16>;
+};
+
+&localbus {
+ nor@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;
+ };
+ };
+ };
+};
+
+&pci0 {
+ status = "okay";
+ gpio-reset = <&gpio 21 GPIO_ACTIVE_HIGH>;
+ req-mask = <0xf>;
+};
+
+&usb_phy {
+ status = "okay";
+};
+
+&usb {
+ status = "okay";
+ vbus-supply = <&usb_vbus>;
+};
+
+&vmmc {
+ status = "okay";
+ gpios = <&gpio 31 GPIO_ACTIVE_HIGH>;
+};
diff --git a/target/linux/lantiq/files/arch/mips/boot/dts/ARV4518PWR01A.dts b/target/linux/lantiq/files/arch/mips/boot/dts/ARV4518PWR01A.dts
new file mode 100644
index 0000000000..9617398bbc
--- /dev/null
+++ b/target/linux/lantiq/files/arch/mips/boot/dts/ARV4518PWR01A.dts
@@ -0,0 +1,12 @@
+/dts-v1/;
+
+#include "ARV4518PWR01.dtsi"
+
+/ {
+ compatible = "arcadyan,arv4518pwr01a", "lantiq,xway", "lantiq,danube";
+ model = "SMC7908A-ISP, Airties WAV-221";
+};
+
+&pci0 {
+ lantiq,external-clock;
+};
diff --git a/target/linux/lantiq/files/arch/mips/boot/dts/ARV4519PW.dts b/target/linux/lantiq/files/arch/mips/boot/dts/ARV4519PW.dts
new file mode 100644
index 0000000000..e307b381a9
--- /dev/null
+++ b/target/linux/lantiq/files/arch/mips/boot/dts/ARV4519PW.dts
@@ -0,0 +1,203 @@
+/dts-v1/;
+
+#include "danube.dtsi"
+
+#include <dt-bindings/input/input.h>
+
+/ {
+ compatible = "arcadyan,arv4519pw", "lantiq,xway", "lantiq,danube";
+ model = "Vodafone Netfaster IAD 2, Pirelli P.RG A4201G";
+
+ chosen {
+ bootargs = "console=ttyLTQ0,115200";
+ };
+
+ aliases {
+ led-boot = &power_green;
+ led-failsafe = &power_red;
+ led-running = &power_green;
+ led-upgrade = &power_green;
+
+ led-dsl = &dsl;
+ led-internet = &internet_green;
+ led-usb = &led_usb;
+ led-wifi = &wifi;
+ };
+
+ memory@0 {
+ reg = <0x0 0x2000000>;
+ };
+
+ 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>;
+ };
+ led_usb: usb {
+ label = "arv4519pw:green:usb";
+ gpios = <&gpio 19 GPIO_ACTIVE_LOW>;
+ };
+ voip {
+ label = "arv4519pw:green:voip";
+ gpios = <&gpiomm 0 GPIO_ACTIVE_LOW>;
+ };
+ fxs1 {
+ label = "arv4519pw:green:phone1";
+ gpios = <&gpiomm 1 GPIO_ACTIVE_LOW>;
+ };
+ fxs2 {
+ label = "arv4519pw:green:phone2";
+ gpios = <&gpiomm 2 GPIO_ACTIVE_LOW>;
+ };
+ fxo {
+ label = "arv4519pw:green:line";
+ gpios = <&gpiomm 3 GPIO_ACTIVE_LOW>;
+ };
+ wps2 {
+ label = "arv4519pw:green:wps";
+ gpios = <&gpiomm 4 GPIO_ACTIVE_LOW>;
+ };
+ wps {
+ label = "arv4519pw:orange:wps";
+ gpios = <&gpiomm 5 GPIO_ACTIVE_LOW>;
+ };
+ wps3 {
+ label = "arv4519pw:red:wps";
+ gpios = <&gpiomm 6 GPIO_ACTIVE_LOW>;
+ };
+ };
+
+ usb_vbus: regulator-usb-vbus {
+ compatible = "regulator-fixed";
+
+ regulator-name = "USB_VBUS";
+
+ regulator-min-microvolt = <5000000>;
+ regulator-max-microvolt = <5000000>;
+
+ gpio = <&gpio 14 GPIO_ACTIVE_HIGH>;
+ enable-active-high;
+ };
+};
+
+&gpio {
+ pinctrl-names = "default";
+ pinctrl-0 = <&state_default>;
+
+ state_default: pinmux {
+ ebu {
+ lantiq,groups = "ebu cs1";
+ lantiq,function = "ebu";
+ };
+ };
+};
+
+&gpiomm {
+ status = "okay";
+ lantiq,shadow = <0x400>;
+};
+
+&gsw {
+ phy-mode = "mii";
+ mtd-mac-address = <&boardconfig 0x16>;
+};
+
+&localbus {
+ nor@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;
+ };
+ };
+ };
+};
+
+&pci0 {
+ status = "okay";
+ lantiq,external-clock;
+ gpio-reset = <&gpio 21 GPIO_ACTIVE_HIGH>;
+ req-mask = <0xf>;
+};
+
+&usb_phy {
+ status = "okay";
+};
+
+&usb {
+ status = "okay";
+ vbus-supply = <&usb_vbus>;
+};
+
+&vmmc {
+ status = "okay";
+ gpios = <&gpio 31 GPIO_ACTIVE_HIGH>;
+};
diff --git a/target/linux/lantiq/files/arch/mips/boot/dts/ARV4520PW.dts b/target/linux/lantiq/files/arch/mips/boot/dts/ARV4520PW.dts
new file mode 100644
index 0000000000..cd76bf5799
--- /dev/null
+++ b/target/linux/lantiq/files/arch/mips/boot/dts/ARV4520PW.dts
@@ -0,0 +1,228 @@
+/dts-v1/;
+
+#include "danube.dtsi"
+
+#include <dt-bindings/input/input.h>
+
+/ {
+ compatible = "arcadyan,arv4520pw", "lantiq,xway", "lantiq,danube";
+ model = "Easybox 800, WAV-281";
+
+ chosen {
+ bootargs = "console=ttyLTQ0,115200";
+ };
+
+ aliases {
+ led-boot = &power_blue;
+ led-failsafe = &power_red;
+ led-running = &power_blue;
+ led-upgrade = &power_blue;
+
+ led-dsl = &dsl;
+ led-internet = &internet_blue;
+ led-usb = &led_usb;
+ led-wifi = &wifi;
+ };
+
+ memory@0 {
+ reg = <0x0 0x2000000>;
+ };
+
+ 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>;
+ };
+ led_usb: usb {
+ label = "arv4520pw:blue:usb";
+ gpios = <&gpiomm 5 GPIO_ACTIVE_LOW>;
+ };
+ wifi: wifi {
+ label = "arv4520pw:blue:wifi";
+ gpios = <&gpiomm 6 GPIO_ACTIVE_LOW>;
+ };
+ internet2 {
+ label = "arv4520pw:red:internet";
+ gpios = <&gpiomm 9 GPIO_ACTIVE_LOW>;
+ };
+ /*
+ info is missing
+ */
+ };
+
+ usb_vbus: regulator-usb-vbus {
+ compatible = "regulator-fixed";
+
+ regulator-name = "USB_VBUS";
+
+ regulator-min-microvolt = <5000000>;
+ regulator-max-microvolt = <5000000>;
+
+ gpio = <&gpio 28 GPIO_ACTIVE_HIGH>;
+ enable-active-high;
+ };
+};
+
+&gpio {
+ pinctrl-names = "default";
+ pinctrl-0 = <&state_default>;
+
+ state_default: pinmux {
+ ebu {
+ lantiq,groups = "ebu cs1";
+ lantiq,function = "ebu";
+ };
+ pci_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>;
+ };
+ };
+};
+
+&gpiomm {
+ status = "okay";
+ lantiq,shadow = <0x400>;
+};
+
+&gsw {
+ /* gpiomm 10 - switch */
+ phy-mode = "rmii";
+ mtd-mac-address = <&boardconfig 0x16>;
+};
+
+&localbus {
+ nor@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;
+ };
+ };
+ };
+};
+
+&pci0 {
+ status = "okay";
+ lantiq,external-clock;
+ gpio-reset = <&gpio 21 GPIO_ACTIVE_HIGH>;
+};
+
+&usb_phy {
+ status = "okay";
+};
+
+&usb {
+ status = "okay";
+ vbus-supply = <&usb_vbus>;
+};
+
+&vmmc {
+ status = "okay";
+ gpios = <&gpio 31 GPIO_ACTIVE_HIGH
+ &gpiomm 7 GPIO_ACTIVE_HIGH>;
+};
diff --git a/target/linux/lantiq/files/arch/mips/boot/dts/ARV4525PW.dts b/target/linux/lantiq/files/arch/mips/boot/dts/ARV4525PW.dts
new file mode 100644
index 0000000000..b3904d37d5
--- /dev/null
+++ b/target/linux/lantiq/files/arch/mips/boot/dts/ARV4525PW.dts
@@ -0,0 +1,162 @@
+/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>;
+ };
+
+ ath5k_eep {
+ compatible = "ath5k,eeprom";
+ ath,eep-flash = <&boardconfig 0x400>;
+ ath,mac-offset = <0x0>;
+ ath,eep-swap;
+ };
+
+ 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>;
+ };
+ };
+};
+
+&gpio {
+ 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>;
+ };
+ };
+};
+
+/* #define ARV4525PW_PHYRESET 13 */
+&gsw {
+ phy-mode = "mii";
+ mtd-mac-address = <&boardconfig 0x16>;
+};
+
+&localbus {
+ nor@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;
+ };
+ };
+ };
+};
+
+&pci0 {
+ status = "okay";
+ gpio-reset = <&gpio 21 GPIO_ACTIVE_HIGH>;
+};
+
+/* #define ARV4525PW_RELAY 31 */
+&vmmc {
+ status = "okay";
+ gpios = <&gpio 31 GPIO_ACTIVE_HIGH>;
+};
diff --git a/target/linux/lantiq/files/arch/mips/boot/dts/ARV452CQW.dts b/target/linux/lantiq/files/arch/mips/boot/dts/ARV452CQW.dts
new file mode 100644
index 0000000000..203a30df5c
--- /dev/null
+++ b/target/linux/lantiq/files/arch/mips/boot/dts/ARV452CQW.dts
@@ -0,0 +1,246 @@
+/dts-v1/;
+
+#include "danube.dtsi"
+
+#include <dt-bindings/input/input.h>
+
+/ {
+ compatible = "arcadyan,arv452cqw", "lantiq,xway", "lantiq,danube";
+ model = "Arcor 801";
+
+ chosen {
+ bootargs = "console=ttyLTQ0,115200";
+ };
+
+ aliases {
+ led-boot = &power_blue;
+ led-failsafe = &power_red;
+ led-running = &power_blue;
+ led-upgrade = &power_blue;
+
+ led-dsl = &dsl_blue;
+ led-usb = &led_usb;
+ led-wifi = &wifi;
+ };
+
+ memory@0 {
+ reg = <0x0 0x2000000>;
+ };
+
+ ath5k_eep {
+ compatible = "ath5k,eeprom";
+ ath,eep-flash = <&boardconfig 0x400>;
+ ath,mac-offset = <0x0>;
+ ath,eep-swap;
+ };
+
+ 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>;
+ };
+ led_usb: usb {
+ label = "arv452cqw:blue:usb";
+ gpios = <&gpiomm 5 GPIO_ACTIVE_LOW>;
+ };
+ wifi: wifi {
+ label = "arv452cqw:blue:wlan";
+ gpios = <&gpiomm 6 GPIO_ACTIVE_LOW>;
+ };
+ /*
+ internet blue and internet red are missing
+ dsl2 and dsl3 are not referenced in manual
+ */
+ dsl2 {
+ label = "arv452cqw:yellow:dsl";
+ gpios = <&gpiomm 8 GPIO_ACTIVE_LOW>;
+ };
+ dsl3 {
+ label = "arv452cqw:red:dsl";
+ gpios = <&gpiomm 9 GPIO_ACTIVE_LOW>;
+ };
+ };
+
+ usb_vbus: regulator-usb-vbus {
+ compatible = "regulator-fixed";
+
+ regulator-name = "USB_VBUS";
+
+ regulator-min-microvolt = <5000000>;
+ regulator-max-microvolt = <5000000>;
+
+ gpio = <&gpio 28 GPIO_ACTIVE_HIGH>;
+ enable-active-high;
+ };
+};
+
+&gpio {
+ pinctrl-names = "default";
+ pinctrl-0 = <&state_default>;
+
+ state_default: pinmux {
+ ebu {
+ lantiq,groups = "ebu cs1";
+ lantiq,function = "ebu";
+ };
+ pci_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>;
+ };
+ };
+};
+
+&gpiomm {
+ status = "okay";
+ lantiq,shadow = <0x77f>;
+};
+
+/*
+#define ARV452CPW_SWITCH_RESET 110
+*/
+&gsw {
+ phy-mode = "rmii";
+ mtd-mac-address = <&boardconfig 0x16>;
+};
+
+&localbus {
+ nor@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;
+ };
+ };
+ };
+};
+
+&pci0 {
+ status = "okay";
+ lantiq,external-clock;
+ gpio-reset = <&gpio 21 GPIO_ACTIVE_HIGH>;
+};
+
+&usb_phy {
+ status = "okay";
+};
+
+&usb {
+ status = "okay";
+ vbus-supply = <&usb_vbus>;
+};
+
+&vmmc {
+ status = "okay";
+ gpios = <&gpio 31 GPIO_ACTIVE_HIGH
+ &gpiomm 7 GPIO_ACTIVE_HIGH>;
+};
diff --git a/target/linux/lantiq/files/arch/mips/boot/dts/ARV7506PW11.dts b/target/linux/lantiq/files/arch/mips/boot/dts/ARV7506PW11.dts
new file mode 100644
index 0000000000..8fe22e9a44
--- /dev/null
+++ b/target/linux/lantiq/files/arch/mips/boot/dts/ARV7506PW11.dts
@@ -0,0 +1,164 @@
+/dts-v1/;
+
+#include "danube.dtsi"
+
+#include <dt-bindings/input/input.h>
+
+/ {
+ compatible = "arcadyan,arv7506pw11", "lantiq,xway", "lantiq,danube";
+ model = "Alice/O2 IAD 4421";
+
+ chosen {
+ bootargs = "console=ttyLTQ0,115200";
+ };
+
+ aliases {
+ led-boot = &power;
+ led-failsafe = &power_red;
+ led-running = &power;
+ led-upgrade = &power;
+
+ led-dsl = &dsl;
+ led-internet = &internet;
+ led-wifi = &wlan;
+ };
+
+ memory@0 {
+ reg = <0x0 0x4000000>;
+ };
+
+ 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>;
+ };
+ };
+};
+
+&gpio {
+ 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 */
+&gsw {
+ phy-mode = "rmii";
+ mtd-mac-address = <&boardconfig 0x16>;
+};
+
+&localbus {
+ nor@0 {
+ compatible = "lantiq,nor";
+ bank-width = <2>;
+ reg = <0 0x0 0x800000>;
+
+ partitions {
+ compatible = "fixed-partitions";
+ #address-cells = <1>;
+ #size-cells = <1>;
+
+ partition@0 {
+ label = "uboot";
+ reg = <0x00000 0x40000>;
+ read-only;
+ };
+
+ partition@40000 {
+ label = "uboot_env";
+ reg = <0x40000 0x10000>;
+ read-only;
+ };
+
+ partition@50000 {
+ label = "firmware";
+ reg = <0x50000 0x7a0000>;
+ };
+
+ boardconfig: partition@7f0000 {
+ label = "board_config";
+ reg = <0x7f0000 0x10000>;
+ read-only;
+ };
+ };
+ };
+};
+
+&pci0 {
+ status = "okay";
+ 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/arch/mips/boot/dts/ARV7510PW22.dts b/target/linux/lantiq/files/arch/mips/boot/dts/ARV7510PW22.dts
new file mode 100644
index 0000000000..92d01b4dcc
--- /dev/null
+++ b/target/linux/lantiq/files/arch/mips/boot/dts/ARV7510PW22.dts
@@ -0,0 +1,209 @@
+/dts-v1/;
+
+#include "danube.dtsi"
+
+#include <dt-bindings/input/input.h>
+
+/ {
+ compatible = "arcadyan,arv7510pw22", "lantiq,xway", "lantiq,danube";
+ model = "Astoria Networks ARV7510PW22";
+
+ chosen {
+ bootargs = "console=ttyLTQ0,115200";
+ };
+
+ aliases {
+ led-boot = &power;
+ led-failsafe = &power;
+ led-running = &power;
+ led-upgrade = &power;
+
+ led-dsl = &internet;
+ led-usb = &umts;
+ led-wifi = &wlan;
+ };
+
+ memory@0 {
+ reg = <0x0 0x4000000>;
+ };
+
+ 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>;
+ };
+ };
+};
+
+&gpio {
+ pinctrl-names = "default";
+ pinctrl-0 = <&state_default>;
+
+ state_default: pinmux {
+ exin {
+ lantiq,groups = "exin1";
+ lantiq,function = "exin";
+ lantiq,pull = <2>;
+ lantiq,output = <0>;
+ };
+ pci_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>;
+ };
+ };
+
+ usb_vbus: regulator-usb-vbus {
+ compatible = "regulator-fixed";
+
+ regulator-name = "USB_VBUS";
+
+ regulator-min-microvolt = <5000000>;
+ regulator-max-microvolt = <5000000>;
+
+ gpio = <&gpio 8 GPIO_ACTIVE_HIGH>;
+ enable-active-high;
+ };
+};
+
+&gsw {
+ /* Switch reset 19 */
+ phy-mode = "mii";
+ mtd-mac-address = <&boardconfig 0x16>;
+};
+
+&localbus {
+ nor@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;
+ };
+ };
+ };
+};
+
+&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;
+ };
+};
+
+&usb_phy {
+ status = "okay";
+};
+
+&usb {
+ status = "okay";
+ vbus-supply = <&usb_vbus>;
+};
+
+&vmmc {
+ status = "okay";
+ gpios = <&gpio 9 GPIO_ACTIVE_HIGH>;
+};
diff --git a/target/linux/lantiq/files/arch/mips/boot/dts/ARV7518PW.dts b/target/linux/lantiq/files/arch/mips/boot/dts/ARV7518PW.dts
new file mode 100644
index 0000000000..72f3a686b5
--- /dev/null
+++ b/target/linux/lantiq/files/arch/mips/boot/dts/ARV7518PW.dts
@@ -0,0 +1,240 @@
+/dts-v1/;
+
+#include "danube.dtsi"
+
+#include <dt-bindings/input/input.h>
+
+/ {
+ compatible = "arcadyan,arv7518pw", "lantiq,xway", "lantiq,danube";
+ model = "Astoria Networks ARV7518PW";
+
+ chosen {
+ bootargs = "console=ttyLTQ0,115200";
+ };
+
+ aliases {
+ led-boot = &power_green;
+ led-failsafe = &power_red;
+ led-running = &power_green;
+ led-upgrade = &power_green;
+
+ led-dsl = &dsl;
+ led-internet = &online_green;
+ led-usb = &led_usb;
+ led-wifi = &wifi;
+ };
+
+ memory@0 {
+ reg = <0x0 0x4000000>;
+ };
+
+ 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>;
+ };
+ led_usb: usb {
+ label = "arv7518pw:green:usb";
+ gpios = <&gpio 19 GPIO_ACTIVE_LOW>;
+ };
+ voice {
+ label = "arv7518pw:green:voip";
+ gpios = <&gpiomm 0 GPIO_ACTIVE_LOW>;
+ };
+ fxs1 {
+ label = "arv7518pw:green:phone1";
+ gpios = <&gpiomm 1 GPIO_ACTIVE_LOW>;
+ };
+ fxs2 {
+ label = "arv7518pw:green:phone2";
+ gpios = <&gpiomm 2 GPIO_ACTIVE_LOW>;
+ };
+ unlabeled {
+ label = "arv7518pw:amber:unlabeled";
+ gpios = <&gpiomm 3 GPIO_ACTIVE_LOW>;
+ };
+ wps {
+ label = "arv7518pw:amber:wps";
+ gpios = <&gpiomm 4 GPIO_ACTIVE_LOW>;
+ };
+ wps2 {
+ label = "arv7518pw:green:wps";
+ gpios = <&gpiomm 5 GPIO_ACTIVE_LOW>;
+ };
+ wps3 {
+ label = "arv7518pw:red:wps";
+ gpios = <&gpiomm 6 GPIO_ACTIVE_LOW>;
+ };
+ };
+};
+
+&gpio {
+ pinctrl-names = "default";
+ pinctrl-0 = <&state_default>;
+
+ state_default: pinmux {
+ ebu {
+ lantiq,groups = "ebu cs1";
+ lantiq,function = "ebu";
+ };
+ pci_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>;
+ };
+ };
+
+ usb_vbus: regulator-usb-vbus {
+ compatible = "regulator-fixed";
+
+ regulator-name = "USB_VBUS";
+
+ regulator-min-microvolt = <5000000>;
+ regulator-max-microvolt = <5000000>;
+
+ gpio = <&gpio 14 GPIO_ACTIVE_HIGH>;
+ enable-active-high;
+ };
+};
+
+&gpiomm {
+ status = "okay";
+ lantiq,shadow = <0x0>;
+};
+
+/*
+#define SWITCH_RESET 13
+*/
+&gsw {
+ phy-mode = "mii";
+ mtd-mac-address = <&boardconfig 0x16>;
+};
+
+&localbus {
+ nor@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;
+ };
+ };
+ };
+};
+
+&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>;
+ };
+};
+
+&usb_phy {
+ status = "okay";
+};
+
+&usb {
+ status = "okay";
+ vbus-supply = <&usb_vbus>;
+};
+
+&vmmc {
+ status = "okay";
+};
diff --git a/target/linux/lantiq/files/arch/mips/boot/dts/ARV7519PW.dts b/target/linux/lantiq/files/arch/mips/boot/dts/ARV7519PW.dts
new file mode 100644
index 0000000000..bcb3b502af
--- /dev/null
+++ b/target/linux/lantiq/files/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-upgrade = &power;
+
+ led-dsl = &dsl;
+ led-internet = &online;
+ led-wifi = &wifi;
+ };
+
+ memory@0 {
+ reg = <0x0 0x4000000>;
+ };
+
+ 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>;
+ };
+ };
+};
+
+&gpio {
+ 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>;
+ };
+ };
+};
+
+&gsw {
+ phy-mode = "mii";
+ mtd-mac-address = <&boardconfig 0x16>;
+};
+
+&localbus {
+ nor@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;
+ };
+ };
+ };
+};
+
+&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;
+ };
+};
+
+&usb_phy {
+ status = "okay";
+};
+
+/* warning: passive port only works with active devices */
+&usb {
+ status = "okay";
+};
+
+&vmmc {
+ status = "okay";
+};
diff --git a/target/linux/lantiq/files/arch/mips/boot/dts/ARV7519RW22.dts b/target/linux/lantiq/files/arch/mips/boot/dts/ARV7519RW22.dts
new file mode 100644
index 0000000000..baa9adcc9c
--- /dev/null
+++ b/target/linux/lantiq/files/arch/mips/boot/dts/ARV7519RW22.dts
@@ -0,0 +1,254 @@
+/dts-v1/;
+
+#include "vr9.dtsi"
+
+#include <dt-bindings/input/input.h>
+#include <dt-bindings/mips/lantiq_rcu_gphy.h>
+
+/ {
+ compatible = "arcadyan,arv7519rw22", "lantiq,xway", "lantiq,vr9";
+ model = "Orange Livebox 2.1";
+
+ chosen {
+ bootargs = "console=ttyLTQ0,115200";
+ };
+
+ aliases {
+ led-boot = &power_green;
+ led-failsafe = &power_green;
+ led-running = &power_green;
+ led-upgrade = &power_green;
+
+ led-dsl = &internet_green;
+ };
+
+ memory@0 {
+ reg = <0x0 0x8000000>;
+ };
+
+ 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>;
+ };
+ };
+
+ usb_vbus: regulator-usb-vbus {
+ compatible = "regulator-fixed";
+
+ regulator-name = "USB_VBUS";
+
+ regulator-min-microvolt = <5000000>;
+ regulator-max-microvolt = <5000000>;
+
+ gpio = <&gpio 32 GPIO_ACTIVE_HIGH>;
+ enable-active-high;
+ };
+};
+
+&eth0 {
+ lan: interface@0 {
+ compatible = "lantiq,xrx200-pdi";
+ #address-cells = <1>;
+ #size-cells = <0>;
+ reg = <0>;
+ mtd-mac-address = <&boardconfig 0x16>;
+ lantiq,switch;
+
+ ethernet@0 {
+ compatible = "lantiq,xrx200-pdi-port";
+ reg = <0>;
+ phy-mode = "rgmii";
+ phy-handle = <&phy0>;
+ };
+ ethernet@1 {
+ compatible = "lantiq,xrx200-pdi-port";
+ reg = <4>;
+ phy-mode = "mii";
+ phy-handle = <&phy13>;
+ };
+ ethernet@2 {
+ compatible = "lantiq,xrx200-pdi-port";
+ reg = <5>;
+ phy-mode = "mii";
+ phy-handle = <&phy14>;
+ };
+ ethernet@3 {
+ compatible = "lantiq,xrx200-pdi-port";
+ reg = <2>;
+ phy-mode = "mii";
+ phy-handle = <&phy11>;
+ };
+ ethernet@4 {
+ compatible = "lantiq,xrx200-pdi-port";
+ reg = <3>;
+ phy-mode = "mii";
+ phy-handle = <&phy12>;
+ };
+ };
+
+ mdio@0 {
+ #address-cells = <1>;
+ #size-cells = <0>;
+ compatible = "lantiq,xrx200-mdio";
+ reg = <0>;
+
+ phy0: ethernet-phy@0 {
+ reg = <0x0>;
+ compatible = "lantiq,phy11g", "ethernet-phy-ieee802.3-c22";
+ };
+ phy11: ethernet-phy@11 {
+ reg = <0x11>;
+ compatible = "lantiq,phy22f", "ethernet-phy-ieee802.3-c22";
+ };
+ phy12: ethernet-phy@12 {
+ reg = <0x12>;
+ compatible = "lantiq,phy22f", "ethernet-phy-ieee802.3-c22";
+ };
+ phy13: ethernet-phy@13 {
+ reg = <0x13>;
+ compatible = "lantiq,phy22f", "ethernet-phy-ieee802.3-c22";
+ };
+ phy14: ethernet-phy@14 {
+ reg = <0x14>;
+ compatible = "lantiq,phy22f", "ethernet-phy-ieee802.3-c22";
+ };
+ };
+};
+
+&gphy0 {
+ lantiq,gphy-mode = <GPHY_MODE_FE>;
+};
+
+&gphy1 {
+ lantiq,gphy-mode = <GPHY_MODE_FE>;
+};
+
+&gpio {
+ pinctrl-names = "default";
+ pinctrl-0 = <&state_default>;
+
+ state_default: pinmux {
+ mdio {
+ lantiq,groups = "mdio";
+ lantiq,function = "mdio";
+ };
+ pcie-rst {
+ lantiq,pins = "io21";
+ lantiq,pull = <0>;
+ lantiq,output = <1>;
+ };
+ };
+};
+
+&localbus {
+ nor@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;
+ };
+ };
+ };
+};
+
+&pcie0 {
+ status = "okay";
+ gpio-reset = <&gpio 21 GPIO_ACTIVE_HIGH>;
+};
+
+&usb_phy0 {
+ status = "okay";
+};
+
+&usb_phy1 {
+ status = "okay";
+};
+
+&usb0 {
+ status = "okay";
+ vbus-supply = <&usb_vbus>;
+};
+
+&usb1 {
+ status = "okay";
+ vbus-supply = <&usb_vbus>;
+};
diff --git a/target/linux/lantiq/files/arch/mips/boot/dts/ARV7525PW.dts b/target/linux/lantiq/files/arch/mips/boot/dts/ARV7525PW.dts
new file mode 100644
index 0000000000..a395d4ff45
--- /dev/null
+++ b/target/linux/lantiq/files/arch/mips/boot/dts/ARV7525PW.dts
@@ -0,0 +1,152 @@
+/dts-v1/;
+
+#include "danube.dtsi"
+
+#include <dt-bindings/input/input.h>
+
+/ {
+ compatible = "arcadyan,arv7525pw", "lantiq,xway", "lantiq,danube";
+ model = "Speedport W303V Typ A";
+
+ chosen {
+ bootargs = "console=ttyLTQ0,115200";
+ };
+
+ aliases {
+ led-boot = &power_green;
+ led-failsafe = &power_red;
+ led-running = &power_green;
+ led-upgrade = &power_green;
+
+ led-dsl = &power_green;
+ led-internet = &online;
+ led-wifi = &wifi;
+ };
+
+ memory@0 {
+ reg = <0x0 0x2000000>;
+ };
+
+ 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>;
+ };
+ };
+};
+
+&gpio {
+ 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";
+ };
+ };
+};
+
+&gsw {
+ phy-mode = "mii";
+ mtd-mac-address = <&boardconfig 0x16>;
+};
+
+&localbus {
+ nor@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;
+ };
+ };
+ };
+};
+
+&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>;
+ };
+};
+
+&vmmc {
+ status = "okay";
+ gpios = <&gpio 31 GPIO_ACTIVE_HIGH>;
+};
diff --git a/target/linux/lantiq/files/arch/mips/boot/dts/ARV752DPW.dts b/target/linux/lantiq/files/arch/mips/boot/dts/ARV752DPW.dts
new file mode 100644
index 0000000000..5f877723f6
--- /dev/null
+++ b/target/linux/lantiq/files/arch/mips/boot/dts/ARV752DPW.dts
@@ -0,0 +1,246 @@
+/dts-v1/;
+
+#include "danube.dtsi"
+
+#include <dt-bindings/input/input.h>
+
+/ {
+ compatible = "arcadyan,arv752dpw", "lantiq,xway", "lantiq,danube";
+ model = "Arcor 802";
+
+ chosen {
+ bootargs = "console=ttyLTQ0,115200";
+ };
+
+ aliases {
+ led-boot = &power_red;
+ led-failsafe = &power_blue;
+ led-running = &power_red;
+ led-upgrade = &power_red;
+
+ led-dsl = &internet_red;
+ led-usb = &umts;
+ led-wifi = &wifi;
+ };
+
+ memory@0 {
+ reg = <0x0 0x4000000>;
+ };
+
+ 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>;
+ };
+ };
+};
+
+&gpio {
+ pinctrl-names = "default";
+ pinctrl-0 = <&state_default>;
+
+ state_default: pinmux {
+ ebu {
+ lantiq,groups = "ebu cs1";
+ lantiq,function = "ebu";
+ };
+ exin {
+ lantiq,groups = "exin1";
+ lantiq,function = "exin";
+ lantiq,pull = <2>;
+ lantiq,output = <0>;
+ };
+ pci_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>;
+ };
+ };
+
+ usb_vbus: regulator-usb-vbus {
+ compatible = "regulator-fixed";
+
+ regulator-name = "USB_VBUS";
+
+ regulator-min-microvolt = <5000000>;
+ regulator-max-microvolt = <5000000>;
+
+ gpio = <&gpiomm 0 GPIO_ACTIVE_HIGH>;
+ enable-active-high;
+ };
+};
+
+&gpiomm {
+ status = "okay";
+ lantiq,shadow = <0x3>;
+};
+
+&gsw {
+ phy-mode = "rmii";
+ mtd-mac-address = <&boardconfig 0x16>;
+};
+
+&localbus {
+ nor@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;
+ };
+ };
+ };
+};
+
+&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;
+ };
+};
+
+&usb_phy {
+ status = "okay";
+};
+
+&usb {
+ status = "okay";
+ vbus-supply = <&usb_vbus>;
+};
+
+&vmmc {
+ status = "okay";
+ gpios = <&gpiomm 1 GPIO_ACTIVE_HIGH>;
+};
diff --git a/target/linux/lantiq/files/arch/mips/boot/dts/ARV752DPW22.dts b/target/linux/lantiq/files/arch/mips/boot/dts/ARV752DPW22.dts
new file mode 100644
index 0000000000..1d4d662ab3
--- /dev/null
+++ b/target/linux/lantiq/files/arch/mips/boot/dts/ARV752DPW22.dts
@@ -0,0 +1,268 @@
+/dts-v1/;
+
+#include "danube.dtsi"
+
+#include <dt-bindings/input/input.h>
+
+/ {
+ compatible = "arcadyan,arv752dpw22", "lantiq,xway", "lantiq,danube";
+ model = "Arcor 803";
+
+ chosen {
+ bootargs = "console=ttyLTQ0,115200";
+ };
+
+ aliases {
+ led-boot = &power_red;
+ led-failsafe = &power_blue;
+ led-running = &power_red;
+ led-upgrade = &power_red;
+
+ led-dsl = &internet_red;
+ led-usb = &umts;
+ led-wifi = &wifi;
+ };
+
+ memory@0 {
+ reg = <0x0 0x4000000>;
+ };
+
+ 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>;
+ };
+ };
+
+ usb_vbus: regulator-usb-vbus {
+ compatible = "regulator-fixed";
+
+ regulator-name = "USB_VBUS";
+
+ regulator-min-microvolt = <5000000>;
+ regulator-max-microvolt = <5000000>;
+
+ gpio = <&gpiomm 0 GPIO_ACTIVE_HIGH>;
+ enable-active-high;
+ };
+};
+
+&gpio {
+ pinctrl-names = "default";
+ pinctrl-0 = <&state_default>;
+
+ state_default: pinmux {
+ ebu {
+ lantiq,groups = "ebu cs1";
+ lantiq,function = "ebu";
+ };
+ exin {
+ lantiq,groups = "exin1";
+ lantiq,function = "exin";
+ lantiq,pull = <2>;
+ lantiq,output = <0>;
+ };
+ pci_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>;
+ };
+ };
+};
+
+
+&gpiomm {
+ status = "okay";
+ lantiq,shadow = <3>;
+};
+
+&gsw {
+ phy-mode = "mii";
+ mtd-mac-address = <&boardconfig 0x16>;
+};
+
+&localbus {
+ nor@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;
+ };
+ };
+ };
+};
+
+&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>;
+ };
+};
+
+&usb_phy {
+ status = "okay";
+};
+
+&usb {
+ status = "okay";
+ vbus-supply = <&usb_vbus>;
+};
+
+&vmmc {
+ status = "okay";
+ gpios = <&gpiomm 1 GPIO_ACTIVE_HIGH>;
+};
diff --git a/target/linux/lantiq/files/arch/mips/boot/dts/ARV8539PW22.dts b/target/linux/lantiq/files/arch/mips/boot/dts/ARV8539PW22.dts
new file mode 100644
index 0000000000..1e55d81590
--- /dev/null
+++ b/target/linux/lantiq/files/arch/mips/boot/dts/ARV8539PW22.dts
@@ -0,0 +1,192 @@
+/dts-v1/;
+
+#include "danube.dtsi"
+
+#include <dt-bindings/input/input.h>
+
+/ {
+ compatible = "arcadyan,arv8539pw22", "lantiq,xway", "lantiq,danube";
+ model = "Speedport W 504V Typ A";
+
+ chosen {
+ bootargs = "console=ttyLTQ0,115200";
+ };
+
+ aliases {
+ led-boot = &power_green;
+ led-failsafe = &power_red;
+ led-running = &power_green;
+ led-upgrade = &power_green;
+
+ led-dsl = &dsl_green;
+ led-internet = &online_green;
+ led-wifi = &wireless_green;
+ };
+
+ memory@0 {
+ reg = <0x0 0x4000000>;
+ };
+
+ 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
+ */
+ };
+
+ usb_vbus: regulator-usb-vbus {
+ compatible = "regulator-fixed";
+
+ regulator-name = "USB_VBUS";
+
+ regulator-min-microvolt = <5000000>;
+ regulator-max-microvolt = <5000000>;
+
+ gpio = <&gpio 14 GPIO_ACTIVE_HIGH>;
+ enable-active-high;
+ };
+};
+
+&gpio {
+ pinctrl-names = "default";
+ pinctrl-0 = <&state_default>;
+
+ state_default: pinmux {
+ pci_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>;
+ };
+ };
+};
+
+&gsw {
+ phy-mode = "mii";
+ mtd-mac-address = <&art 0x16>;
+};
+
+&localbus {
+ nor@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;
+ };
+ };
+ };
+};
+
+&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>;
+ };
+};
+
+&usb_phy {
+ status = "okay";
+};
+
+&usb {
+ status = "okay";
+ vbus-supply = <&usb_vbus>;
+};
+
+&vmmc {
+ status = "okay";
+ gpios = <&gpio 31 GPIO_ACTIVE_HIGH>;
+};
diff --git a/target/linux/lantiq/files/arch/mips/boot/dts/ASL56026.dts b/target/linux/lantiq/files/arch/mips/boot/dts/ASL56026.dts
new file mode 100644
index 0000000000..90bfcabcb5
--- /dev/null
+++ b/target/linux/lantiq/files/arch/mips/boot/dts/ASL56026.dts
@@ -0,0 +1,171 @@
+/dts-v1/;
+
+#include "vr9.dtsi"
+
+#include <dt-bindings/input/input.h>
+#include <dt-bindings/mips/lantiq_rcu_gphy.h>
+
+/ {
+ compatible = "alphanetworks,asl56026", "lantiq,xway", "lantiq,vr9";
+ model = "BT OpenReach VDSL Modem";
+
+ chosen {
+ bootargs = "console=ttyLTQ0,115200";
+ };
+
+ aliases {
+ led-boot = &power_green;
+ led-failsafe = &power_red;
+ led-running = &power_green;
+ led-upgrade = &power_green;
+
+ led-dsl = &dsl;
+ };
+
+ memory@0 {
+ reg = <0x0 0x2000000>;
+ };
+
+ 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";
+ reg = <0>;
+
+ phy11: ethernet-phy@11 {
+ reg = <0x11>;
+ compatible = "lantiq,phy22f", "ethernet-phy-ieee802.3-c22";
+ };
+
+ phy14: ethernet-phy@14 {
+ reg = <0x14>;
+ compatible = "lantiq,phy22f", "ethernet-phy-ieee802.3-c22";
+ };
+ };
+};
+
+&gphy0 {
+ lantiq,gphy-mode = <GPHY_MODE_FE>;
+};
+
+&gphy1 {
+ lantiq,gphy-mode = <GPHY_MODE_FE>;
+};
+
+&gpio {
+ pinctrl-names = "default";
+ pinctrl-0 = <&state_default>;
+
+ state_default: pinmux {
+ mdio {
+ lantiq,groups = "mdio";
+ lantiq,function = "mdio";
+ };
+ };
+};
+
+&localbus {
+ nor@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;
+ };
+ };
+ };
+};
diff --git a/target/linux/lantiq/files/arch/mips/boot/dts/BTHOMEHUBV2B.dts b/target/linux/lantiq/files/arch/mips/boot/dts/BTHOMEHUBV2B.dts
new file mode 100644
index 0000000000..e126065ea6
--- /dev/null
+++ b/target/linux/lantiq/files/arch/mips/boot/dts/BTHOMEHUBV2B.dts
@@ -0,0 +1,263 @@
+/dts-v1/;
+
+#include "danube.dtsi"
+
+#include <dt-bindings/input/input.h>
+
+/ {
+ compatible = "bt,homehub-v2b", "lantiq,xway", "lantiq,danube";
+ model = "BT Home Hub 2B"; /* SoC: Lantiq Danube-S PSB 50712 @ 333MHz V1.3/1.5 */
+
+ chosen {
+ bootargs = "console=ttyLTQ0,115200";
+ };
+
+ aliases {
+ led-boot = &power_orange;
+ led-failsafe = &power_red;
+ led-running = &power_blue;
+ led-upgrade = &power_blue;
+
+ led-dsl = &broadband_blue;
+ led-wifi = &wireless_blue;
+ };
+
+ memory@0 { /* RAM: Samsung K4H511638F-LC 64MB */
+ reg = <0x0 0x4000000>;
+ };
+
+ 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>;
+ };
+ };
+};
+
+&gpio {
+ 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>;
+ };
+ };
+};
+
+&gpios {
+ status = "okay";
+};
+
+&gsw {
+ phy-mode = "rmii";
+};
+
+&localbus {
+ nor@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@1 { /* 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>;
+ };
+ };
+ };
+};
+
+&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 */
+ };
+};
+
+&usb_phy {
+ status = "okay";
+};
+
+&usb {
+ status = "okay";
+};
+
+&vmmc {
+ status = "okay";
+ gpios = <&gpio 31 GPIO_ACTIVE_HIGH>;
+};
diff --git a/target/linux/lantiq/files/arch/mips/boot/dts/BTHOMEHUBV3A.dts b/target/linux/lantiq/files/arch/mips/boot/dts/BTHOMEHUBV3A.dts
new file mode 100644
index 0000000000..b854ac0a99
--- /dev/null
+++ b/target/linux/lantiq/files/arch/mips/boot/dts/BTHOMEHUBV3A.dts
@@ -0,0 +1,216 @@
+/dts-v1/;
+
+#include "ar9.dtsi"
+
+#include <dt-bindings/input/input.h>
+
+/ {
+ compatible = "bt,homehub-v3a", "lantiq,xway", "lantiq,ar9";
+ model = "BT Home Hub 3A"; /* SoC: Lantiq ar9 @ 333MHz */
+
+ chosen {
+ bootargs = "console=ttyLTQ0,115200";
+ };
+
+ aliases {
+ led-boot = &power_orange;
+ led-failsafe = &power_red;
+ led-running = &power_blue;
+ led-upgrade = &power_blue;
+
+ led-dsl = &broadband_blue;
+ led-wifi = &wireless_blue;
+ };
+
+ memory@0 { /* RAM: Samsung K4H511638F-LC 64MB */
+ reg = <0x0 0x4000000>;
+ };
+
+ 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>;
+ };
+ };
+
+ usb_vbus: regulator-usb-vbus {
+ compatible = "regulator-fixed";
+
+ regulator-name = "USB_VBUS";
+
+ regulator-min-microvolt = <5000000>;
+ regulator-max-microvolt = <5000000>;
+
+ gpio = <&gpio 33 GPIO_ACTIVE_HIGH>;
+ enable-active-high;
+ };
+};
+
+&gpio {
+ pinctrl-names = "default";
+ pinctrl-0 = <&state_default>;
+
+ state_default: pinmux {
+ 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>;
+ };
+ };
+};
+
+&gsw {
+ phy-mode = "rgmii";
+};
+
+&localbus {
+ nand@1 { /* 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>;
+ };
+ };
+ };
+};
+
+&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 */
+ };
+};
+
+&usb_phy0 {
+ status = "okay";
+};
+
+&usb0 {
+ status = "okay";
+ vbus-supply = <&usb_vbus>;
+};
diff --git a/target/linux/lantiq/files/arch/mips/boot/dts/BTHOMEHUBV5A.dts b/target/linux/lantiq/files/arch/mips/boot/dts/BTHOMEHUBV5A.dts
new file mode 100644
index 0000000000..166eec3419
--- /dev/null
+++ b/target/linux/lantiq/files/arch/mips/boot/dts/BTHOMEHUBV5A.dts
@@ -0,0 +1,300 @@
+/dts-v1/;
+
+#include "vr9.dtsi"
+
+#include <dt-bindings/input/input.h>
+#include <dt-bindings/mips/lantiq_rcu_gphy.h>
+
+/ {
+ compatible = "bt,homehub-v5a", "lantiq,xway", "lantiq,vr9";
+ model = "BT Home Hub 5A";
+
+ chosen {
+ bootargs = "console=ttyLTQ0,115200";
+ };
+
+ aliases {
+ led-boot = &power_green;
+ led-failsafe = &power_red;
+ led-running = &power_blue;
+ led-upgrade = &power_blue;
+
+ led-dsl = &broadband_blue;
+ led-wifi = &wireless_blue;
+ };
+
+ memory@0 {
+ reg = <0x0 0x8000000>;
+ };
+
+ 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_POWER2>;
+ };
+ };
+
+ 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>;
+ };
+ };
+
+ usb_vbus: regulator-usb-vbus {
+ compatible = "regulator-fixed";
+
+ regulator-name = "USB_VBUS";
+
+ regulator-min-microvolt = <5000000>;
+ regulator-max-microvolt = <5000000>;
+
+ gpio = <&gpio 33 GPIO_ACTIVE_HIGH>;
+ enable-active-high;
+ };
+};
+
+&eth0 {
+ lan: interface@0 {
+ compatible = "lantiq,xrx200-pdi";
+ #address-cells = <1>;
+ #size-cells = <0>;
+ reg = <0>;
+ lantiq,switch;
+
+ ethernet@0 {
+ compatible = "lantiq,xrx200-pdi-port";
+ reg = <0>;
+ phy-mode = "rgmii";
+ phy-handle = <&phy0>;
+ };
+ ethernet@1 {
+ compatible = "lantiq,xrx200-pdi-port";
+ reg = <1>;
+ phy-mode = "rgmii";
+ phy-handle = <&phy1>;
+ };
+ ethernet@2 {
+ compatible = "lantiq,xrx200-pdi-port";
+ reg = <2>;
+ phy-mode = "gmii";
+ phy-handle = <&phy11>;
+ };
+ ethernet@4 {
+ compatible = "lantiq,xrx200-pdi-port";
+ reg = <4>;
+ phy-mode = "gmii";
+ phy-handle = <&phy13>;
+ };
+ ethernet@5 {
+ compatible = "lantiq,xrx200-pdi-port";
+ reg = <5>;
+ phy-mode = "rgmii";
+ phy-handle = <&phy5>;
+ };
+ };
+
+ mdio@0 {
+ #address-cells = <1>;
+ #size-cells = <0>;
+ compatible = "lantiq,xrx200-mdio";
+ reg = <0>;
+
+ phy0: ethernet-phy@0 {
+ reg = <0x0>;
+ compatible = "lantiq,phy11g", "ethernet-phy-ieee802.3-c22";
+ };
+ phy1: ethernet-phy@1 {
+ reg = <0x1>;
+ compatible = "lantiq,phy11g", "ethernet-phy-ieee802.3-c22";
+ };
+ phy5: ethernet-phy@5 {
+ reg = <0x5>;
+ compatible = "lantiq,phy11g", "ethernet-phy-ieee802.3-c22";
+ };
+ phy11: ethernet-phy@11 {
+ reg = <0x11>;
+ compatible = "lantiq,phy11g", "ethernet-phy-ieee802.3-c22";
+ };
+ phy13: ethernet-phy@13 {
+ reg = <0x13>;
+ compatible = "lantiq,phy11g", "ethernet-phy-ieee802.3-c22";
+ };
+ };
+};
+
+&gphy0 {
+ lantiq,gphy-mode = <GPHY_MODE_GE>;
+};
+
+&gphy1 {
+ lantiq,gphy-mode = <GPHY_MODE_GE>;
+};
+
+&gpio {
+ pinctrl-names = "default";
+ pinctrl-0 = <&state_default>;
+
+ state_default: pinmux {
+ 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>;
+ };
+ };
+};
+
+&localbus {
+ nand@1 {
+ 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
+ */
+ };
+ };
+};
+
+&pci0 {
+ status = "okay";
+ gpio-reset = <&gpio 21 GPIO_ACTIVE_HIGH>;
+
+ wifi@168c,002d {
+ compatible = "pci168c,002d";
+ reg = <0x7000 0 0 0 0>;
+ qca,no-eeprom; /* load from ath9k-eeprom-pci-0000:00:0e.0.bin */
+ qca,disable-5ghz;
+ };
+};
+
+&usb_phy0 {
+ status = "okay";
+};
+
+&usb0 {
+ status = "okay";
+ vbus-supply = <&usb_vbus>;
+};
diff --git a/target/linux/lantiq/files/arch/mips/boot/dts/DGN1000B.dts b/target/linux/lantiq/files/arch/mips/boot/dts/DGN1000B.dts
new file mode 100644
index 0000000000..8c61e1b743
--- /dev/null
+++ b/target/linux/lantiq/files/arch/mips/boot/dts/DGN1000B.dts
@@ -0,0 +1,174 @@
+/dts-v1/;
+
+#include "amazonse.dtsi"
+
+#include <dt-bindings/input/input.h>
+
+/ {
+ compatible = "netgear,dgn1000b", "lantiq,xway", "lantiq,ase";
+ model = "Netgear DGN1000B";
+
+ chosen {
+ bootargs = "console=ttyLTQ0,115200";
+ };
+
+ aliases {
+ led-boot = &power;
+ led-failsafe = &power;
+ led-running = &power;
+ led-upgrade = &power;
+
+ led-dsl = &dsl;
+ led-internet = &online_green;
+ };
+
+ memory@0 {
+ reg = <0x0 0x1000000>;
+ };
+
+ 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
+ */
+ };
+};
+
+&gpio {
+ 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>;
+ };
+ };
+};
+
+&gsw {
+ phy-mode = "mii";
+ mac-address = [ 00 11 22 33 44 55 ];
+};
+
+&spi {
+ 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";
+ };
+ };
+ };
+};
+
+&usb_phy {
+ status = "okay";
+};
+
+&usb {
+ status = "okay";
+};
diff --git a/target/linux/lantiq/files/arch/mips/boot/dts/DGN3500.dts b/target/linux/lantiq/files/arch/mips/boot/dts/DGN3500.dts
new file mode 100644
index 0000000000..98a2ebd98e
--- /dev/null
+++ b/target/linux/lantiq/files/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/arch/mips/boot/dts/DGN3500.dtsi b/target/linux/lantiq/files/arch/mips/boot/dts/DGN3500.dtsi
new file mode 100644
index 0000000000..b0facb4107
--- /dev/null
+++ b/target/linux/lantiq/files/arch/mips/boot/dts/DGN3500.dtsi
@@ -0,0 +1,214 @@
+#include "ar9.dtsi"
+
+#include <dt-bindings/input/input.h>
+
+/ {
+ chosen {
+ bootargs = "root= console=ttyLTQ0,115200";
+ };
+
+ aliases {
+ led-boot = &power_green;
+ led-failsafe = &power_red;
+ led-running = &power_green;
+ led-upgrade = &power_green;
+
+ led-dsl = &dsl;
+ led-internet = &internet;
+ led-usb = &led_usb;
+ led-wifi = &wifi_green;
+ };
+
+ memory@0 {
+ reg = <0x0 0x4000000>;
+ };
+
+ rtl8366rb {
+ compatible = "realtek,rtl8366rb";
+ gpio-sda = <&gpio 35 GPIO_ACTIVE_HIGH>;
+ gpio-sck = <&gpio 37 GPIO_ACTIVE_HIGH>;
+
+ realtek,initvals = <
+ 0x0000 0x0830
+ 0x0400 0x8130
+ 0x000A 0x83ED
+ 0x0F51 0x0017
+ 0x02F5 0x0048
+ 0x02FA 0xFFDF
+ 0x02FB 0xFFE0
+ 0x0450 0x0000
+ 0x0401 0x0000
+ 0x0431 0x0960
+ >;
+ };
+
+ 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>;
+ };
+ led_usb: usb {
+ label = "dgn3500:green:usb";
+ gpios = <&gpio 22 GPIO_ACTIVE_LOW>;
+ };
+ power_green: power {
+ label = "dgn3500:green:power";
+ gpios = <&gpio 34 GPIO_ACTIVE_LOW>;
+ default-state = "keep";
+ };
+ power_red: power2 {
+ label = "dgn3500:red:power";
+ gpios = <&gpio 39 GPIO_ACTIVE_LOW>;
+ };
+ wifi_green: wifi {
+ label = "dgn3500:green:wireless";
+ gpios = <&gpio 14 GPIO_ACTIVE_LOW>;
+ };
+ wifi2 {
+ label = "dgn3500:amber:wireless";
+ gpios = <&gpio 51 GPIO_ACTIVE_LOW>;
+ };
+ wps {
+ label = "dgn3500:green:wps";
+ gpios = <&gpio 52 GPIO_ACTIVE_LOW>;
+ };
+ };
+};
+
+&gpio {
+ pinctrl-names = "default";
+ pinctrl-0 = <&state_default>;
+
+ state_default: pinmux {
+ exin {
+ lantiq,groups = "exin1";
+ lantiq,function = "exin";
+ };
+ 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>;
+ };
+ };
+};
+
+&gsw {
+ phy-mode = "mii";
+};
+
+&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 {
+ status = "okay";
+
+ pinctrl-names = "default";
+ pinctrl-0 = <&pins_spi_default>;
+
+ 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";
+ };
+ };
+ };
+};
+
+&usb_phy0 {
+ status = "okay";
+};
+
+&usb0 {
+ status = "okay";
+};
diff --git a/target/linux/lantiq/files/arch/mips/boot/dts/DGN3500B.dts b/target/linux/lantiq/files/arch/mips/boot/dts/DGN3500B.dts
new file mode 100644
index 0000000000..d1d788cc7d
--- /dev/null
+++ b/target/linux/lantiq/files/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/arch/mips/boot/dts/DM200.dts b/target/linux/lantiq/files/arch/mips/boot/dts/DM200.dts
new file mode 100644
index 0000000000..8cf3456ee2
--- /dev/null
+++ b/target/linux/lantiq/files/arch/mips/boot/dts/DM200.dts
@@ -0,0 +1,217 @@
+/dts-v1/;
+
+#include "vr9.dtsi"
+
+#include <dt-bindings/input/input.h>
+#include <dt-bindings/mips/lantiq_rcu_gphy.h>
+
+/ {
+ compatible = "netgear,dm200", "lantiq,xway", "lantiq,vr9";
+ model = "Netgear DM200";
+
+ chosen {
+ bootargs = "console=ttyLTQ0,115200";
+ };
+
+ aliases {
+ led-boot = &power_green;
+ led-failsafe = &power_amber;
+ led-running = &power_green;
+ led-upgrade = &power_green;
+
+ led-dsl = &dsl_green;
+ };
+
+ memory@0 {
+ reg = <0x0 0x4000000>;
+ };
+
+ 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>;
+ };
+ };
+};
+
+&eth0 {
+ lantiq,phys = <&gphy1>;
+
+ lan: interface@0 {
+ compatible = "lantiq,xrx200-pdi";
+ #address-cells = <1>;
+ #size-cells = <0>;
+ reg = <0>;
+
+ ethernet@4 {
+ compatible = "lantiq,xrx200-pdi-port";
+ reg = <4>;
+ phy-mode = "mii";
+ phy-handle = <&phy13>;
+ };
+ };
+
+ mdio@0 {
+ #address-cells = <1>;
+ #size-cells = <0>;
+ compatible = "lantiq,xrx200-mdio";
+ reg = <0>;
+
+ phy13: ethernet-phy@13 {
+ reg = <0x13>;
+ compatible = "lantiq,phy22f", "ethernet-phy-ieee802.3-c22";
+ };
+ };
+};
+
+&gphy1 {
+ lantiq,gphy-mode = <GPHY_MODE_FE>;
+};
+
+&gpio {
+ 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>;
+ };
+ };
+};
+
+&pcie0 {
+ status = "disabled";
+};
+
+&spi {
+ status = "okay";
+
+ pinctrl-names = "default";
+ pinctrl-0 = <&pins_spi_default>;
+
+ 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;
+ };
+ };
+ };
+};
diff --git a/target/linux/lantiq/files/arch/mips/boot/dts/EASY50712.dts b/target/linux/lantiq/files/arch/mips/boot/dts/EASY50712.dts
new file mode 100644
index 0000000000..ec287ab40b
--- /dev/null
+++ b/target/linux/lantiq/files/arch/mips/boot/dts/EASY50712.dts
@@ -0,0 +1,81 @@
+/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>;
+ };
+};
+
+&gpio {
+ 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>;
+ };
+ };
+};
+
+&gsw {
+ phy-mode = "rmii";
+};
+
+&localbus {
+ nor@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>;
+ };
+ };
+ };
+};
diff --git a/target/linux/lantiq/files/arch/mips/boot/dts/EASY50810.dts b/target/linux/lantiq/files/arch/mips/boot/dts/EASY50810.dts
new file mode 100644
index 0000000000..21562dce21
--- /dev/null
+++ b/target/linux/lantiq/files/arch/mips/boot/dts/EASY50810.dts
@@ -0,0 +1,87 @@
+/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>;
+ };
+};
+
+&gpio {
+ 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>;
+ };
+ };
+};
+
+&gsw {
+ phy-mode = "rmii";
+};
+
+&localbus {
+ nor@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>;
+ };
+ };
+ };
+};
+
+&stp {
+ status = "okay";
+ lantiq,shadow = <0xfff>;
+ lantiq,groups = <0x3>;
+};
diff --git a/target/linux/lantiq/files/arch/mips/boot/dts/EASY80920.dtsi b/target/linux/lantiq/files/arch/mips/boot/dts/EASY80920.dtsi
new file mode 100644
index 0000000000..781cdfdb5b
--- /dev/null
+++ b/target/linux/lantiq/files/arch/mips/boot/dts/EASY80920.dtsi
@@ -0,0 +1,313 @@
+#include "vr9.dtsi"
+
+#include <dt-bindings/input/input.h>
+#include <dt-bindings/mips/lantiq_rcu_gphy.h>
+
+/ {
+ compatible = "lantiq,easy80920", "lantiq,xway", "lantiq,vr9";
+
+ chosen {
+ bootargs = "console=ttyLTQ0,115200";
+ };
+
+ aliases {
+ led-boot = &power;
+ led-failsafe = &power;
+ led-running = &power;
+ led-upgrade = &power;
+
+ led-usb = &led_usb1;
+ led-usb2 = &led_usb2;
+ };
+
+ memory@0 {
+ reg = <0x0 0x4000000>;
+ };
+
+ 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>;
+ };
+ led_usb1: usb1 {
+ label = "easy80920:green:usb1";
+ gpios = <&stp 18 GPIO_ACTIVE_HIGH>;
+ };
+ led_usb2: usb2 {
+ label = "easy80920:green:usb2";
+ gpios = <&stp 15 GPIO_ACTIVE_HIGH>;
+ };
+ sd {
+ label = "easy80920:green:sd";
+ gpios = <&stp 14 GPIO_ACTIVE_HIGH>;
+ };
+ wps {
+ label = "easy80920:green:wps";
+ gpios = <&stp 12 GPIO_ACTIVE_HIGH>;
+ };
+ };
+
+ usb_vbus: regulator-usb-vbus {
+ compatible = "regulator-fixed";
+
+ regulator-name = "USB_VBUS";
+
+ regulator-min-microvolt = <5000000>;
+ regulator-max-microvolt = <5000000>;
+
+ gpio = <&gpio 33 GPIO_ACTIVE_HIGH>;
+ enable-active-high;
+ };
+};
+
+&eth0 {
+ lan: interface@0 {
+ compatible = "lantiq,xrx200-pdi";
+ #address-cells = <1>;
+ #size-cells = <0>;
+ reg = <0>;
+ lantiq,switch;
+
+ ethernet@4 {
+ compatible = "lantiq,xrx200-pdi-port";
+ reg = <4>;
+ phy-mode = "gmii";
+ phy-handle = <&phy13>;
+ };
+ ethernet@2 {
+ compatible = "lantiq,xrx200-pdi-port";
+ reg = <2>;
+ phy-mode = "gmii";
+ phy-handle = <&phy11>;
+ };
+ ethernet@1 {
+ compatible = "lantiq,xrx200-pdi-port";
+ reg = <1>;
+ phy-mode = "rgmii";
+ phy-handle = <&phy1>;
+ };
+ ethernet@0 {
+ compatible = "lantiq,xrx200-pdi-port";
+ reg = <0>;
+ phy-mode = "rgmii";
+ phy-handle = <&phy0>;
+ };
+ };
+
+ wan: interface@1 {
+ compatible = "lantiq,xrx200-pdi";
+ #address-cells = <1>;
+ #size-cells = <0>;
+ reg = <1>;
+ lantiq,wan;
+
+ ethernet@5 {
+ compatible = "lantiq,xrx200-pdi-port";
+ reg = <5>;
+ phy-mode = "rgmii";
+ phy-handle = <&phy5>;
+ };
+ };
+
+ mdio@0 {
+ #address-cells = <1>;
+ #size-cells = <0>;
+ compatible = "lantiq,xrx200-mdio";
+ reg = <0>;
+
+ phy0: ethernet-phy@0 {
+ reg = <0x0>;
+ compatible = "lantiq,phy11g", "ethernet-phy-ieee802.3-c22";
+ };
+ phy1: ethernet-phy@1 {
+ reg = <0x1>;
+ compatible = "lantiq,phy11g", "ethernet-phy-ieee802.3-c22";
+ };
+ phy5: ethernet-phy@5 {
+ reg = <0x5>;
+ compatible = "lantiq,phy11g", "ethernet-phy-ieee802.3-c22";
+ };
+ phy11: ethernet-phy@11 {
+ reg = <0x11>;
+ compatible = "lantiq,phy11g", "ethernet-phy-ieee802.3-c22";
+ };
+ phy13: ethernet-phy@13 {
+ reg = <0x13>;
+ compatible = "lantiq,phy11g", "ethernet-phy-ieee802.3-c22";
+ };
+ };
+};
+
+&gphy0 {
+ lantiq,gphy-mode = <GPHY_MODE_GE>;
+};
+
+&gphy1 {
+ lantiq,gphy-mode = <GPHY_MODE_GE>;
+};
+
+&gpio {
+ pinctrl-names = "default";
+ pinctrl-0 = <&state_default>;
+
+ state_default: pinmux {
+ exin3 {
+ lantiq,groups = "exin3";
+ lantiq,function = "exin";
+ };
+ 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>;
+ };
+ };
+};
+
+&spi {
+ pinctrl-names = "default";
+ pinctrl-0 = <&pins_spi_default>;
+
+ status = "okay";
+
+ 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";
+ };
+ };
+ };
+};
+
+&stp {
+ status = "okay";
+
+ lantiq,shadow = <0xffff>;
+ lantiq,groups = <0x7>;
+ lantiq,dsl = <0x3>;
+ lantiq,phy1 = <0x7>;
+ lantiq,phy2 = <0x7>;
+ /* lantiq,rising; */
+};
+
+&usb_phy0 {
+ status = "okay";
+};
+
+&usb0 {
+ status = "okay";
+ vbus-supply = <&usb_vbus>;
+};
diff --git a/target/linux/lantiq/files/arch/mips/boot/dts/EASY80920NAND.dts b/target/linux/lantiq/files/arch/mips/boot/dts/EASY80920NAND.dts
new file mode 100644
index 0000000000..0134a7c177
--- /dev/null
+++ b/target/linux/lantiq/files/arch/mips/boot/dts/EASY80920NAND.dts
@@ -0,0 +1,65 @@
+/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";
+ };
+};
+
+&localbus {
+ nand@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/arch/mips/boot/dts/EASY80920NOR.dts b/target/linux/lantiq/files/arch/mips/boot/dts/EASY80920NOR.dts
new file mode 100644
index 0000000000..9adc0b4f92
--- /dev/null
+++ b/target/linux/lantiq/files/arch/mips/boot/dts/EASY80920NOR.dts
@@ -0,0 +1,39 @@
+/dts-v1/;
+
+#include "EASY80920.dtsi"
+
+/ {
+ compatible = "lantiq,easy80920-nor", "lantiq,easy80920", "lantiq,xway", "lantiq,vr9";
+ model = "Intel EASY80920 Nor";
+};
+
+&localbus {
+ nor@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/arch/mips/boot/dts/EASY88388.dts b/target/linux/lantiq/files/arch/mips/boot/dts/EASY88388.dts
new file mode 100644
index 0000000000..86f3b47c6b
--- /dev/null
+++ b/target/linux/lantiq/files/arch/mips/boot/dts/EASY88388.dts
@@ -0,0 +1,93 @@
+/dts-v1/;
+
+#include <dt-bindings/gpio/gpio.h>
+#include "falcon.dtsi"
+#include "falcon-sflash-16M.dtsi"
+
+/ {
+ model = "Lantiq Falcon FTTDP8 Reference Board";
+ compatible = "lantiq,easy88388", "lantiq,falcon";
+
+ aliases {
+ spi0 = &ebu_cs0;
+ };
+
+ memory@0 {
+ device_type = "memory";
+ reg = <0x0 0x4000000>; // 64M at 0x0
+ };
+
+ 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>;
+ };
+ TEST {
+ label = "easy88388:green:test";
+ gpios = <&gpio0 14 GPIO_ACTIVE_HIGH>;
+ };
+ STATUS {
+ label = "easy88388:green:status";
+ gpios = <&gpio1 5 GPIO_ACTIVE_HIGH>;
+ };
+ ERROR {
+ label = "easy88388:red:error";
+ gpios = <&gpio1 6 GPIO_ACTIVE_HIGH>;
+ };
+
+ DSL1 {
+ label = "easy88388:dsl:1";
+ gpios = <&gpio0 12 GPIO_ACTIVE_HIGH>;
+ };
+ DSL2 {
+ label = "easy88388:dsl:2";
+ gpios = <&gpio0 13 GPIO_ACTIVE_HIGH>;
+ };
+ DSL3 {
+ label = "easy88388:dsl:3";
+ gpios = <&gpio1 2 GPIO_ACTIVE_HIGH>;
+ };
+ DSL4 {
+ label = "easy88388:dsl:4";
+ gpios = <&gpio1 3 GPIO_ACTIVE_HIGH>;
+ };
+ DSL5 {
+ label = "easy88388:dsl:5";
+ gpios = <&gpio1 4 GPIO_ACTIVE_HIGH>;
+ };
+ DSL6 {
+ label = "easy88388:dsl:6";
+ gpios = <&gpio1 7 GPIO_ACTIVE_HIGH>;
+ };
+ DSL7 {
+ label = "easy88388:dsl:7";
+ gpios = <&gpio1 8 GPIO_ACTIVE_HIGH>;
+ };
+ DSL8 {
+ label = "easy88388:dsl:8";
+ gpios = <&gpio1 9 GPIO_ACTIVE_HIGH>;
+ };
+ };
+};
+
diff --git a/target/linux/lantiq/files/arch/mips/boot/dts/EASY88444.dts b/target/linux/lantiq/files/arch/mips/boot/dts/EASY88444.dts
new file mode 100644
index 0000000000..e1a934fc47
--- /dev/null
+++ b/target/linux/lantiq/files/arch/mips/boot/dts/EASY88444.dts
@@ -0,0 +1,72 @@
+/dts-v1/;
+
+#include <dt-bindings/gpio/gpio.h>
+#include "falcon.dtsi"
+#include "falcon-sflash-16M.dtsi"
+
+/ {
+ model = "Lantiq Falcon FTTdp G.FAST Reference Board";
+ compatible = "lantiq,easy88444", "lantiq,falcon";
+
+ aliases {
+ spi0 = &ebu_cs0;
+ };
+
+ memory@0 {
+ device_type = "memory";
+ reg = <0x0 0x4000000>; // 64M at 0x0
+ };
+
+ 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>;
+ };
+ TEST {
+ label = "easy88444:green:test";
+ gpios = <&gpio0 14 GPIO_ACTIVE_HIGH>;
+ };
+ STATUS {
+ label = "easy88444:green:status";
+ gpios = <&gpio1 5 GPIO_ACTIVE_HIGH>;
+ };
+
+ GFAST1 {
+ label = "easy88444:gfast:1";
+ gpios = <&gpio0 12 GPIO_ACTIVE_HIGH>;
+ };
+ GFAST2 {
+ label = "easy88444:gfast:2";
+ gpios = <&gpio0 13 GPIO_ACTIVE_HIGH>;
+ };
+ GFAST3 {
+ label = "easy88444:gfast:3";
+ gpios = <&gpio1 2 GPIO_ACTIVE_HIGH>;
+ };
+ GFAST4 {
+ label = "easy88444:gfast:4";
+ gpios = <&gpio1 3 GPIO_ACTIVE_HIGH>;
+ };
+ };
+};
+
diff --git a/target/linux/lantiq/files/arch/mips/boot/dts/EASY98000-base.dtsi b/target/linux/lantiq/files/arch/mips/boot/dts/EASY98000-base.dtsi
new file mode 100644
index 0000000000..cfe1140ac1
--- /dev/null
+++ b/target/linux/lantiq/files/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/arch/mips/boot/dts/EASY98000NAND.dts b/target/linux/lantiq/files/arch/mips/boot/dts/EASY98000NAND.dts
new file mode 100644
index 0000000000..a40cef3931
--- /dev/null
+++ b/target/linux/lantiq/files/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/arch/mips/boot/dts/EASY98000NOR.dts b/target/linux/lantiq/files/arch/mips/boot/dts/EASY98000NOR.dts
new file mode 100644
index 0000000000..ad53bf96e9
--- /dev/null
+++ b/target/linux/lantiq/files/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/arch/mips/boot/dts/EASY98000SFLASH.dts b/target/linux/lantiq/files/arch/mips/boot/dts/EASY98000SFLASH.dts
new file mode 100644
index 0000000000..bbe524e94e
--- /dev/null
+++ b/target/linux/lantiq/files/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/arch/mips/boot/dts/EASY98020.dts b/target/linux/lantiq/files/arch/mips/boot/dts/EASY98020.dts
new file mode 100644
index 0000000000..b66786a2ce
--- /dev/null
+++ b/target/linux/lantiq/files/arch/mips/boot/dts/EASY98020.dts
@@ -0,0 +1,91 @@
+/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>;
+ };
+ GE0_LINK {
+ label = "easy98020:ge0_link";
+ gpios = <&gpio1 9 GPIO_ACTIVE_HIGH>;
+ };
+ GE1_ACT {
+ label = "easy98020:ge1_act";
+ gpios = <&gpio1 6 GPIO_ACTIVE_HIGH>;
+ };
+ GE1_LINK {
+ label = "easy98020:ge1_link";
+ gpios = <&gpio1 5 GPIO_ACTIVE_HIGH>;
+ };
+ };
+};
diff --git a/target/linux/lantiq/files/arch/mips/boot/dts/EASY98020V18.dts b/target/linux/lantiq/files/arch/mips/boot/dts/EASY98020V18.dts
new file mode 100644
index 0000000000..9aa1be91ed
--- /dev/null
+++ b/target/linux/lantiq/files/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/arch/mips/boot/dts/EASY98021.dts b/target/linux/lantiq/files/arch/mips/boot/dts/EASY98021.dts
new file mode 100644
index 0000000000..38154d6f1c
--- /dev/null
+++ b/target/linux/lantiq/files/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/arch/mips/boot/dts/EASY98035SYNCE.dts b/target/linux/lantiq/files/arch/mips/boot/dts/EASY98035SYNCE.dts
new file mode 100644
index 0000000000..df941cdb67
--- /dev/null
+++ b/target/linux/lantiq/files/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/arch/mips/boot/dts/EASY98035SYNCE1588.dts b/target/linux/lantiq/files/arch/mips/boot/dts/EASY98035SYNCE1588.dts
new file mode 100644
index 0000000000..a3abc6e707
--- /dev/null
+++ b/target/linux/lantiq/files/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/arch/mips/boot/dts/FALCON-MDU.dts b/target/linux/lantiq/files/arch/mips/boot/dts/FALCON-MDU.dts
new file mode 100644
index 0000000000..6710bbe98e
--- /dev/null
+++ b/target/linux/lantiq/files/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/arch/mips/boot/dts/FALCON-SFP.dts b/target/linux/lantiq/files/arch/mips/boot/dts/FALCON-SFP.dts
new file mode 100644
index 0000000000..8d45de4ebe
--- /dev/null
+++ b/target/linux/lantiq/files/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/arch/mips/boot/dts/FRITZ3370-REV2-HYNIX.dts b/target/linux/lantiq/files/arch/mips/boot/dts/FRITZ3370-REV2-HYNIX.dts
new file mode 100644
index 0000000000..ebd6f6e4c8
--- /dev/null
+++ b/target/linux/lantiq/files/arch/mips/boot/dts/FRITZ3370-REV2-HYNIX.dts
@@ -0,0 +1,38 @@
+/dts-v1/;
+
+#include "FRITZ3370-REV2.dtsi"
+
+/ {
+ compatible = "avm,fritz3370-rev2-hynix", "avm,fritz3370-rev2", "lantiq,xway", "lantiq,vr9";
+ model = "AVM FRITZ!Box 3370 Rev. 2 (Hynix NAND)";
+};
+
+&localbus {
+ nand@1 {
+ compatible = "lantiq,nand-xway";
+ bank-width = <2>;
+ reg = <1 0x0 0x2000000>;
+ #address-cells = <1>;
+ #size-cells = <1>;
+
+ nand-ecc-mode = "soft";
+ nand-ecc-strength = <3>;
+ nand-ecc-step-size = <256>;
+
+ partitions {
+ compatible = "fixed-partitions";
+ #address-cells = <1>;
+ #size-cells = <1>;
+
+ partition@0 {
+ label = "kernel";
+ reg = <0x0 0x400000>;
+ };
+
+ partition@400000 {
+ label = "ubi";
+ reg = <0x400000 0x7c00000>;
+ };
+ };
+ };
+};
diff --git a/target/linux/lantiq/files/arch/mips/boot/dts/FRITZ3370-REV2-MICRON.dts b/target/linux/lantiq/files/arch/mips/boot/dts/FRITZ3370-REV2-MICRON.dts
new file mode 100644
index 0000000000..dcc97d2808
--- /dev/null
+++ b/target/linux/lantiq/files/arch/mips/boot/dts/FRITZ3370-REV2-MICRON.dts
@@ -0,0 +1,36 @@
+/dts-v1/;
+
+#include "FRITZ3370-REV2.dtsi"
+
+/ {
+ compatible = "avm,fritz3370-rev2-micron", "avm,fritz3370-rev2", "lantiq,xway", "lantiq,vr9";
+ model = "AVM FRITZ!Box 3370 Rev. 2 (Micron NAND)";
+};
+
+&localbus {
+ nand@1 {
+ compatible = "lantiq,nand-xway";
+ bank-width = <2>;
+ reg = <1 0x0 0x2000000>;
+ #address-cells = <1>;
+ #size-cells = <1>;
+
+ nand-ecc-mode = "on-die";
+
+ partitions {
+ compatible = "fixed-partitions";
+ #address-cells = <1>;
+ #size-cells = <1>;
+
+ partition@0 {
+ label = "kernel";
+ reg = <0x0 0x400000>;
+ };
+
+ partition@400000 {
+ label = "ubi";
+ reg = <0x400000 0x7c00000>;
+ };
+ };
+ };
+};
diff --git a/target/linux/lantiq/files/arch/mips/boot/dts/FRITZ3370-REV2.dtsi b/target/linux/lantiq/files/arch/mips/boot/dts/FRITZ3370-REV2.dtsi
new file mode 100644
index 0000000000..9a0359d1cc
--- /dev/null
+++ b/target/linux/lantiq/files/arch/mips/boot/dts/FRITZ3370-REV2.dtsi
@@ -0,0 +1,306 @@
+#include "vr9.dtsi"
+
+#include <dt-bindings/input/input.h>
+#include <dt-bindings/mips/lantiq_rcu_gphy.h>
+
+/ {
+ compatible = "avm,fritz3370-rev2", "lantiq,xway", "lantiq,vr9";
+ model = "AVM FRITZ!Box 3370 Rev. 2";
+
+ chosen {
+ bootargs = "console=ttyLTQ0,115200";
+ };
+
+ aliases {
+ led-boot = &power_green;
+ led-failsafe = &power_red;
+ led-running = &power_green;
+ led-upgrade = &power_green;
+
+ led-dsl = &dsl;
+ led-internet = &info_green;
+ led-wifi = &wifi;
+ };
+
+ memory@0 {
+ reg = <0x0 0x8000000>;
+ };
+
+ gpio-poweroff {
+ compatible = "gpio-poweroff";
+ gpios = <&gpio 45 GPIO_ACTIVE_HIGH>;
+ };
+
+ 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 = "wlan";
+ gpios = <&gpio 29 GPIO_ACTIVE_HIGH>;
+ linux,code = <KEY_WLAN>;
+ };
+ };
+
+ 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>;
+ };
+ };
+
+ usb0_vbus: regulator-usb0-vbus {
+ compatible = "regulator-fixed";
+
+ regulator-name = "USB0_VBUS";
+
+ regulator-min-microvolt = <5000000>;
+ regulator-max-microvolt = <5000000>;
+
+ gpio = <&gpio 14 GPIO_ACTIVE_HIGH>;
+ enable-active-high;
+ };
+
+ usb1_vbus: regulator-usb1-vbus {
+ compatible = "regulator-fixed";
+
+ regulator-name = "USB1_VBUS";
+
+ regulator-min-microvolt = <5000000>;
+ regulator-max-microvolt = <5000000>;
+
+ gpio = <&gpio 5 GPIO_ACTIVE_HIGH>;
+ enable-active-high;
+ };
+};
+
+&eth0 {
+ lan: interface@0 {
+ compatible = "lantiq,xrx200-pdi";
+ #address-cells = <1>;
+ #size-cells = <0>;
+ reg = <0>;
+ lantiq,switch;
+
+ ethernet@0 {
+ compatible = "lantiq,xrx200-pdi-port";
+ reg = <0>;
+ phy-mode = "rgmii";
+ phy-handle = <&phy0>;
+ gpios = <&gpio 37 GPIO_ACTIVE_HIGH>;
+ };
+
+ ethernet@1 {
+ compatible = "lantiq,xrx200-pdi-port";
+ reg = <1>;
+ phy-mode = "rgmii";
+ phy-handle = <&phy1>;
+ gpios = <&gpio 44 GPIO_ACTIVE_HIGH>;
+ };
+
+ ethernet@2 {
+ compatible = "lantiq,xrx200-pdi-port";
+ reg = <2>;
+ phy-mode = "gmii";
+ phy-handle = <&phy11>;
+ };
+
+ ethernet@4 {
+ compatible = "lantiq,xrx200-pdi-port";
+ reg = <4>;
+ phy-mode = "gmii";
+ phy-handle = <&phy13>;
+ };
+ };
+
+ mdio@0 {
+ #address-cells = <1>;
+ #size-cells = <0>;
+ compatible = "lantiq,xrx200-mdio";
+ reg = <0>;
+
+ phy0: ethernet-phy@0 {
+ reg = <0x0>;
+ compatible = "lantiq,phy11g", "ethernet-phy-ieee802.3-c22";
+ };
+
+ phy1: ethernet-phy@1 {
+ reg = <0x1>;
+ compatible = "lantiq,phy11g", "ethernet-phy-ieee802.3-c22";
+ };
+
+ phy11: ethernet-phy@11 {
+ reg = <0x11>;
+ compatible = "lantiq,phy11g", "ethernet-phy-ieee802.3-c22";
+ };
+
+ phy13: ethernet-phy@13 {
+ reg = <0x13>;
+ compatible = "lantiq,phy11g", "ethernet-phy-ieee802.3-c22";
+ };
+ };
+};
+
+&gphy0 {
+ lantiq,gphy-mode = <GPHY_MODE_GE>;
+};
+
+&gphy1 {
+ lantiq,gphy-mode = <GPHY_MODE_GE>;
+};
+
+&gpio {
+ pinctrl-names = "default";
+ pinctrl-0 = <&state_default>;
+
+ state_default: pinmux {
+ 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 = "io21";
+ 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>;
+ };
+ };
+};
+
+&pcie0 {
+ gpio-reset = <&gpio 21 GPIO_ACTIVE_HIGH>;
+
+ pcie@0 {
+ reg = <0 0 0 0 0>;
+ #interrupt-cells = <1>;
+ #size-cells = <2>;
+ #address-cells = <3>;
+ device_type = "pci";
+
+ wifi@0,0 {
+ compatible = "pci0,0";
+ reg = <0 0 0 0 0>;
+ qca,no-eeprom; /* load from ath9k-eeprom-pci-0000:01:00.0.bin */
+ };
+ };
+};
+
+&spi {
+ status = "okay";
+
+ pinctrl-names = "default";
+ pinctrl-0 = <&pins_spi_default>;
+
+ 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;
+ };
+ };
+};
+
+&usb_phy0 {
+ status = "okay";
+};
+
+&usb_phy1 {
+ status = "okay";
+};
+
+&usb0 {
+ status = "okay";
+ vbus-supply = <&usb0_vbus>;
+};
+
+&usb1 {
+ status = "okay";
+ vbus-supply = <&usb1_vbus>;
+};
diff --git a/target/linux/lantiq/files/arch/mips/boot/dts/FRITZ7312.dts b/target/linux/lantiq/files/arch/mips/boot/dts/FRITZ7312.dts
new file mode 100644
index 0000000000..796b941ede
--- /dev/null
+++ b/target/linux/lantiq/files/arch/mips/boot/dts/FRITZ7312.dts
@@ -0,0 +1,182 @@
+/dts-v1/;
+
+#include "ar9.dtsi"
+
+#include <dt-bindings/input/input.h>
+
+/ {
+ compatible = "avm,fritz7312", "lantiq,xway", "lantiq,ar9";
+ model = "AVM FRITZ!Box 7312";
+
+ chosen {
+ bootargs = "console=ttyLTQ0,115200";
+ };
+
+ aliases {
+ led-boot = &power;
+ led-failsafe = &power;
+ led-running = &power;
+ led-upgrade = &power;
+
+ led-internet = &info_green;
+ led-dsl = &power;
+ led-wifi = &wlan;
+ };
+
+ memory@0 {
+ reg = <0x0 0x4000000>;
+ };
+
+ gpio-keys-polled {
+ compatible = "gpio-keys-polled";
+ #address-cells = <1>;
+ #size-cells = <0>;
+ poll-interval = <100>;
+
+ wlan {
+ label = "wlan";
+ gpios = <&gpio 1 GPIO_ACTIVE_LOW>;
+ linux,code = <KEY_RFKILL>;
+ };
+ dect {
+ label = "dect";
+ gpios = <&gpio 2 GPIO_ACTIVE_LOW>;
+ linux,code = <KEY_PHONE>;
+ };
+ };
+
+ gpio-leds {
+ compatible = "gpio-leds";
+
+ power: power {
+ label = "fritz7312:green:power";
+ gpios = <&gpio 44 GPIO_ACTIVE_LOW>;
+ default-state = "keep";
+ };
+ voice {
+ label = "fritz7312:green:fon";
+ gpios = <&gpio 47 GPIO_ACTIVE_LOW>;
+ };
+ dect {
+ label = "fritz7312:green:dect";
+ gpios = <&gpio 38 GPIO_ACTIVE_LOW>;
+ };
+ wlan: wlan {
+ label = "fritz7312:green:wlan";
+ gpios = <&gpio 37 GPIO_ACTIVE_LOW>;
+ };
+ info_green: info_green {
+ label = "fritz7312:green:info";
+ gpios = <&gpio 35 GPIO_ACTIVE_LOW>;
+ };
+ };
+};
+
+&gpio {
+ pinctrl-names = "default";
+ pinctrl-0 = <&state_default>;
+
+ state_default: pinmux {
+ pci {
+ lantiq,groups = "gnt1", "req1", "req2", "req4", "gnt2", "gnt3", "gnt4";
+ lantiq,function = "pci";
+ };
+ pci-in {
+ lantiq,groups = "req1", "req2", "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>;
+ };
+ ar8030-intr {
+ lantiq,groups = "exin3";
+ lantiq,function = "exin";
+ lantiq,pull = <2>;
+ lantiq,output = <0>;
+ };
+ ar8030-clk {
+ lantiq,groups = "clkout2";
+ lantiq,output = <1>;
+ lantiq,open-drain;
+ };
+ ar8030-rst {
+ lantiq,pins = "io34";
+ lantiq,output = <1>;
+ lantiq,pull = <2>;
+ lantiq,open-drain;
+ };
+ };
+};
+
+&gsw {
+ phy-mode = "rmii";
+ phy-handle = <&phy0>;
+ mtd-mac-address = <&ath9k_cal 0xa91>;
+ mtd-mac-address-increment = <(-2)>;
+
+ mdio-bus {
+ #address-cells = <1>;
+ #size-cells = <0>;
+ reg = <0>;
+
+ phy0: ethernet-phy@0 {
+ reg = <0>;
+ reset-gpios = <&gpio 34 GPIO_ACTIVE_LOW>;
+ };
+ };
+};
+
+&localbus {
+ nor@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;
+ };
+ };
+ };
+};
+
+&pci0 {
+ status = "okay";
+ req-mask = <0xf>;
+ gpio-reset = <&gpio 21 GPIO_ACTIVE_LOW>;
+
+ wifi@0,0 {
+ compatible = "pci0,0";
+ reg = <0x7000 0 0 0 0>;
+ qca,no-eeprom; /* load from ath9k-eeprom-pci-0000:00:0e.0.bin */
+ };
+};
diff --git a/target/linux/lantiq/files/arch/mips/boot/dts/FRITZ7320.dts b/target/linux/lantiq/files/arch/mips/boot/dts/FRITZ7320.dts
new file mode 100644
index 0000000000..a4afca11fa
--- /dev/null
+++ b/target/linux/lantiq/files/arch/mips/boot/dts/FRITZ7320.dts
@@ -0,0 +1,172 @@
+/dts-v1/;
+
+#include "ar9.dtsi"
+
+#include <dt-bindings/input/input.h>
+
+/ {
+ compatible = "avm,fritz7320", "lantiq,xway", "lantiq,ar9";
+ model = "AVM FRITZ!Box 7320";
+
+ chosen {
+ bootargs = "console=ttyLTQ0,115200";
+ };
+
+ aliases {
+ led-boot = &power;
+ led-failsafe = &power;
+ led-running = &power;
+ led-upgrade = &power;
+
+ led-internet = &info_green;
+ led-dsl = &power;
+ led-wifi = &wlan;
+ };
+
+ memory@0 {
+ reg = <0x0 0x4000000>;
+ };
+
+ 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>;
+ };
+ };
+};
+
+&gpio {
+ 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>;
+ };
+ };
+};
+
+&gsw {
+ phy-mode = "mii";
+ mtd-mac-address = <&ath9k_cal 0xa91>;
+ mtd-mac-address-increment = <(-2)>;
+};
+
+&localbus {
+ nor@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;
+ };
+ };
+ };
+};
+
+&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 */
+ };
+};
+
+&usb_phy0 {
+ status = "okay";
+};
+
+&usb_phy1 {
+ status = "okay";
+};
+
+&usb0 {
+ status = "okay";
+};
+
+&usb1 {
+ status = "okay";
+};
diff --git a/target/linux/lantiq/files/arch/mips/boot/dts/FRITZ7360SL.dts b/target/linux/lantiq/files/arch/mips/boot/dts/FRITZ7360SL.dts
new file mode 100644
index 0000000000..599b20a460
--- /dev/null
+++ b/target/linux/lantiq/files/arch/mips/boot/dts/FRITZ7360SL.dts
@@ -0,0 +1,82 @@
+// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
+/dts-v1/;
+
+#include "FRITZ736X.dtsi"
+
+#include <dt-bindings/input/input.h>
+#include <dt-bindings/mips/lantiq_rcu_gphy.h>
+
+/ {
+ compatible = "avm,fritz7360sl", "avm,fritz736x", "lantiq,xway", "lantiq,vr9";
+ model = "AVM FRITZ!Box 7360 SL";
+};
+
+&power_green {
+ label = "fritz7360sl:green:power";
+};
+
+&power_red {
+ label = "fritz7360sl:red:power";
+};
+
+&info_green {
+ label = "fritz7360sl:green:info";
+};
+
+&wifi {
+ label = "fritz7360sl:green:wlan";
+};
+
+&info_red {
+ label = "fritz7360sl:red:info";
+};
+
+&dect {
+ label = "fritz7360sl:green:dect";
+};
+
+&state_default {
+ pcie-rst {
+ lantiq,pins = "io38";
+ lantiq,pull = <0>;
+ lantiq,output = <1>;
+ };
+};
+
+&localbus {
+ nor@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;
+ };
+ };
+ };
+};
diff --git a/target/linux/lantiq/files/arch/mips/boot/dts/FRITZ7362SL.dts b/target/linux/lantiq/files/arch/mips/boot/dts/FRITZ7362SL.dts
new file mode 100644
index 0000000000..7a6272b988
--- /dev/null
+++ b/target/linux/lantiq/files/arch/mips/boot/dts/FRITZ7362SL.dts
@@ -0,0 +1,135 @@
+// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
+/dts-v1/;
+
+#include "FRITZ736X.dtsi"
+
+#include <dt-bindings/input/input.h>
+#include <dt-bindings/mips/lantiq_rcu_gphy.h>
+
+/ {
+ compatible = "avm,fritz7362sl", "avm,fritz736x", "lantiq,xway", "lantiq,vr9";
+ model = "AVM FRITZ!Box 7362 SL";
+};
+
+&power_green {
+ label = "fritz7362sl:green:power";
+};
+
+&power_red {
+ label = "fritz7362sl:red:power";
+};
+
+&info_green {
+ label = "fritz7362sl:green:info";
+};
+
+&wifi {
+ label = "fritz7362sl:green:wlan";
+};
+
+&info_red {
+ label = "fritz7362sl:red:info";
+};
+
+&dect {
+ label = "fritz7362sl:green:dect";
+};
+
+&gpio {
+ 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>;
+ };
+ };
+};
+
+&state_default {
+ nand {
+ lantiq,groups = "nand ale", "nand cle",
+ "nand cs1", "nand rd", "nand rdy";
+ lantiq,function = "ebu";
+ };
+
+ pcie-rst {
+ lantiq,pins = "io21";
+ lantiq,open-drain = <1>;
+ lantiq,output = <1>;
+ };
+};
+
+&spi {
+ status = "okay";
+ pinctrl-names = "default";
+ pinctrl-0 = <&pins_spi_default>;
+
+ flash@4 {
+ #address-cells = <1>;
+ #size-cells = <1>;
+ compatible = "jedec,spi-nor";
+ reg = <4 0>;
+ spi-max-frequency = <1000000>;
+
+ urlader: partition@0 {
+ reg = <0x0 0x40000>;
+ label = "urlader";
+ read-only;
+ };
+
+ partition@40000 {
+ reg = <0x40000 0x60000>;
+ label = "tffs (1)";
+ read-only;
+ };
+
+ partition@A0000 {
+ reg = <0xA0000 0x60000>;
+ label = "tffs (2)";
+ read-only;
+ };
+ };
+};
+
+&localbus {
+ nand@1 {
+ compatible = "lantiq,nand-xway";
+ lantiq,cs1 = <1>;
+ bank-width = <1>;
+ reg = <1 0x0 0x2000000>;
+ #address-cells = <1>;
+ #size-cells = <1>;
+ nand-ecc-mode = "on-die";
+
+ partitions {
+ compatible = "fixed-partitions";
+ #address-cells = <1>;
+ #size-cells = <1>;
+
+ partition@0 {
+ label = "kernel";
+ reg = <0x0 0x400000>;
+ };
+
+ partition@400000 {
+ label = "ubi";
+ reg = <0x400000 0x7c00000>;
+ };
+ };
+ };
+};
+
+&pcie0 {
+ gpio-reset = <&gpio 21 GPIO_ACTIVE_LOW>;
+
+ pcie@0 {
+ #size-cells = <1>;
+ #address-cells = <2>;
+ };
+};
diff --git a/target/linux/lantiq/files/arch/mips/boot/dts/FRITZ736X.dtsi b/target/linux/lantiq/files/arch/mips/boot/dts/FRITZ736X.dtsi
new file mode 100644
index 0000000000..9c1d2db8fa
--- /dev/null
+++ b/target/linux/lantiq/files/arch/mips/boot/dts/FRITZ736X.dtsi
@@ -0,0 +1,205 @@
+// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
+/dts-v1/;
+
+#include "vr9.dtsi"
+
+#include <dt-bindings/input/input.h>
+#include <dt-bindings/mips/lantiq_rcu_gphy.h>
+
+/ {
+ compatible = "avm,fritz736x", "lantiq,xway", "lantiq,vr9";
+
+ chosen {
+ bootargs = "console=ttyLTQ0,115200";
+ };
+
+ aliases {
+ led-boot = &power_green;
+ led-failsafe = &power_red;
+ led-running = &power_green;
+ led-upgrade = &power_green;
+ led-dsl = &info_green;
+ led-wifi = &wifi;
+ };
+
+ memory@0 {
+ reg = <0x0 0x8000000>;
+ };
+
+ keys {
+ compatible = "gpio-keys-polled";
+ poll-interval = <100>;
+
+ dect {
+ label = "dect";
+ gpios = <&gpio 1 GPIO_ACTIVE_HIGH>;
+ linux,code = <KEY_PHONE>;
+ };
+
+ wifi {
+ label = "wifi";
+ gpios = <&gpio 29 GPIO_ACTIVE_HIGH>;
+ linux,code = <KEY_WLAN>;
+ };
+ };
+
+ leds: leds {
+ compatible = "gpio-leds";
+
+ power_green: power {
+ gpios = <&gpio 32 GPIO_ACTIVE_LOW>;
+ default-state = "keep";
+ };
+
+ power_red: power2 {
+ gpios = <&gpio 33 GPIO_ACTIVE_LOW>;
+ };
+
+ info_green: info_green {
+ gpios = <&gpio 47 GPIO_ACTIVE_LOW>;
+ };
+
+ wifi: wifi {
+ gpios = <&gpio 36 GPIO_ACTIVE_LOW>;
+ };
+
+ info_red: info_red {
+ gpios = <&gpio 34 GPIO_ACTIVE_LOW>;
+ };
+
+ dect: dect {
+ gpios = <&gpio 35 GPIO_ACTIVE_LOW>;
+ };
+ };
+};
+
+&eth0 {
+ lan: interface@0 {
+ compatible = "lantiq,xrx200-pdi";
+ #address-cells = <1>;
+ #size-cells = <0>;
+ reg = <0>;
+ mtd-mac-address = <&urlader 0xa91>;
+ mtd-mac-address-increment = <(-2)>;
+ lantiq,switch;
+
+ ethernet@0 {
+ compatible = "lantiq,xrx200-pdi-port";
+ reg = <0>;
+ phy-mode = "rmii";
+ phy-handle = <&phy0>;
+ };
+
+ ethernet@1 {
+ compatible = "lantiq,xrx200-pdi-port";
+ reg = <1>;
+ phy-mode = "rmii";
+ phy-handle = <&phy1>;
+ };
+
+ ethernet@2 {
+ compatible = "lantiq,xrx200-pdi-port";
+ reg = <2>;
+ phy-mode = "gmii";
+ phy-handle = <&phy11>;
+ };
+
+ ethernet@3 {
+ compatible = "lantiq,xrx200-pdi-port";
+ reg = <4>;
+ phy-mode = "gmii";
+ phy-handle = <&phy13>;
+ };
+ };
+
+ mdio@0 {
+ #address-cells = <1>;
+ #size-cells = <0>;
+ compatible = "lantiq,xrx200-mdio";
+ reg = <0>;
+
+ phy0: ethernet-phy@0 {
+ reg = <0x00>;
+ compatible = "ethernet-phy-ieee802.3-c22";
+ reset-gpios = <&gpio 37 GPIO_ACTIVE_LOW>;
+ };
+
+ phy1: ethernet-phy@1 {
+ reg = <0x01>;
+ compatible = "ethernet-phy-ieee802.3-c22";
+ reset-gpios = <&gpio 44 GPIO_ACTIVE_LOW>;
+ };
+
+ phy11: ethernet-phy@11 {
+ reg = <0x11>;
+ compatible = "lantiq,phy11g", "ethernet-phy-ieee802.3-c22";
+ };
+
+ phy13: ethernet-phy@13 {
+ reg = <0x13>;
+ compatible = "lantiq,phy11g", "ethernet-phy-ieee802.3-c22";
+ };
+ };
+};
+
+&gphy0 {
+ lantiq,gphy-mode = <GPHY_MODE_GE>;
+};
+
+&gphy1 {
+ lantiq,gphy-mode = <GPHY_MODE_GE>;
+};
+
+&gpio {
+ pinctrl-names = "default";
+ pinctrl-0 = <&state_default>;
+
+ state_default: pinmux {
+ mdio {
+ lantiq,groups = "mdio";
+ lantiq,function = "mdio";
+ };
+
+ phy-rst {
+ lantiq,pins = "io37", "io44";
+ lantiq,pull = <0>;
+ lantiq,open-drain;
+ lantiq,output = <1>;
+ };
+ };
+
+};
+
+&pcie0 {
+ status = "okay";
+
+ pcie@0 {
+ reg = <0 0 0 0 0>;
+ #interrupt-cells = <1>;
+ #size-cells = <1>;
+ #address-cells = <2>;
+ device_type = "pci";
+
+ wifi@168c,002e {
+ compatible = "pci168c,002e";
+ reg = <0 0 0 0 0>;
+ qca,no-eeprom; /* load from ath9k-eeprom-pci-0000:01:00.0.bin */
+ };
+ };
+};
+
+&usb_phy0 {
+ status = "okay";
+};
+
+&usb_phy1 {
+ status = "okay";
+};
+
+&usb0 {
+ status = "okay";
+};
+
+&usb1 {
+ status = "okay";
+};
diff --git a/target/linux/lantiq/files/arch/mips/boot/dts/FRITZ7412.dts b/target/linux/lantiq/files/arch/mips/boot/dts/FRITZ7412.dts
new file mode 100644
index 0000000000..3059c12858
--- /dev/null
+++ b/target/linux/lantiq/files/arch/mips/boot/dts/FRITZ7412.dts
@@ -0,0 +1,230 @@
+// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
+/dts-v1/;
+
+#include "vr9.dtsi"
+
+#include <dt-bindings/input/input.h>
+#include <dt-bindings/mips/lantiq_rcu_gphy.h>
+
+/ {
+ compatible = "avm,fritz7412", "lantiq,xway", "lantiq,vr9";
+ model = "AVM FRITZ!Box 7412";
+
+ chosen {
+ bootargs = "console=ttyLTQ0,115200 mem=126M vpe1_load_addr=0x87e00000 vpe1_mem=2M maxvpes=1 maxtcs=1 nosmp";
+ };
+
+ aliases {
+ led-boot = &power_green;
+ led-failsafe = &power_red;
+ led-running = &power_green;
+
+ led-dsl = &info;
+ led-wifi = &wifi;
+ };
+
+ memory@0 {
+ reg = <0x0 0x8000000>;
+ };
+
+ keys {
+ compatible = "gpio-keys-polled";
+ poll-interval = <100>;
+
+ wps {
+ label = "wps";
+ gpios = <&gpio 1 GPIO_ACTIVE_HIGH>;
+ linux,code = <KEY_WPS_BUTTON>;
+ };
+
+ dect {
+ label = "dect";
+ gpios = <&gpio 2 GPIO_ACTIVE_HIGH>;
+ linux,code = <KEY_PHONE>;
+ };
+ };
+
+ leds {
+ compatible = "gpio-leds";
+
+ power_green: power_green {
+ label = "fritz7412:green:power";
+ gpios = <&gpio 6 GPIO_ACTIVE_LOW>;
+ default-state = "keep";
+ };
+
+ power_red: power_red {
+ label = "fritz7412:red:power";
+ gpios = <&gpio 5 GPIO_ACTIVE_LOW>;
+ };
+
+ fon {
+ label = "fritz7412:green:fon";
+ gpios = <&gpio 34 GPIO_ACTIVE_LOW>;
+ };
+
+ dect {
+ label = "fritz7412:green:dect";
+ gpios = <&gpio 15 GPIO_ACTIVE_LOW>;
+ };
+
+ wifi: wifi {
+ label = "fritz7412:green:wifi";
+ gpios = <&gpio 0 GPIO_ACTIVE_LOW>;
+ };
+
+ info: info {
+ label = "fritz7412:green:info";
+ gpios = <&gpio 35 GPIO_ACTIVE_LOW>;
+ };
+ };
+};
+
+&localbus {
+ nand@0 {
+ compatible = "lantiq,nand-xway";
+ bank-width = <2>;
+ reg = <0 0x0 0x2000000>;
+ #address-cells = <1>;
+ #size-cells = <1>;
+ lantiq,cs = <1>;
+
+ partitions {
+ compatible = "fixed-partitions";
+ #address-cells = <1>;
+ #size-cells = <1>;
+
+ partition@0 {
+ label = "urlader";
+ reg = <0x0 0x40000>;
+ read-only;
+ };
+
+ partition@40000 {
+ label = "nand-tffs";
+ reg = <0x40000 0x400000>;
+ read-only;
+ };
+
+ partition@440000 {
+ label = "kernel";
+ reg = <0x440000 0x400000>;
+ };
+
+ partition@840000 {
+ label = "ubi";
+ reg = <0x840000 0x3000000>;
+ };
+
+ partition@3840000 {
+ label = "reserved-kernel";
+ reg = <0x3840000 0x400000>;
+ read-only;
+ };
+
+ partition@3c40000 {
+ label = "reserved-filesystem";
+ reg = <0x3c40000 0x3000000>;
+ read-only;
+ };
+
+ partition@6c40000 {
+ label = "config";
+ reg = <0x6c40000 0x400000>;
+ read-only;
+ };
+
+ partition@6e40000 {
+ label = "nand-filesystem";
+ reg = <0x6e40000 0x400000>;
+ read-only;
+ };
+ };
+ };
+};
+
+&pcie0 {
+ status = "okay";
+ gpio-reset = <&gpio 11 GPIO_ACTIVE_HIGH>;
+
+ pcie@0 {
+ reg = <0 0 0 0 0>;
+ #interrupt-cells = <1>;
+ #size-cells = <2>;
+ #address-cells = <3>;
+ device_type = "pci";
+
+ wifi@168c,002e {
+ compatible = "pci168c,002e";
+ reg = <0 0 0 0 0>;
+ qca,no-eeprom; /* load from ath9k-eeprom-pci-0000:01:00.0.bin */
+ };
+ };
+};
+
+&gpio {
+ pinctrl-names = "default";
+ pinctrl-0 = <&state_default>;
+
+ state_default: pinmux {
+ mdio {
+ lantiq,groups = "mdio";
+ lantiq,function = "mdio";
+ };
+ pcie-rst {
+ lantiq,pins = "io11";
+ lantiq,open-drain = <1>;
+ lantiq,output = <1>;
+ };
+ nand-mux {
+ lantiq,groups = "nand cle", "nand ale",
+ "nand rd", "nand cs1",
+ "nand rdy";
+ lantiq,function = "ebu";
+ };
+ nand-pins {
+ lantiq,pins = "io13", "io24", "io49";
+ lantiq,pull = <1>;
+ };
+ };
+};
+
+&gphy0 {
+ lantiq,gphy-mode = <GPHY_MODE_FE>;
+};
+
+&eth0 {
+ lantiq,phys = <&gphy0>;
+
+ interface@0 {
+ compatible = "lantiq,xrx200-pdi";
+ #address-cells = <1>;
+ #size-cells = <0>;
+ reg = <0>;
+ mac-address = [ 00 11 22 33 44 55 ];
+ lantiq,switch;
+
+ ethernet@2 {
+ compatible = "lantiq,xrx200-pdi-port";
+ reg = <2>;
+ phy-mode = "gmii";
+ phy-handle = <&phy11>;
+ };
+ };
+
+ mdio@0 {
+ #address-cells = <1>;
+ #size-cells = <0>;
+ reg = <0>;
+ compatible = "lantiq,xrx200-mdio";
+
+ phy11: ethernet-phy@11 {
+ reg = <0x11>;
+ compatible = "lantiq,phy11g", "ethernet-phy-ieee802.3-c22";
+ };
+ };
+};
+
+&vmmc {
+ status = "okay";
+};
diff --git a/target/linux/lantiq/files/arch/mips/boot/dts/GIGASX76X.dts b/target/linux/lantiq/files/arch/mips/boot/dts/GIGASX76X.dts
new file mode 100644
index 0000000000..36b82515dc
--- /dev/null
+++ b/target/linux/lantiq/files/arch/mips/boot/dts/GIGASX76X.dts
@@ -0,0 +1,130 @@
+/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>;
+ };
+
+ 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>;
+ };
+ };
+
+ usb_vbus: regulator-usb-vbus {
+ compatible = "regulator-fixed";
+
+ regulator-name = "USB_VBUS";
+
+ regulator-min-microvolt = <5000000>;
+ regulator-max-microvolt = <5000000>;
+
+ gpio = <&gpio 29 GPIO_ACTIVE_HIGH>;
+ enable-active-high;
+ };
+};
+
+&gpio {
+ pinctrl-names = "default";
+ pinctrl-0 = <&state_default>;
+
+ state_default: pinmux {
+ stp {
+ lantiq,groups = "stp";
+ lantiq,function = "stp";
+ };
+ };
+};
+
+
+&gpiomm {
+ status = "okay";
+ lantiq,shadow = <0x3>;
+};
+
+&gpios {
+ status = "okay";
+};
+
+&gsw {
+ phy-mode = "rmii";
+};
+
+&localbus {
+ nor@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>;
+ };
+ };
+ };
+};
+
+&pci0 {
+ status = "okay";
+ gpio-reset = <&gpio 21 GPIO_ACTIVE_HIGH>;
+};
+
+&usb_phy {
+ status = "okay";
+};
+
+&usb {
+ status = "okay";
+ vbus-supply = <&usb_vbus>;
+};
+
+&vmmc {
+ status = "okay";
+ gpios = <&gpiomm 1 GPIO_ACTIVE_HIGH>;
+};
diff --git a/target/linux/lantiq/files/arch/mips/boot/dts/H201L.dts b/target/linux/lantiq/files/arch/mips/boot/dts/H201L.dts
new file mode 100644
index 0000000000..46cae21a58
--- /dev/null
+++ b/target/linux/lantiq/files/arch/mips/boot/dts/H201L.dts
@@ -0,0 +1,175 @@
+/dts-v1/;
+
+#include "ar9.dtsi"
+
+#include <dt-bindings/input/input.h>
+
+/ {
+ compatible = "zte,h201l", "lantiq,xway", "lantiq,ar9";
+ model = "ZTE H210L";
+
+ chosen {
+ bootargs = "console=ttyLTQ0,115200";
+ };
+
+ aliases {
+ led-boot = &power_green;
+ led-failsafe = &power_green;
+ led-running = &power_green;
+ led-upgrade = &power_green;
+
+ led-dsl = &dsl;
+ led-internet = &online;
+ led-usb = &led_usb;
+ led-wifi = &wifi;
+ };
+
+ memory@0 {
+ reg = <0x0 0x2000000>;
+ };
+
+ 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>;
+ };
+ led_usb: usb {
+ label = "h201l:green:usb";
+ gpios = <&gpio 14 GPIO_ACTIVE_LOW>;
+ };
+ };
+
+ gpio_export {
+ compatible = "gpio-export";
+ #size-cells = <0>;
+
+ switch {
+ gpio-export,name = "switch";
+ gpio-export,output = <1>;
+ gpios = <&gpio 38 GPIO_ACTIVE_HIGH>;
+ };
+ usb {
+ gpio-export,name = "usb";
+ gpio-export,output = <1>;
+ gpios = <&gpio 28 GPIO_ACTIVE_HIGH>;
+ };
+ wifi {
+ gpio-export,name = "wifi";
+ gpio-export,output = <1>;
+ gpios = <&gpio 7 GPIO_ACTIVE_HIGH>;
+ };
+ };
+
+ usb_vbus: regulator-usb-vbus {
+ compatible = "regulator-fixed";
+
+ regulator-name = "USB_VBUS";
+
+ regulator-min-microvolt = <5000000>;
+ regulator-max-microvolt = <5000000>;
+
+ gpio = <&gpio 36 GPIO_ACTIVE_HIGH>;
+ enable-active-high;
+ };
+};
+
+&gpio {
+ pinctrl-names = "default";
+ pinctrl-0 = <&state_default>;
+
+ state_default: pinmux {
+ };
+};
+
+&gsw {
+ phy-mode = "rgmii";
+};
+
+&localbus {
+ nor@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>;
+ };
+ };
+ };
+};
+
+&usb_phy0 {
+ status = "okay";
+};
+
+
+&usb0 {
+ status = "okay";
+ vbus-supply = <&usb_vbus>;
+};
diff --git a/target/linux/lantiq/files/arch/mips/boot/dts/P2601HNFX.dts b/target/linux/lantiq/files/arch/mips/boot/dts/P2601HNFX.dts
new file mode 100644
index 0000000000..5606eb6e8b
--- /dev/null
+++ b/target/linux/lantiq/files/arch/mips/boot/dts/P2601HNFX.dts
@@ -0,0 +1,196 @@
+/dts-v1/;
+
+#include "ar9.dtsi"
+
+#include <dt-bindings/input/input.h>
+
+/ {
+ compatible = "zyxel,p-2601hn", "lantiq,xway", "lantiq,ar9";
+ model = "ZyXEL P-2601HN-Fx";
+
+ chosen {
+ bootargs = "console=ttyLTQ0,115200";
+ };
+
+ aliases {
+ led-boot = &power_green;
+ led-failsafe = &power_red;
+ led-running = &power_green;
+ led-upgrade = &power_green;
+
+ led-dsl = &dsl;
+ led-internet = &online;
+ led-wifi = &wifi;
+ };
+
+ memory@0 {
+ reg = <0x0 0x4000000>;
+ };
+
+ 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>;
+ };
+ };
+};
+
+&gpio {
+ 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";
+ };
+ };
+
+ usb_vbus: regulator-usb-vbus {
+ compatible = "regulator-fixed";
+
+ regulator-name = "USB_VBUS";
+
+ regulator-min-microvolt = <5000000>;
+ regulator-max-microvolt = <5000000>;
+
+ gpio = <&gpio 9 GPIO_ACTIVE_HIGH>;
+ enable-active-high;
+ };
+};
+
+&gsw {
+ phy-mode = "rmii";
+};
+
+&localbus {
+ nor@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>;
+ };
+ };
+ };
+};
+
+&stp {
+ status = "okay";
+ lantiq,shadow = <0xfff>;
+ lantiq,groups = <0x3>;
+};
+
+&usb_phy0 {
+ status = "okay";
+};
+
+&usb0 {
+ status = "okay";
+ vbus-supply = <&usb_vbus>;
+};
diff --git a/target/linux/lantiq/files/arch/mips/boot/dts/P2812HNUF1.dts b/target/linux/lantiq/files/arch/mips/boot/dts/P2812HNUF1.dts
new file mode 100644
index 0000000000..d907d64c8c
--- /dev/null
+++ b/target/linux/lantiq/files/arch/mips/boot/dts/P2812HNUF1.dts
@@ -0,0 +1,70 @@
+/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 = &led_usb1;
+ led-usb2 = &led_usb2;
+ };
+
+ gpio-leds {
+ led_usb1: usb1 {
+ label = "p2812hnuf1:green:usb1";
+ gpios = <&gpio 38 GPIO_ACTIVE_LOW>;
+ };
+ led_usb2: usb2 {
+ label = "p2812hnuf1:green:usb2";
+ gpios = <&gpio 44 GPIO_ACTIVE_LOW>;
+ };
+ };
+};
+
+&localbus {
+ nand@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 0x300000>;
+ };
+ partition@360000 {
+ label = "ubi";
+ reg = <0x360000 0x7ca0000>;
+ };
+ };
+ };
+};
+
+&pci0 {
+ wifi@1814,3062 {
+ compatible = "pci1814,3062";
+ reg = <0x7000 0 0 0 0>;
+ ralink,eeprom = "RT3062.eeprom";
+ };
+};
+
+&pcie0 {
+ status = "disabled";
+};
diff --git a/target/linux/lantiq/files/arch/mips/boot/dts/P2812HNUF3.dts b/target/linux/lantiq/files/arch/mips/boot/dts/P2812HNUF3.dts
new file mode 100644
index 0000000000..202226aa86
--- /dev/null
+++ b/target/linux/lantiq/files/arch/mips/boot/dts/P2812HNUF3.dts
@@ -0,0 +1,64 @@
+/dts-v1/;
+
+#include "P2812HNUFX.dtsi"
+
+/ {
+ compatible = "zyxel,p-2812hnu-f3", "zyxel,p-2812hnu", "lantiq,xway", "lantiq,vr9";
+ model = "ZyXEL P-2812HNU-F3";
+};
+
+&pci0 {
+ wifi@1814,3092 {
+ compatible = "pci1814,3092";
+ reg = <0x7000 0 0 0 0>;
+ ralink,eeprom = "RT3092.eeprom";
+ };
+};
+
+&localbus {
+ nor@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@1 {
+ compatible = "lantiq,nand-xway";
+ lantiq,cs = <1>;
+ bank-width = <2>;
+ reg = <1 0x0 0x2000000>;
+ #address-cells = <1>;
+ #size-cells = <1>;
+
+ partition@0 {
+ label = "kernel";
+ reg = <0x0 0x200000>;
+ };
+ partition@200000 {
+ label = "ubi";
+ reg = <0x200000 0x7e00000>;
+ };
+ };
+};
diff --git a/target/linux/lantiq/files/arch/mips/boot/dts/P2812HNUFX.dtsi b/target/linux/lantiq/files/arch/mips/boot/dts/P2812HNUFX.dtsi
new file mode 100644
index 0000000000..65424e3eff
--- /dev/null
+++ b/target/linux/lantiq/files/arch/mips/boot/dts/P2812HNUFX.dtsi
@@ -0,0 +1,298 @@
+#include "vr9.dtsi"
+
+#include <dt-bindings/input/input.h>
+#include <dt-bindings/mips/lantiq_rcu_gphy.h>
+
+/ {
+ compatible = "zyxel,p-2812hnu", "lantiq,xway", "lantiq,vr9";
+
+ chosen {
+ bootargs = "console=ttyLTQ0,115200";
+ };
+
+ aliases {
+ led-boot = &power_green;
+ led-failsafe = &power_red;
+ led-running = &power_green;
+ led-upgrade = &power_green;
+
+ led-dsl = &dsl_green;
+ led-internet = &internet_green;
+ led-wifi = &wireless_green;
+ };
+
+ memory@0 {
+ reg = <0x0 0x8000000>;
+ };
+
+ 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>;
+ };
+ };
+
+ usb_vbus: regulator-usb-vbus {
+ compatible = "regulator-fixed";
+
+ regulator-name = "USB_VBUS";
+
+ regulator-min-microvolt = <5000000>;
+ regulator-max-microvolt = <5000000>;
+
+ gpio = <&gpio 33 GPIO_ACTIVE_HIGH>;
+ enable-active-high;
+ };
+};
+
+&eth0 {
+ lan: interface@0 {
+ compatible = "lantiq,xrx200-pdi";
+ #address-cells = <1>;
+ #size-cells = <0>;
+ reg = <0>;
+ 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";
+ reg = <0>;
+
+ phy0: ethernet-phy@0 {
+ reg = <0x0>;
+ compatible = "lantiq,phy11g", "ethernet-phy-ieee802.3-c22";
+ };
+ phy1: ethernet-phy@1 {
+ reg = <0x1>;
+ compatible = "lantiq,phy11g", "ethernet-phy-ieee802.3-c22";
+ };
+ phy5: ethernet-phy@5 {
+ reg = <0x5>;
+ compatible = "lantiq,phy11g", "ethernet-phy-ieee802.3-c22";
+ };
+ phy11: ethernet-phy@11 {
+ reg = <0x11>;
+ compatible = "lantiq,phy11g", "ethernet-phy-ieee802.3-c22";
+ };
+ phy13: ethernet-phy@13 {
+ reg = <0x13>;
+ compatible = "lantiq,phy11g", "ethernet-phy-ieee802.3-c22";
+ };
+ };
+};
+
+&gphy0 {
+ lantiq,gphy-mode = <GPHY_MODE_GE>;
+};
+
+&gphy1 {
+ lantiq,gphy-mode = <GPHY_MODE_GE>;
+};
+
+&gpio {
+ pinctrl-names = "default";
+ pinctrl-0 = <&state_default>;
+
+ state_default: pinmux {
+ exin3 {
+ lantiq,groups = "exin3";
+ lantiq,function = "exin";
+ };
+ 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>;
+ };
+ };
+};
+
+&pci0 {
+ status = "okay";
+ gpio-reset = <&gpio 21 GPIO_ACTIVE_HIGH>;
+};
+
+&stp {
+ status = "okay";
+
+ lantiq,shadow = <0xffffff>;
+ lantiq,groups = <0x7>;
+ lantiq,dsl = <0x0>;
+ lantiq,phy1 = <0x0>;
+ lantiq,phy2 = <0x0>;
+};
+
+&usb_phy0 {
+ status = "okay";
+};
+
+&usb_phy1 {
+ status = "okay";
+};
+
+&usb0 {
+ status = "okay";
+ vbus-supply = <&usb_vbus>;
+};
+
+&usb1 {
+ status = "okay";
+ vbus-supply = <&usb_vbus>;
+};
diff --git a/target/linux/lantiq/files/arch/mips/boot/dts/TDW8970.dts b/target/linux/lantiq/files/arch/mips/boot/dts/TDW8970.dts
new file mode 100644
index 0000000000..25eb3dac67
--- /dev/null
+++ b/target/linux/lantiq/files/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/arch/mips/boot/dts/TDW8980.dts b/target/linux/lantiq/files/arch/mips/boot/dts/TDW8980.dts
new file mode 100644
index 0000000000..76875e735d
--- /dev/null
+++ b/target/linux/lantiq/files/arch/mips/boot/dts/TDW8980.dts
@@ -0,0 +1,33 @@
+/dts-v1/;
+
+#include "TDW89X0.dtsi"
+
+/ {
+ compatible = "tplink,tdw8980", "tplink,tdw89x0", "lantiq,xway", "lantiq,vr9";
+ model = "TP-LINK TD-W8980";
+
+ gpio-leds {
+ wifi2 {
+ label = "tdw8980:green:wlan5ghz";
+ gpios = <&gpio 24 GPIO_ACTIVE_LOW>;
+ };
+ };
+};
+
+&gpio {
+ state_default: pinmux {
+ pci_rst {
+ lantiq,pins = "io21";
+ lantiq,output = <1>;
+ lantiq,open-drain;
+ };
+ };
+};
+
+&pci0 {
+ status = "okay";
+ lantiq,bus-clock = <33333333>;
+ interrupt-map-mask = <0xf800 0x0 0x0 0x7>;
+ interrupt-map = <0x7000 0 0 1 &icu0 30 1>;
+ gpio-reset = <&gpio 21 GPIO_ACTIVE_HIGH>;
+};
diff --git a/target/linux/lantiq/files/arch/mips/boot/dts/TDW89X0.dtsi b/target/linux/lantiq/files/arch/mips/boot/dts/TDW89X0.dtsi
new file mode 100644
index 0000000000..71e051a316
--- /dev/null
+++ b/target/linux/lantiq/files/arch/mips/boot/dts/TDW89X0.dtsi
@@ -0,0 +1,299 @@
+#include "vr9.dtsi"
+
+#include <dt-bindings/input/input.h>
+#include <dt-bindings/mips/lantiq_rcu_gphy.h>
+
+/ {
+ compatible = "tplink,tdw89x0", "lantiq,xway", "lantiq,vr9";
+
+ chosen {
+ bootargs = "console=ttyLTQ0,115200";
+ };
+
+ aliases {
+ /* the power led can't be controlled, use the wps led instead */
+ led-boot = &wps;
+ led-failsafe = &wps;
+
+ led-dsl = &dsl;
+ led-internet = &internet;
+ led-wifi = &wifi;
+ led-usb = &led_usb0;
+ led-usb2 = &led_usb2;
+ };
+
+ memory@0 {
+ reg = <0x0 0x4000000>;
+ };
+
+ 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>;
+ };
+
+ led_usb0: usb0 {
+ label = "tdw89x0:green:usb";
+ gpios = <&gpio 19 GPIO_ACTIVE_HIGH>;
+ };
+ led_usb2: usb2 {
+ label = "tdw89x0:green:usb2";
+ gpios = <&gpio 20 GPIO_ACTIVE_HIGH>;
+ };
+ wps: wps {
+ label = "tdw89x0:green:wps";
+ gpios = <&gpio 37 GPIO_ACTIVE_HIGH>;
+ };
+ };
+
+ wifi-leds {
+ compatible = "gpio-leds";
+
+ wifi: wifi {
+ label = "tdw89x0:green:wifi";
+ gpios = <&ath9k 0 GPIO_ACTIVE_HIGH>;
+ linux,default-trigger = "phy0tpt";
+ };
+ };
+
+
+ usb_vbus: regulator-usb-vbus {
+ compatible = "regulator-fixed";
+
+ regulator-name = "USB_VBUS";
+
+ regulator-min-microvolt = <5000000>;
+ regulator-max-microvolt = <5000000>;
+
+ gpio = <&gpio 33 GPIO_ACTIVE_HIGH>;
+ enable-active-high;
+ };
+};
+
+&eth0 {
+ 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";
+ reg = <0>;
+
+ phy0: ethernet-phy@0 {
+ reg = <0x0>;
+ compatible = "lantiq,phy11g", "ethernet-phy-ieee802.3-c22";
+ };
+ phy5: ethernet-phy@5 {
+ reg = <0x5>;
+ compatible = "lantiq,phy11g", "ethernet-phy-ieee802.3-c22";
+ };
+ phy11: ethernet-phy@11 {
+ reg = <0x11>;
+ compatible = "lantiq,phy11g", "ethernet-phy-ieee802.3-c22";
+ };
+ phy13: ethernet-phy@13 {
+ reg = <0x13>;
+ compatible = "lantiq,phy11g", "ethernet-phy-ieee802.3-c22";
+ };
+ };
+};
+
+&gphy0 {
+ lantiq,gphy-mode = <GPHY_MODE_GE>;
+};
+
+&gphy1 {
+ lantiq,gphy-mode = <GPHY_MODE_GE>;
+};
+
+&gpio {
+ pinctrl-names = "default";
+ pinctrl-0 = <&state_default>;
+
+ state_default: pinmux {
+ 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>;
+ };
+ };
+};
+
+&pcie0 {
+ pcie@0 {
+ reg = <0 0 0 0 0>;
+ #interrupt-cells = <1>;
+ #size-cells = <2>;
+ #address-cells = <3>;
+ device_type = "pci";
+
+ ath9k: wifi@168c,002e {
+ compatible = "pci168c,002e";
+ reg = <0 0 0 0 0>;
+ #gpio-cells = <2>;
+ gpio-controller;
+ qca,no-eeprom;
+ qca,disable-5ghz;
+ mtd-mac-address = <&ath9k_cal 0xf100>;
+ mtd-mac-address-increment = <2>;
+ };
+ };
+};
+
+&spi {
+ status = "okay";
+
+ pinctrl-names = "default";
+ pinctrl-0 = <&pins_spi_default>;
+
+ 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;
+ };
+ };
+ };
+};
+
+&usb_phy0 {
+ status = "okay";
+};
+
+&usb_phy1 {
+ status = "okay";
+};
+
+&usb0 {
+ status = "okay";
+ vbus-supply = <&usb_vbus>;
+};
+
+&usb1 {
+ status = "okay";
+ vbus-supply = <&usb_vbus>;
+};
diff --git a/target/linux/lantiq/files/arch/mips/boot/dts/VG3503J.dts b/target/linux/lantiq/files/arch/mips/boot/dts/VG3503J.dts
new file mode 100644
index 0000000000..9735b2e011
--- /dev/null
+++ b/target/linux/lantiq/files/arch/mips/boot/dts/VG3503J.dts
@@ -0,0 +1,165 @@
+/dts-v1/;
+
+#include "vr9.dtsi"
+
+#include <dt-bindings/input/input.h>
+#include <dt-bindings/mips/lantiq_rcu_gphy.h>
+
+/ {
+ compatible = "arcadyan,vg3503j", "lantiq,xway", "lantiq,vr9";
+ model = "BT OpenReach VDSL Modem";
+
+ chosen {
+ bootargs = "console=ttyLTQ0,115200";
+ };
+
+ aliases {
+ led-boot = &power_green;
+ led-failsafe = &power_red;
+ led-running = &power_green;
+ led-upgrade = &power_green;
+
+ led-dsl = &dsl;
+ };
+
+ memory@0 {
+ reg = <0x0 0x2000000>;
+ };
+
+ 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";
+ reg = <0>;
+
+ phy11: ethernet-phy@11 {
+ reg = <0x11>;
+ compatible = "lantiq,phy11g", "ethernet-phy-ieee802.3-c22";
+ lantiq,led1h = <0x70>;
+ lantiq,led1l = <0x00>;
+ lantiq,led2h = <0x00>;
+ lantiq,led2l = <0x03>;
+ };
+ phy13: ethernet-phy@13 {
+ reg = <0x13>;
+ compatible = "lantiq,phy11g", "ethernet-phy-ieee802.3-c22";
+ lantiq,led1h = <0x70>;
+ lantiq,led1l = <0x00>;
+ lantiq,led2h = <0x00>;
+ lantiq,led2l = <0x03>;
+ };
+ };
+};
+
+&gphy0 {
+ lantiq,gphy-mode = <GPHY_MODE_GE>;
+};
+
+&gphy1 {
+ lantiq,gphy-mode = <GPHY_MODE_GE>;
+};
+
+&gpio {
+ 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>;
+ };
+ };
+};
+
+&localbus {
+ nor@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>;
+ };
+ };
+ };
+};
diff --git a/target/linux/lantiq/files/arch/mips/boot/dts/VGV7510KW22.dtsi b/target/linux/lantiq/files/arch/mips/boot/dts/VGV7510KW22.dtsi
new file mode 100644
index 0000000000..811f39d08b
--- /dev/null
+++ b/target/linux/lantiq/files/arch/mips/boot/dts/VGV7510KW22.dtsi
@@ -0,0 +1,269 @@
+#include "vr9.dtsi"
+
+#include <dt-bindings/input/input.h>
+#include <dt-bindings/mips/lantiq_rcu_gphy.h>
+
+/ {
+ compatible = "arcadyan,vgv7510kw22", "lantiq,xway", "lantiq,vr9";
+
+ chosen {
+ bootargs = "console=ttyLTQ0,115200 mem=62M vpe1_load_addr=0x83e00000 vpe1_mem=2M maxvpes=1 maxtcs=1 nosmp";
+ };
+
+ aliases {
+ led-boot = &power_green;
+ led-failsafe = &power_red;
+ led-running = &power_green;
+ led-upgrade = &power_green;
+
+ led-dsl = &dsl;
+ led-internet = &internet_green;
+ led-wifi = &wifi;
+ };
+
+ memory@0 {
+ reg = <0x0 0x4000000>;
+ };
+
+ 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>;
+ };
+ };
+
+ usb_vbus: regulator-usb-vbus {
+ compatible = "regulator-fixed";
+
+ regulator-name = "USB_VBUS";
+
+ regulator-min-microvolt = <5000000>;
+ regulator-max-microvolt = <5000000>;
+
+ gpio = <&gpio 47 GPIO_ACTIVE_HIGH>;
+ enable-active-high;
+ };
+};
+
+&eth0 {
+ 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";
+ reg = <0>;
+
+ phy1: ethernet-phy@1 {
+ reg = <0x1>;
+ compatible = "ethernet-phy-ieee802.3-c22";
+ };
+
+ phy11: ethernet-phy@11 {
+ reg = <0x11>;
+ compatible = "lantiq,phy22f", "ethernet-phy-ieee802.3-c22";
+ };
+ phy12: ethernet-phy@12 {
+ reg = <0x12>;
+ compatible = "lantiq,phy22f", "ethernet-phy-ieee802.3-c22";
+ };
+ phy13: ethernet-phy@13 {
+ reg = <0x13>;
+ compatible = "lantiq,phy22f", "ethernet-phy-ieee802.3-c22";
+ };
+ phy14: ethernet-phy@14 {
+ reg = <0x14>;
+ compatible = "lantiq,phy22f", "ethernet-phy-ieee802.3-c22";
+ };
+ };
+};
+
+&gphy0 {
+ lantiq,gphy-mode = <GPHY_MODE_FE>;
+};
+
+&gphy1 {
+ lantiq,gphy-mode = <GPHY_MODE_FE>;
+};
+
+&gpio {
+ pinctrl-names = "default";
+ pinctrl-0 = <&state_default>;
+
+ 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>;
+ };
+ };
+};
+
+&localbus {
+ nor@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;
+ };
+ };
+ };
+};
+
+&pci0 {
+ status = "okay";
+ gpio-reset = <&gpio 21 GPIO_ACTIVE_HIGH>;
+
+ wifi@1814,3592 {
+ compatible = "pci1814,3592";
+ reg = <0x7000 0 0 0 0>;
+ ralink,mtd-eeprom = <&boardconfig 0x410>;
+ ralink,mtd-eeprom-swap;
+ mtd-mac-address = <&boardconfig 0x16>;
+ mtd-mac-address-increment = <1>;
+ };
+};
+
+&pcie0 {
+ status = "disabled";
+};
+
+&usb_phy0 {
+ status = "okay";
+};
+
+&usb0 {
+ status = "okay";
+ vbus-supply = <&usb_vbus>;
+};
+
+&vmmc {
+ status = "okay";
+ gpios = <&gpio 30 GPIO_ACTIVE_HIGH //fxs relay
+ &gpio 31 GPIO_ACTIVE_HIGH //still unknown
+ &gpio 3 GPIO_ACTIVE_HIGH>; //reset_slic?
+};
diff --git a/target/linux/lantiq/files/arch/mips/boot/dts/VGV7510KW22BRN.dts b/target/linux/lantiq/files/arch/mips/boot/dts/VGV7510KW22BRN.dts
new file mode 100644
index 0000000000..94b96d74d9
--- /dev/null
+++ b/target/linux/lantiq/files/arch/mips/boot/dts/VGV7510KW22BRN.dts
@@ -0,0 +1,65 @@
+/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>;
+ };
+ };
+};
+
+&localbus {
+ nor@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/arch/mips/boot/dts/VGV7510KW22NOR.dts b/target/linux/lantiq/files/arch/mips/boot/dts/VGV7510KW22NOR.dts
new file mode 100644
index 0000000000..cc84c63f2e
--- /dev/null
+++ b/target/linux/lantiq/files/arch/mips/boot/dts/VGV7510KW22NOR.dts
@@ -0,0 +1,31 @@
+/dts-v1/;
+
+#include "VGV7510KW22.dtsi"
+
+/ {
+ compatible = "arcadyan,vgv7510kw22-nor", "arcadyan,vgv7510kw22", "lantiq,xway", "lantiq,vr9";
+ model = "o2 Box 6431";
+};
+
+&localbus {
+ nor@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/arch/mips/boot/dts/VGV7519.dtsi b/target/linux/lantiq/files/arch/mips/boot/dts/VGV7519.dtsi
new file mode 100644
index 0000000000..f69b302bcd
--- /dev/null
+++ b/target/linux/lantiq/files/arch/mips/boot/dts/VGV7519.dtsi
@@ -0,0 +1,314 @@
+#include "vr9.dtsi"
+
+#include <dt-bindings/input/input.h>
+#include <dt-bindings/mips/lantiq_rcu_gphy.h>
+
+/ {
+ compatible = "arcadyan,vgv7519", "lantiq,xway", "lantiq,vr9";
+
+ chosen {
+ bootargs = "console=ttyLTQ0,115200 mem=62M vpe1_load_addr=0x83e00000 vpe1_mem=2M maxvpes=1 maxtcs=1 nosmp";
+ };
+
+ aliases {
+ led-boot = &power_green;
+ led-failsafe = &power_red;
+ led-running = &power_green;
+ led-upgrade = &power_green;
+
+ led-dsl = &broadband_green;
+ led-internet = &internet_green;
+ led-wifi = &wireless_green;
+ };
+
+ memory@0 {
+ reg = <0x0 0x4000000>;
+ };
+
+ 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>;
+ };
+ };
+
+ usb_vbus: regulator-usb-vbus {
+ compatible = "regulator-fixed";
+
+ regulator-name = "USB_VBUS";
+
+ regulator-min-microvolt = <5000000>;
+ regulator-max-microvolt = <5000000>;
+
+ gpio = <&gpio 32 GPIO_ACTIVE_HIGH>;
+ enable-active-high;
+ };
+};
+
+&eth0 {
+ lan: interface@0 {
+ compatible = "lantiq,xrx200-pdi";
+ #address-cells = <1>;
+ #size-cells = <0>;
+ reg = <0>;
+ mtd-mac-address = <&boardconfig 0x16>;
+ 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";
+ reg = <0>;
+
+ phy0: ethernet-phy@0 {
+ reg = <0x0>;
+ compatible = "lantiq,phy11g", "ethernet-phy-ieee802.3-c22";
+ };
+ phy1: ethernet-phy@1 {
+ reg = <0x1>;
+ compatible = "lantiq,phy11g", "ethernet-phy-ieee802.3-c22";
+ };
+ phy5: ethernet-phy@5 {
+ reg = <0x5>;
+ compatible = "lantiq,phy11g", "ethernet-phy-ieee802.3-c22";
+ };
+ phy11: ethernet-phy@11 {
+ reg = <0x11>;
+ compatible = "lantiq,phy11g", "ethernet-phy-ieee802.3-c22";
+ };
+ phy13: ethernet-phy@13 {
+ reg = <0x13>;
+ compatible = "lantiq,phy11g", "ethernet-phy-ieee802.3-c22";
+ };
+ };
+};
+
+&gphy0 {
+ lantiq,gphy-mode = <GPHY_MODE_GE>;
+};
+
+&gphy1 {
+ lantiq,gphy-mode = <GPHY_MODE_GE>;
+};
+
+&gpio {
+ pinctrl-names = "default";
+ pinctrl-0 = <&state_default>;
+
+ state_default: pinmux {
+ 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>;
+ };
+ };
+};
+
+&localbus {
+ nor@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;
+ };
+ };
+ };
+};
+
+&pci0 {
+ status = "okay";
+ gpio-reset = <&gpio 21 GPIO_ACTIVE_HIGH>;
+
+ wifi@1814,3091 {
+ compatible = "pci1814,3091";
+ reg = <0x7000 0 0 0 0>;
+ ralink,mtd-eeprom = <&boardconfig 0x410>;
+ ralink,mtd-eeprom-swap;
+ mtd-mac-address = <&boardconfig 0x16>;
+ mtd-mac-address-increment = <1>;
+ };
+};
+
+&pcie0 {
+ status = "disabled";
+};
+
+&stp {
+ status = "okay";
+ lantiq,shadow = <0xffff>;
+ lantiq,groups = <0x3>;
+ lantiq,dsl = <0x0>;
+ lantiq,phy1 = <0x0>;
+ lantiq,phy2 = <0x0>;
+ /* lantiq,rising; */
+};
+
+&usb_phy0 {
+ status = "okay";
+};
+
+&usb_phy1 {
+ status = "okay";
+};
+
+&usb0 {
+ status = "okay";
+ vbus-supply = <&usb_vbus>;
+};
+
+&usb1 {
+ status = "okay";
+ vbus-supply = <&usb_vbus>;
+};
+
+&vmmc {
+ status = "okay";
+ gpios = <&gpio 30 GPIO_ACTIVE_HIGH //fxs relay
+ &gpio 31 GPIO_ACTIVE_HIGH //still unknown
+ &gpio 3 GPIO_ACTIVE_HIGH>; //reset_slic?
+};
diff --git a/target/linux/lantiq/files/arch/mips/boot/dts/VGV7519BRN.dts b/target/linux/lantiq/files/arch/mips/boot/dts/VGV7519BRN.dts
new file mode 100644
index 0000000000..1e6a65ebb0
--- /dev/null
+++ b/target/linux/lantiq/files/arch/mips/boot/dts/VGV7519BRN.dts
@@ -0,0 +1,70 @@
+/dts-v1/;
+
+#include "VGV7519.dtsi"
+
+/ {
+ compatible = "arcadyan,vgv7519-brn", "arcadyan,vgv7519", "lantiq,xway", "lantiq,vr9";
+ model = "KPN Experiabox V8";
+};
+
+&localbus {
+ nor@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/arch/mips/boot/dts/VGV7519NOR.dts b/target/linux/lantiq/files/arch/mips/boot/dts/VGV7519NOR.dts
new file mode 100644
index 0000000000..4bdf0bc753
--- /dev/null
+++ b/target/linux/lantiq/files/arch/mips/boot/dts/VGV7519NOR.dts
@@ -0,0 +1,29 @@
+/dts-v1/;
+
+#include "VGV7519.dtsi"
+
+/ {
+ compatible = "arcadyan,vgv7519-nor", "arcadyan,vgv7519", "lantiq,xway", "lantiq,vr9";
+ model = "KPN Experiabox V8";
+};
+
+&localbus {
+ nor@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/arch/mips/boot/dts/VR200.dts b/target/linux/lantiq/files/arch/mips/boot/dts/VR200.dts
new file mode 100644
index 0000000000..74f666ddfd
--- /dev/null
+++ b/target/linux/lantiq/files/arch/mips/boot/dts/VR200.dts
@@ -0,0 +1,94 @@
+/dts-v1/;
+
+#include "VR200.dtsi"
+
+/ {
+ compatible = "tplink,vr200", "lantiq,xway", "lantiq,vr9";
+ model = "TP-LINK Archer VR200";
+
+ chosen {
+ bootargs = "console=ttyLTQ0,115200";
+ };
+
+ aliases {
+ led-boot = &power;
+ led-failsafe = &power;
+ led-running = &power;
+ led-upgrade = &power;
+
+ led-dsl = &dsl;
+ led-internet = &internet;
+ led-wifi = &wlan5g;
+
+ led-usb = &led_usb;
+ led-usb2 = &led_usb;
+ };
+
+ 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>;
+ };
+
+ led {
+ label = "led";
+ gpios = <&gpio 39 GPIO_ACTIVE_LOW>;
+ linux,code = <KEY_LIGHTS_TOGGLE>;
+ };
+ };
+
+ gpio-leds {
+ compatible = "gpio-leds";
+ power: power {
+ label = "vr200:blue:power";
+ gpios = <&gpio 46 GPIO_ACTIVE_LOW>;
+ default-state = "keep";
+ };
+ dsl: dsl {
+ label = "vr200:blue:dsl";
+ gpios = <&gpio 4 GPIO_ACTIVE_LOW>;
+ };
+ internet: internet {
+ label = "vr200:blue:internet";
+ gpios = <&gpio 5 GPIO_ACTIVE_LOW>;
+ };
+ led_usb: usb {
+ label = "vr200:blue:usb";
+ gpios = <&gpio 25 GPIO_ACTIVE_LOW>;
+ };
+ eth {
+ label = "vr200:blue:lan";
+ gpios = <&gpio 40 GPIO_ACTIVE_LOW>;
+ };
+ wlan {
+ label = "vr200:blue:wlan";
+ gpios = <&gpio 24 GPIO_ACTIVE_LOW>;
+ };
+ wlan5g: wifi {
+ label = "vr200:blue:wlan5g";
+ gpios = <&gpio 20 GPIO_ACTIVE_LOW>;
+ };
+ led_wps {
+ label = "vr200:blue:wps";
+ gpios = <&gpio 44 GPIO_ACTIVE_LOW>;
+ };
+ };
+};
diff --git a/target/linux/lantiq/files/arch/mips/boot/dts/VR200.dtsi b/target/linux/lantiq/files/arch/mips/boot/dts/VR200.dtsi
new file mode 100644
index 0000000000..dcfa86125d
--- /dev/null
+++ b/target/linux/lantiq/files/arch/mips/boot/dts/VR200.dtsi
@@ -0,0 +1,219 @@
+#include "vr9.dtsi"
+
+#include <dt-bindings/input/input.h>
+#include <dt-bindings/mips/lantiq_rcu_gphy.h>
+
+/ {
+ memory@0 {
+ reg = <0x0 0x7f00000>;
+ };
+
+ usb_vbus: regulator-usb-vbus {
+ compatible = "regulator-fixed";
+
+ regulator-name = "USB_VBUS";
+
+ regulator-min-microvolt = <5000000>;
+ regulator-max-microvolt = <5000000>;
+
+ gpio = <&gpio 33 GPIO_ACTIVE_HIGH>;
+ enable-active-high;
+ };
+};
+
+&eth0 {
+ 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";
+ reg = <0>;
+
+ phy0: ethernet-phy@0 {
+ reg = <0x0>;
+ compatible = "lantiq,phy11g", "ethernet-phy-ieee802.3-c22";
+ };
+ phy5: ethernet-phy@5 {
+ reg = <0x5>;
+ compatible = "lantiq,phy11g", "ethernet-phy-ieee802.3-c22";
+ };
+ phy11: ethernet-phy@11 {
+ reg = <0x11>;
+ compatible = "lantiq,phy11g", "ethernet-phy-ieee802.3-c22";
+ };
+ phy13: ethernet-phy@13 {
+ reg = <0x13>;
+ compatible = "lantiq,phy11g", "ethernet-phy-ieee802.3-c22";
+ };
+ };
+};
+
+&gphy0 {
+ lantiq,gphy-mode = <GPHY_MODE_GE>;
+};
+
+&gphy1 {
+ lantiq,gphy-mode = <GPHY_MODE_GE>;
+};
+
+&gpio {
+ pinctrl-names = "default";
+ pinctrl-0 = <&state_default>;
+
+ state_default: pinmux {
+ 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>;
+ };
+ };
+};
+
+&pci0 {
+ status = "okay";
+ gpio-reset = <&gpio 21 GPIO_ACTIVE_HIGH>;
+};
+
+&spi {
+ status = "okay";
+
+ pinctrl-names = "default";
+ pinctrl-0 = <&pins_spi_default>;
+
+ 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;
+ };
+ };
+ };
+};
+
+&usb_phy0 {
+ status = "okay";
+};
+
+&usb_phy1 {
+ status = "okay";
+};
+
+&usb0 {
+ status = "okay";
+ vbus-supply = <&usb_vbus>;
+};
+
+&usb1 {
+ status = "okay";
+ vbus-supply = <&usb_vbus>;
+};
diff --git a/target/linux/lantiq/files/arch/mips/boot/dts/VR200v.dts b/target/linux/lantiq/files/arch/mips/boot/dts/VR200v.dts
new file mode 100644
index 0000000000..dc65dbfc36
--- /dev/null
+++ b/target/linux/lantiq/files/arch/mips/boot/dts/VR200v.dts
@@ -0,0 +1,101 @@
+/dts-v1/;
+
+#include "VR200.dtsi"
+
+/ {
+ compatible = "tplink,vr200v", "lantiq,xway", "lantiq,vr9";
+ model = "TP-LINK Archer VR200v";
+
+ chosen {
+ bootargs = "console=ttyLTQ0,115200 mem=126M vpe1_load_addr=0x87e00000 vpe1_mem=2M maxvpes=1 maxtcs=1 nosmp";
+ };
+
+ aliases {
+ led-boot = &power;
+ led-failsafe = &power;
+ led-running = &power;
+ led-upgrade = &power;
+
+ led-dsl = &dsl;
+ led-internet = &internet;
+ led-wifi = &wlan5g;
+
+ led-usb = &led_usb;
+ led-usb2 = &led_usb;
+ };
+
+ 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>;
+ default-state = "keep";
+ };
+ dsl: dsl {
+ label = "vr200v:blue:dsl";
+ gpios = <&gpio 4 GPIO_ACTIVE_LOW>;
+ };
+ internet: internet {
+ label = "vr200v:blue:internet";
+ gpios = <&gpio 5 GPIO_ACTIVE_LOW>;
+ };
+ led_usb: usb {
+ label = "vr200v:blue:usb";
+ gpios = <&gpio 25 GPIO_ACTIVE_LOW>;
+ };
+ eth {
+ label = "vr200v:blue:lan";
+ gpios = <&gpio 40 GPIO_ACTIVE_LOW>;
+ };
+ wlan {
+ label = "vr200v:blue:wlan";
+ gpios = <&gpio 24 GPIO_ACTIVE_LOW>;
+ };
+ wlan5g: wifi {
+ label = "vr200v:blue:wlan5g";
+ gpios = <&gpio 20 GPIO_ACTIVE_LOW>;
+ };
+ phone {
+ label = "vr200v:blue:phone";
+ gpios = <&gpio 44 GPIO_ACTIVE_LOW>;
+ };
+ };
+};
+
+&vmmc {
+ status = "okay";
+ gpios = <&gpio 30 GPIO_ACTIVE_HIGH //fxs relay
+ &gpio 31 GPIO_ACTIVE_HIGH //still unknown
+ &gpio 3 GPIO_ACTIVE_HIGH>; //reset_slic?
+};
diff --git a/target/linux/lantiq/files/arch/mips/boot/dts/WBMR.dts b/target/linux/lantiq/files/arch/mips/boot/dts/WBMR.dts
new file mode 100644
index 0000000000..9759b311b7
--- /dev/null
+++ b/target/linux/lantiq/files/arch/mips/boot/dts/WBMR.dts
@@ -0,0 +1,200 @@
+/dts-v1/;
+
+#include "ar9.dtsi"
+
+#include <dt-bindings/input/input.h>
+
+/ {
+ compatible = "buffalo,wbmr-hp-g300h", "lantiq,xway", "lantiq,ar9";
+ model = "Buffalo WBMR-HP-G300H";
+
+ chosen {
+ bootargs = "console=ttyLTQ0,115200";
+ };
+
+ aliases {
+ led-boot = &power_green;
+ led-failsafe = &power_red;
+ led-running = &power_green;
+ led-upgrade = &power_green;
+
+ led-dsl = &dsl;
+ led-internet = &online_green;
+ led-usb = &led_usb;
+ led-wifi = &wifi;
+ };
+
+ memory@0 {
+ reg = <0x0 0x4000000>;
+ };
+
+ 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>;
+ };
+ led_usb: usb {
+ label = "wbmr:green:usb";
+ gpios = <&gpio 28 GPIO_ACTIVE_LOW>;
+ default-state = "on";
+ };
+ };
+
+ usb_vbus: regulator-usb-vbus {
+ compatible = "regulator-fixed";
+
+ regulator-name = "USB_VBUS";
+
+ regulator-min-microvolt = <5000000>;
+ regulator-max-microvolt = <5000000>;
+
+ gpio = <&gpio 36 GPIO_ACTIVE_HIGH>;
+ enable-active-high;
+ };
+};
+
+&gpio {
+ pinctrl-names = "default";
+ pinctrl-0 = <&state_default>;
+
+ state_default: pinmux {
+ pci-in {
+ lantiq,groups = "req1";
+ lantiq,output = <0>;
+ lantiq,open-drain = <1>;
+ lantiq,pull = <2>;
+ };
+ pci-out {
+ lantiq,groups = "gnt1";
+ lantiq,output = <1>;
+ lantiq,pull = <0>;
+ };
+ pci_rst {
+ lantiq,pins = "io21";
+ lantiq,pull = <0>;
+ lantiq,output = <1>;
+ };
+ };
+};
+
+&gsw {
+ phy-mode = "rgmii";
+ mtd-mac-address = <&boardconfig 0x10024>;
+};
+
+&pci0 {
+ status = "okay";
+};
+
+&localbus {
+ nor@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;
+ };
+ };
+ };
+};
+
+&usb_phy0 {
+ status = "okay";
+};
+
+&usb0 {
+ status = "okay";
+ vbus-supply = <&usb_vbus>;
+};
diff --git a/target/linux/lantiq/files/arch/mips/boot/dts/WBMR300.dts b/target/linux/lantiq/files/arch/mips/boot/dts/WBMR300.dts
new file mode 100644
index 0000000000..5dcf13912e
--- /dev/null
+++ b/target/linux/lantiq/files/arch/mips/boot/dts/WBMR300.dts
@@ -0,0 +1,330 @@
+/dts-v1/;
+
+#include "vr9.dtsi"
+
+#include <dt-bindings/input/input.h>
+#include <dt-bindings/mips/lantiq_rcu_gphy.h>
+
+/ {
+ compatible = "buffalo,wbmr-300hpd", "lantiq,xway", "lantiq,vr9";
+ model = "Buffalo WBMR-300HPD";
+
+ chosen {
+ bootargs = "console=ttyLTQ0,115200";
+ };
+
+ aliases {
+ led-boot = &power_g;
+ led-failsafe = &diag_r;
+ led-running = &power_g;
+ led-upgrade = &power_g;
+
+ led-dsl = &dsl;
+ led-internet = &router_g;
+ led-wifi = &wifi_g;
+ };
+
+ memory@0 {
+ reg = <0x0 0x4000000>;
+ };
+
+ 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>;
+ };
+ };
+
+ usb_vbus: regulator-usb-vbus {
+ compatible = "regulator-fixed";
+
+ regulator-name = "USB_VBUS";
+
+ regulator-min-microvolt = <5000000>;
+ regulator-max-microvolt = <5000000>;
+
+ gpio = <&gpio 33 GPIO_ACTIVE_HIGH>;
+ enable-active-high;
+ };
+};
+
+&eth0 {
+ lan: interface@0 {
+ compatible = "lantiq,xrx200-pdi";
+ #address-cells = <1>;
+ #size-cells = <0>;
+ reg = <0>;
+ lantiq,switch;
+
+ ethernet@1 {
+ compatible = "lantiq,xrx200-pdi-port";
+ reg = <4>;
+ phy-mode = "mii";
+ phy-handle = <&phy13>;
+ };
+ ethernet@2 {
+ compatible = "lantiq,xrx200-pdi-port";
+ reg = <5>;
+ phy-mode = "mii";
+ phy-handle = <&phy14>;
+ };
+ ethernet@3 {
+ compatible = "lantiq,xrx200-pdi-port";
+ reg = <2>;
+ phy-mode = "mii";
+ phy-handle = <&phy11>;
+ };
+ ethernet@4 {
+ compatible = "lantiq,xrx200-pdi-port";
+ reg = <3>;
+ phy-mode = "mii";
+ phy-handle = <&phy12>;
+ };
+ };
+
+ mdio@0 {
+ #address-cells = <1>;
+ #size-cells = <0>;
+ compatible = "lantiq,xrx200-mdio";
+ reg = <0>;
+
+ phy11: ethernet-phy@11 {
+ reg = <0x11>;
+ compatible = "lantiq,phy22f", "ethernet-phy-ieee802.3-c22";
+ };
+ phy12: ethernet-phy@12 {
+ reg = <0x12>;
+ compatible = "lantiq,phy22f", "ethernet-phy-ieee802.3-c22";
+ };
+ phy13: ethernet-phy@13 {
+ reg = <0x13>;
+ compatible = "lantiq,phy22f", "ethernet-phy-ieee802.3-c22";
+ };
+ phy14: ethernet-phy@14 {
+ reg = <0x14>;
+ compatible = "lantiq,phy22f", "ethernet-phy-ieee802.3-c22";
+ };
+ };
+};
+
+&gphy0 {
+ lantiq,gphy-mode = <GPHY_MODE_FE>;
+};
+
+&gphy1 {
+ lantiq,gphy-mode = <GPHY_MODE_FE>;
+};
+
+&gpio {
+ pinctrl-names = "default";
+ pinctrl-0 = <&state_default>;
+
+ state_default: pinmux {
+ 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>;
+ };
+ };
+};
+
+&spi {
+ status = "okay";
+
+ pinctrl-names = "default";
+ pinctrl-0 = <&pins_spi_default>;
+
+ 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;
+ };
+ };
+};
+
+&usb_phy0 {
+ status = "okay";
+};
+
+&usb_phy1 {
+ status = "okay";
+};
+
+&usb0 {
+ status = "okay";
+ vbus-supply = <&usb_vbus>;
+};
+
+&usb1 {
+ status = "okay";
+ vbus-supply = <&usb_vbus>;
+};
diff --git a/target/linux/lantiq/files/arch/mips/boot/dts/amazonse.dtsi b/target/linux/lantiq/files/arch/mips/boot/dts/amazonse.dtsi
new file mode 100644
index 0000000000..f216adf36f
--- /dev/null
+++ b/target/linux/lantiq/files/arch/mips/boot/dts/amazonse.dtsi
@@ -0,0 +1,204 @@
+#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,ase-rcu", "simple-mfd", "syscon";
+ reg = <0x203000 0x1000>;
+ ranges = <0x0 0x203000 0x100>;
+ big-endian;
+
+ reset: reset-controller@10 {
+ compatible = "lantiq,danube-reset";
+ reg = <0x10 4>, <0x14 4>;
+
+ #reset-cells = <2>;
+ };
+
+ usb_phy: usb2-phy@18 {
+ compatible = "lantiq,ase-usb2-phy";
+ reg = <0x18 4>;
+ status = "disabled";
+
+ resets = <&reset 4 4>;
+ reset-names = "ctrl";
+ #phy-cells = <0>;
+ };
+
+ reboot@10 {
+ compatible = "syscon-reboot";
+ reg = <0x10 4>;
+
+ regmap = <&rcu0>;
+ offset = <0x10>;
+ mask = <0x40000000>;
+ };
+ };
+ };
+
+ fpi@10000000 {
+ #address-cells = <1>;
+ #size-cells = <1>;
+ compatible = "lantiq,fpi", "simple-bus";
+ ranges = <0x0 0x10000000 0xeefffff>;
+ reg = <0x10000000 0xef00000>;
+
+ localbus: localbus@0 {
+ #address-cells = <2>;
+ #size-cells = <1>;
+ ranges = <0 0 0x0 0x3ffffff /* addrsel0 */
+ 1 0 0x4000000 0x4000010>; /* addsel1 */
+ compatible = "lantiq,localbus", "simple-bus";
+ };
+
+ spi: spi@e100800 {
+ compatible = "lantiq,ase-spi";
+ reg = <0xe100800 0x100>;
+ interrupt-parent = <&icu0>;
+ interrupts = <24 25 26>;
+ interrupt-names = "spi_rx", "spi_tx", "spi_err",
+ "spi_frm";
+ #address-cells = <1>;
+ #size-cells = <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>;
+ };
+
+ usb: usb@e101000 {
+ compatible = "lantiq,ase-usb";
+ reg = <0xe101000 0x1000
+ 0xe120000 0x3f000>;
+ interrupt-parent = <&icu0>;
+ interrupts = <39>;
+ dr_mode = "host";
+ phys = <&usb_phy>;
+ phy-names = "usb2-phy";
+ status = "disabled";
+ };
+
+ dma0: dma@e104100 {
+ compatible = "lantiq,dma-xway";
+ reg = <0xe104100 0x800>;
+ };
+
+ ebu0: ebu@e105300 {
+ compatible = "lantiq,ebu-xway";
+ reg = <0xe105300 0x100>;
+ };
+
+ ppe@e234000 {
+ compatible = "lantiq,ppe-ase";
+ interrupt-parent = <&icu0>;
+ interrupts = <85>;
+ };
+
+ gsw: 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/arch/mips/boot/dts/ar9.dtsi b/target/linux/lantiq/files/arch/mips/boot/dts/ar9.dtsi
new file mode 100644
index 0000000000..48e0d95d63
--- /dev/null
+++ b/target/linux/lantiq/files/arch/mips/boot/dts/ar9.dtsi
@@ -0,0 +1,268 @@
+#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,xrx100-wdt", "lantiq,xrx100-wdt";
+ reg = <0x803f0 0x10>;
+
+ regmap = <&rcu0>;
+ };
+ };
+
+ sram@1f000000 {
+ #address-cells = <1>;
+ #size-cells = <1>;
+ compatible = "lantiq,sram", "simple-bus";
+ reg = <0x1f000000 0x800000>;
+ ranges = <0x0 0x1f000000 0x7fffff>;
+
+ eiu0: eiu@101000 {
+ #interrupt-cells = <1>;
+ interrupt-controller;
+ compatible = "lantiq,eiu-xway";
+ reg = <0x101000 0x1000>;
+ interrupt-parent = <&icu0>;
+ lantiq,eiu-irqs = <166 135 66 40 41 42>;
+ };
+
+ pmu0: pmu@102000 {
+ compatible = "lantiq,pmu-xway";
+ reg = <0x102000 0x1000>;
+ };
+
+ cgu0: cgu@103000 {
+ compatible = "lantiq,cgu-xway";
+ reg = <0x103000 0x1000>;
+ #clock-cells = <1>;
+ };
+
+ rcu0: rcu@203000 {
+ compatible = "lantiq,xrx100-rcu", "simple-mfd", "syscon";
+ reg = <0x203000 0x1000>;
+ ranges = <0x0 0x203000 0x100>;
+ big-endian;
+
+ reset: reset-controller@10 {
+ compatible = "lantiq,xrx100-reset", "lantiq,danube-reset";
+ reg = <0x10 4>, <0x14 4>;
+
+ #reset-cells = <2>;
+ };
+
+ usb_phy0: usb2-phy@18 {
+ compatible = "lantiq,xrx100-usb2-phy";
+ reg = <0x18 4>;
+ status = "disabled";
+
+ resets = <&reset 4 4>;
+ reset-names = "ctrl";
+ #phy-cells = <0>;
+ };
+
+ usb_phy1: usb2-phy@34 {
+ compatible = "lantiq,xrx100-usb2-phy";
+ reg = <0x34 4>;
+ status = "disabled";
+
+ resets = <&reset 28 28>;
+ reset-names = "ctrl";
+ #phy-cells = <0>;
+ };
+
+ reboot@10 {
+ compatible = "syscon-reboot";
+ reg = <0x10 4>;
+
+ regmap = <&rcu0>;
+ offset = <0x10>;
+ mask = <0x40000000>;
+ };
+ };
+ };
+
+ fpi@10000000 {
+ #address-cells = <1>;
+ #size-cells = <1>;
+ compatible = "lantiq,fpi", "simple-bus";
+ ranges = <0x0 0x10000000 0xeefffff>;
+ reg = <0x10000000 0xef00000>;
+
+ localbus: localbus@0 {
+ #address-cells = <2>;
+ #size-cells = <1>;
+ ranges = <0 0 0x0 0x3ffffff /* addrsel0 */
+ 1 0 0x4000000 0x4000010>; /* addsel1 */
+ compatible = "lantiq,localbus", "simple-bus";
+ };
+
+ gptu@e100a00 {
+ compatible = "lantiq,gptu-xway";
+ reg = <0xe100a00 0x100>;
+ interrupt-parent = <&icu0>;
+ interrupts = <126 127 128 129 130 131>;
+ };
+
+ asc0: serial@e100400 {
+ compatible = "lantiq,asc";
+ reg = <0xe100400 0x400>;
+ interrupt-parent = <&icu0>;
+ interrupts = <104 105 106>;
+ status = "disabled";
+ };
+
+ spi: spi@e100800 {
+ compatible = "lantiq,xrx100-spi";
+ reg = <0xe100800 0x100>;
+ interrupt-parent = <&icu0>;
+ interrupts = <22 23 24>;
+ interrupt-names = "spi_rx", "spi_tx", "spi_err",
+ "spi_frm";
+ #address-cells = <1>;
+ #size-cells = <1>;
+ status = "disabled";
+ };
+
+ gpio: pinmux@e100b10 {
+ compatible = "lantiq,xrx100-pinctrl";
+ #gpio-cells = <2>;
+ gpio-controller;
+ reg = <0xe100b10 0xa0>;
+ };
+
+ stp: stp@e100bb0 {
+ #gpio-cells = <2>;
+ compatible = "lantiq,gpio-stp-xway";
+ gpio-controller;
+ reg = <0xe100bb0 0x40>;
+ status = "disabled";
+ };
+
+ asc1: serial@e100c00 {
+ compatible = "lantiq,asc";
+ reg = <0xe100c00 0x400>;
+ interrupt-parent = <&icu0>;
+ interrupts = <112 113 114>;
+ };
+
+ usb0: usb@e101000 {
+ compatible = "lantiq,arx100-usb";
+ reg = <0xe101000 0x1000
+ 0xe120000 0x3f000>;
+ interrupt-parent = <&icu0>;
+ interrupts = <62 91>;
+ dr_mode = "host";
+ phys = <&usb_phy0>;
+ phy-names = "usb2-phy";
+ status = "disabled";
+ };
+
+ usb1: usb@e106000 {
+ compatible = "lantiq,arx100-usb";
+ reg = <0xe106000 0x1000
+ 0xe1e0000 0x3f000>;
+ interrupt-parent = <&icu0>;
+ interrupts = <91>;
+ dr_mode = "host";
+ phys = <&usb_phy1>;
+ phy-names = "usb2-phy";
+ status = "disabled";
+ };
+
+ deu@e103100 {
+ compatible = "lantiq,deu-arx100";
+ reg = <0xe103100 0xf00>;
+ };
+
+ dma0: dma@e104100 {
+ compatible = "lantiq,dma-xway";
+ reg = <0xe104100 0x800>;
+ };
+
+ ebu0: ebu@e105300 {
+ compatible = "lantiq,ebu-xway";
+ reg = <0xe105300 0x100>;
+ };
+
+ mei@e116000 {
+ compatible = "lantiq,mei-xway";
+ interrupt-parent = <&icu0>;
+ interrupts = <63>;
+ };
+
+ gsw: etop@e180000 {
+ compatible = "lantiq,etop-xway";
+ reg = <0xe180000 0x40000
+ 0xe108000 0x200>;
+ interrupt-parent = <&icu0>;
+ interrupts = <73 72>;
+ mac-address = [ 00 11 22 33 44 55 ];
+ };
+
+ 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/arch/mips/boot/dts/danube.dtsi b/target/linux/lantiq/files/arch/mips/boot/dts/danube.dtsi
new file mode 100644
index 0000000000..af4c795af2
--- /dev/null
+++ b/target/linux/lantiq/files/arch/mips/boot/dts/danube.dtsi
@@ -0,0 +1,252 @@
+#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: 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,danube-rcu", "simple-mfd", "syscon";
+ reg = <0x203000 0x1000>;
+ ranges = <0x0 0x203000 0x100>;
+ big-endian;
+
+ reset: reset-controller@10 {
+ compatible = "lantiq,danube-reset";
+ reg = <0x10 4>, <0x14 4>;
+
+ #reset-cells = <2>;
+ };
+
+ usb_phy: usb2-phy@18 {
+ compatible = "lantiq,danube-usb2-phy";
+ reg = <0x18 4>;
+ status = "disabled";
+
+ resets = <&reset 4 4>;
+ reset-names = "ctrl";
+ #phy-cells = <0>;
+ };
+
+ reboot@10 {
+ compatible = "syscon-reboot";
+ reg = <0x10 4>;
+
+ regmap = <&rcu0>;
+ offset = <0x10>;
+ mask = <0x40000000>;
+ };
+ };
+ };
+
+ fpi@10000000 {
+ #address-cells = <1>;
+ #size-cells = <1>;
+ compatible = "lantiq,fpi", "simple-bus";
+ ranges = <0x0 0x10000000 0xeefffff>;
+ reg = <0x10000000 0xef00000>;
+
+ localbus: localbus@0 {
+ #address-cells = <2>;
+ #size-cells = <1>;
+ ranges = <0 0 0x0 0x3ffffff /* addrsel0 */
+ 1 0 0x4000000 0x4000010>; /* addsel1 */
+ compatible = "lantiq,localbus", "simple-bus";
+
+ gpiomm: gpiomm@1 {
+ compatible = "lantiq,gpio-mm";
+ reg = <1 0x0 0x10 >;
+ #address-cells = <1>;
+ #size-cells = <1>;
+ #gpio-cells = <2>;
+ gpio-controller;
+ status = "disabled";
+ };
+ };
+
+ 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>;
+ };
+
+ usb: usb@e101000 {
+ compatible = "lantiq,danube-usb";
+ reg = <0xe101000 0x1000
+ 0xe120000 0x3f000>;
+ interrupt-parent = <&icu0>;
+ interrupts = <62>;
+ dr_mode = "host";
+ phys = <&usb_phy>;
+ phy-names = "usb2-phy";
+ status = "disabled";
+ };
+
+ deu@e103100 {
+ compatible = "lantiq,deu-danube";
+ reg = <0xe103100 0xf00>;
+ };
+
+ dma0: dma@e104100 {
+ compatible = "lantiq,dma-xway";
+ reg = <0xe104100 0x800>;
+ };
+
+ ebu0: ebu@e105300 {
+ compatible = "lantiq,ebu-xway";
+ reg = <0xe105300 0x100>;
+ };
+
+ mei@e116000 {
+ compatible = "lantiq,mei-xway";
+ interrupt-parent = <&icu0>;
+ interrupts = <63>;
+ };
+
+ gsw: etop@e180000 {
+ compatible = "lantiq,etop-xway";
+ reg = <0xe180000 0x40000>;
+ interrupt-parent = <&icu0>;
+ interrupts = <73 78>;
+ mac-address = [ 00 11 22 33 44 55 ];
+ };
+
+ ppe@e234000 {
+ compatible = "lantiq,ppe-danube";
+ 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/arch/mips/boot/dts/falcon-sflash-16M.dtsi b/target/linux/lantiq/files/arch/mips/boot/dts/falcon-sflash-16M.dtsi
new file mode 100644
index 0000000000..d95acc21ef
--- /dev/null
+++ b/target/linux/lantiq/files/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/arch/mips/boot/dts/falcon.dtsi b/target/linux/lantiq/files/arch/mips/boot/dts/falcon.dtsi
new file mode 100644
index 0000000000..98f71819a2
--- /dev/null
+++ b/target/linux/lantiq/files/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/arch/mips/boot/dts/vr9.dtsi b/target/linux/lantiq/files/arch/mips/boot/dts/vr9.dtsi
new file mode 100644
index 0000000000..6e8f0d1300
--- /dev/null
+++ b/target/linux/lantiq/files/arch/mips/boot/dts/vr9.dtsi
@@ -0,0 +1,341 @@
+#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,xrx100-wdt", "lantiq,xrx100-wdt";
+ reg = <0x803f0 0x10>;
+
+ regmap = <&rcu0>;
+ };
+ };
+
+ sram@1f000000 {
+ #address-cells = <1>;
+ #size-cells = <1>;
+ compatible = "lantiq,sram", "simple-bus";
+ reg = <0x1f000000 0x800000>;
+ ranges = <0x0 0x1f000000 0x7fffff>;
+
+ eiu0: eiu@101000 {
+ #interrupt-cells = <1>;
+ interrupt-controller;
+ compatible = "lantiq,eiu-xway";
+ reg = <0x101000 0x1000>;
+ interrupt-parent = <&icu0>;
+ lantiq,eiu-irqs = <166 135 66 40 41 42>;
+ };
+
+ pmu0: pmu@102000 {
+ compatible = "lantiq,pmu-xway";
+ reg = <0x102000 0x1000>;
+ };
+
+ cgu0: cgu@103000 {
+ compatible = "lantiq,cgu-xway";
+ reg = <0x103000 0x1000>;
+ };
+
+ dcdc@106a00 {
+ compatible = "lantiq,dcdc-xrx200";
+ reg = <0x106a00 0x200>;
+ };
+
+ vmmc: vmmc@103000 {
+ status = "disabled";
+ compatible = "lantiq,vmmc-xway";
+ reg = <0x103000 0x400>;
+ interrupt-parent = <&icu0>;
+ interrupts = <150 151 152 153 154 155>;
+ };
+
+ rcu0: rcu@203000 {
+ compatible = "lantiq,xrx200-rcu", "simple-mfd", "syscon";
+ reg = <0x203000 0x100>;
+ ranges = <0x0 0x203000 0x100>;
+ big-endian;
+
+ gphy0: gphy@20 {
+ compatible = "lantiq,xrx200-gphy";
+ reg = <0x20 0x4>;
+
+ resets = <&reset0 31 30>, <&reset1 7 7>;
+ reset-names = "gphy", "gphy2";
+ };
+
+ gphy1: gphy@68 {
+ compatible = "lantiq,xrx200-gphy";
+ reg = <0x68 0x4>;
+
+ resets = <&reset0 29 28>, <&reset1 6 6>;
+ reset-names = "gphy", "gphy2";
+ };
+
+ reset0: reset-controller@10 {
+ compatible = "lantiq,xrx200-reset";
+ reg = <0x10 4>, <0x14 4>;
+
+ #reset-cells = <2>;
+ };
+
+ reset1: reset-controller@48 {
+ compatible = "lantiq,xrx200-reset";
+ reg = <0x48 4>, <0x24 4>;
+
+ #reset-cells = <2>;
+ };
+
+ usb_phy0: usb2-phy@18 {
+ compatible = "lantiq,xrx200-usb2-phy";
+ reg = <0x18 4>, <0x38 4>;
+ status = "disabled";
+
+ resets = <&reset1 4 4>, <&reset0 4 4>;
+ reset-names = "phy", "ctrl";
+ #phy-cells = <0>;
+ };
+
+ usb_phy1: usb2-phy@34 {
+ compatible = "lantiq,xrx200-usb2-phy";
+ reg = <0x34 4>, <0x3c 4>;
+ status = "disabled";
+
+ resets = <&reset1 5 5>, <&reset0 4 4>;
+ reset-names = "phy", "ctrl";
+ #phy-cells = <0>;
+ };
+
+ reboot@10 {
+ compatible = "syscon-reboot";
+ reg = <0x10 4>;
+
+ regmap = <&rcu0>;
+ offset = <0x10>;
+ mask = <0xe0000000>;
+ };
+ };
+ };
+
+ fpi@10000000 {
+ compatible = "lantiq,xrx200-fpi", "simple-bus";
+ ranges = <0x0 0x10000000 0xf000000>;
+ reg = <0x1f400000 0x1000>,
+ <0x10000000 0xf000000>;
+ regmap = <&rcu0>;
+ offset-endianness = <0x4c>;
+ #address-cells = <1>;
+ #size-cells = <1>;
+
+ localbus: localbus@0 {
+ #address-cells = <2>;
+ #size-cells = <1>;
+ ranges = <0 0 0x0 0x3ffffff /* addrsel0 */
+ 1 0 0x4000000 0x4000010>; /* addsel1 */
+ compatible = "lantiq,localbus", "simple-bus";
+ };
+
+ gptu@e100a00 {
+ compatible = "lantiq,gptu-xway";
+ reg = <0xe100a00 0x100>;
+ interrupt-parent = <&icu0>;
+ interrupts = <126 127 128 129 130 131>;
+ };
+
+ usif: usif@da00000 {
+ compatible = "lantiq,usif";
+ reg = <0xda00000 0x1000000>;
+ interrupt-parent = <&icu0>;
+ interrupts = <29 125 107 108 109 110>;
+ status = "disabled";
+ };
+
+ spi: spi@e100800 {
+ compatible = "lantiq,xrx200-spi", "lantiq,xrx100-spi";
+ reg = <0xe100800 0x100>;
+ interrupt-parent = <&icu0>;
+ interrupts = <22 23 24>;
+ interrupt-names = "spi_rx", "spi_tx", "spi_err",
+ "spi_frm";
+ #address-cells = <1>;
+ #size-cells = <1>;
+ status = "disabled";
+ };
+
+ gpio: pinmux@e100b10 {
+ compatible = "lantiq,xrx200-pinctrl";
+ #gpio-cells = <2>;
+ gpio-controller;
+ reg = <0xe100b10 0xa0>;
+ };
+
+ stp: stp@e100bb0 {
+ status = "disabled";
+ 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>;
+ };
+
+ asc1: serial@e100c00 {
+ compatible = "lantiq,asc";
+ reg = <0xe100c00 0x400>;
+ interrupt-parent = <&icu0>;
+ interrupts = <112 113 114>;
+ };
+
+ deu@e103100 {
+ compatible = "lantiq,deu-xrx200";
+ reg = <0xe103100 0xf00>;
+ };
+
+ dma0: dma@e104100 {
+ compatible = "lantiq,dma-xway";
+ reg = <0xe104100 0x800>;
+ };
+
+ ebu0: ebu@e105300 {
+ compatible = "lantiq,ebu-xway";
+ reg = <0xe105300 0x100>;
+ };
+
+ usb0: usb@e101000 {
+ status = "disabled";
+ compatible = "lantiq,xrx200-usb";
+ reg = <0xe101000 0x1000
+ 0xe120000 0x3f000>;
+ interrupt-parent = <&icu0>;
+ interrupts = <62 91>;
+ dr_mode = "host";
+ phys = <&usb_phy0>;
+ phy-names = "usb2-phy";
+ };
+
+ usb1: usb@e106000 {
+ status = "disabled";
+ compatible = "lantiq,xrx200-usb";
+ reg = <0xe106000 0x1000>;
+ interrupt-parent = <&icu0>;
+ interrupts = <91>;
+ dr_mode = "host";
+ phys = <&usb_phy1>;
+ phy-names = "usb2-phy";
+ };
+
+ eth0: eth@e108000 {
+ #address-cells = <1>;
+ #size-cells = <0>;
+ compatible = "lantiq,xrx200-net";
+ reg = < 0xe108000 0x3000 /* switch */
+ 0xe10b100 0x70 /* mdio */
+ 0xe10b1d8 0x30 /* mii */
+ 0xe10b308 0x30 /* pmac */
+ >;
+ interrupt-parent = <&icu0>;
+ interrupts = <75 73 72>;
+ resets = <&reset0 21 16>, <&reset0 8 8>;
+ reset-names = "switch", "ppe";
+ lantiq,phys = <&gphy0>, <&gphy1>;
+ };
+
+ 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>;
+ resets = <&reset0 3 3>, <&reset0 11 11>, <&reset0 23 23>;
+ reset-names = "dsp", "dfe", "tc";
+ };
+
+ pcie0: pcie@d900000 {
+ compatible = "lantiq,pcie-xrx200";
+
+ #interrupt-cells = <1>;
+ #size-cells = <2>;
+ #address-cells = <3>;
+
+ 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";
+ };
+};