summaryrefslogtreecommitdiff
path: root/target/linux/lantiq/dts
diff options
context:
space:
mode:
Diffstat (limited to 'target/linux/lantiq/dts')
-rw-r--r--target/linux/lantiq/dts/ACMP252.dts96
-rw-r--r--target/linux/lantiq/dts/ARV4510PW.dts118
-rw-r--r--target/linux/lantiq/dts/ARV4518PWR01.dts192
-rw-r--r--target/linux/lantiq/dts/ARV4518PWR01A.dts192
-rw-r--r--target/linux/lantiq/dts/ARV4520PW.dts200
-rw-r--r--target/linux/lantiq/dts/ARV4525PW.dts153
-rw-r--r--target/linux/lantiq/dts/ARV452CQW.dts219
-rw-r--r--target/linux/lantiq/dts/ARV7518PW.dts209
-rw-r--r--target/linux/lantiq/dts/ARV7525PW.dts142
-rw-r--r--target/linux/lantiq/dts/ARV752DPW.dts219
-rw-r--r--target/linux/lantiq/dts/ARV752DPW22.dts242
-rw-r--r--target/linux/lantiq/dts/DGN1000B.dts138
-rw-r--r--target/linux/lantiq/dts/DGN3500.dts7
-rw-r--r--target/linux/lantiq/dts/DGN3500.dtsi176
-rw-r--r--target/linux/lantiq/dts/DGN3500B.dts7
-rw-r--r--target/linux/lantiq/dts/EASY50712.dts113
-rw-r--r--target/linux/lantiq/dts/EASY50810.dts114
-rw-r--r--target/linux/lantiq/dts/EASY80920.dtsi340
-rw-r--r--target/linux/lantiq/dts/EASY80920NAND.dts35
-rw-r--r--target/linux/lantiq/dts/EASY80920NOR.dts34
-rw-r--r--target/linux/lantiq/dts/EASY98000NOR.dts65
-rw-r--r--target/linux/lantiq/dts/EASY98000SFLASH.dts74
-rw-r--r--target/linux/lantiq/dts/FRITZ3370.dts278
-rw-r--r--target/linux/lantiq/dts/FRITZ7320.dts138
-rw-r--r--target/linux/lantiq/dts/VG3503J.dts189
-rw-r--r--target/linux/lantiq/dts/WBMR.dts167
-rw-r--r--target/linux/lantiq/dts/amazonse.dtsi148
-rw-r--r--target/linux/lantiq/dts/ar9.dtsi179
-rw-r--r--target/linux/lantiq/dts/danube.dtsi201
-rw-r--r--target/linux/lantiq/dts/falcon.dtsi201
-rw-r--r--target/linux/lantiq/dts/vr9.dtsi180
31 files changed, 4766 insertions, 0 deletions
diff --git a/target/linux/lantiq/dts/ACMP252.dts b/target/linux/lantiq/dts/ACMP252.dts
new file mode 100644
index 0000000000..31cb9de5a7
--- /dev/null
+++ b/target/linux/lantiq/dts/ACMP252.dts
@@ -0,0 +1,96 @@
+/dts-v1/;
+
+/include/ "danube.dtsi"
+
+/ {
+ model = "ACMP252 - AudioCodes MediaPack MP-252";
+
+ chosen {
+ bootargs = "console=ttyLTQ0,115200 init=/etc/preinit";
+ };
+
+ memory@0 {
+ reg = <0x0 0x4000000>;
+ };
+
+ sram@1F000000 {
+ vmmc@107000 {
+ status = "okay";
+ gpios = <&gpio 31 0>;
+ };
+ };
+
+ fpi@10000000 {
+ localbus@0 {
+ nor-boot@0 {
+ compatible = "lantiq,nor";
+ bank-width = <2>;
+ reg = <0 0x0 0x2000000>;
+ #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 = "linux";
+ reg = <0xa0000 0xf20000>;
+ };
+
+ partition@fc0000 {
+ label = "sysconfig";
+ reg = <0xfc0000 0x40000>;
+ };
+
+ partition@0x1000000 {
+ label = "rootfs_data";
+ reg = <0x1000000 0x1000000>;
+ };
+
+ };
+ };
+
+ gpio: pinmux@E100B10 {
+ pinctrl-names = "default";
+ pinctrl-0 = <&state_default>;
+
+ state_default: pinmux {
+ exin {
+ lantiq,groups = "exin1";
+ lantiq,function = "exin";
+ };
+ pci {
+ lantiq,groups = "gnt1", "req1";
+ lantiq,function = "pci";
+ };
+ };
+ };
+
+ ifxhcd@E101000 {
+ status = "okay";
+ gpios = <&gpio 3 0>;
+ };
+
+ etop@E180000 {
+ phy-mode = "rmii";
+ };
+
+ pci@E105400 {
+ status = "okay";
+ };
+ };
+};
diff --git a/target/linux/lantiq/dts/ARV4510PW.dts b/target/linux/lantiq/dts/ARV4510PW.dts
new file mode 100644
index 0000000000..e0cd38a460
--- /dev/null
+++ b/target/linux/lantiq/dts/ARV4510PW.dts
@@ -0,0 +1,118 @@
+/dts-v1/;
+
+/include/ "danube.dtsi"
+
+/ {
+ model = "ARV4510QW - Wippies Homebox";
+
+ chosen {
+ bootargs = "console=ttyLTQ0,115200 init=/etc/preinit";
+ };
+
+ memory@0 {
+ reg = <0x0 0x2000000>;
+ };
+
+ sram@1F000000 {
+ vmmc@107000 {
+ status = "okay";
+ };
+ };
+
+ fpi@10000000 {
+ localbus@0 {
+ nor-boot@0 {
+ compatible = "lantiq,nor";
+ bank-width = <2>;
+ reg = <0 0x0 0x1000000>;
+ #address-cells = <1>;
+ #size-cells = <1>;
+
+ lantiq,noxip;
+
+ partition@0 {
+ label = "uboot";
+ reg = <0x00000 0x20000>;
+ read-only;
+ };
+
+ partition@20000 {
+ label = "uboot_env";
+ reg = <0x20000 0x20000>;
+ read-only;
+ };
+
+ partition@240000 {
+ label = "linux";
+ reg = <0x40000 0xf00000>;
+ };
+
+ partition@fe0000 {
+ label = "boardconfig";
+ reg = <0xfe0000 0x10000>;
+ read-only;
+ };
+ };
+
+ mac_addr {
+ compatible = "lantiq,eth-mac";
+ reg = <0 0xff0016 0x6>;
+ mac-increment = <2>;
+ };
+ };
+ gpio: pinmux@E100B10 {
+ pinctrl-names = "default";
+ pinctrl-0 = <&state_default>;
+
+ state_default: pinmux {
+ stp {
+ lantiq,groups = "stp";
+ lantiq,function = "stp";
+ };
+ exin {
+ lantiq,groups = "exin2";
+ lantiq,function = "exin";
+ };
+ 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 = <0>;
+ lantiq,output = <1>;
+ };
+ };
+ };
+
+ gpios: stp@E100BB0 {
+ status = "okay";
+ };
+
+ etop@E180000 {
+ phy-mode = "rmii";
+ };
+
+ pci@E105400 {
+ 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 0>;
+ req-mask = <0x3>;
+ };
+
+ };
+};
diff --git a/target/linux/lantiq/dts/ARV4518PWR01.dts b/target/linux/lantiq/dts/ARV4518PWR01.dts
new file mode 100644
index 0000000000..5536af56d7
--- /dev/null
+++ b/target/linux/lantiq/dts/ARV4518PWR01.dts
@@ -0,0 +1,192 @@
+/dts-v1/;
+
+/include/ "danube.dtsi"
+
+/ {
+ model = "ARV4518PWR01 - SMC7908A-ISP";
+
+ chosen {
+ bootargs = "console=ttyLTQ0,115200 init=/etc/preinit";
+ };
+
+ memory@0 {
+ reg = <0x0 0x4000000>;
+ };
+
+ sram@1F000000 {
+ vmmc@107000 {
+ status = "okay";
+ gpios = <&gpio 31 0>;
+ };
+ };
+
+ fpi@10000000 {
+ localbus@0 {
+ nor-boot@0 {
+ compatible = "lantiq,nor";
+ bank-width = <2>;
+ reg = <0 0x0 0x2000000>;
+ #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 = "linux";
+ reg = <0x20000 0x3d0000>;
+ };
+
+ partition@400000 {
+ label = "boardconfig";
+ reg = <0x3f0000 0x10000>;
+ read-only;
+ };
+ };
+
+ gpiomm: gpiomm@4000000 {
+ compatible = "lantiq,gpio-mm";
+ reg = <1 0x0 0x10 >;
+ #address-cells = <1>;
+ #size-cells = <1>;
+ #gpio-cells = <2>;
+ gpio-controller;
+ lantiq,shadow = <0x0>;
+ };
+
+ mac_addr {
+ compatible = "lantiq,eth-mac";
+ reg = <0 0x3f0016 0x6>;
+ mac-increment = <2>;
+ };
+
+ ath5k_eep {
+ compatible = "ath5k,eeprom";
+ reg = <0 0x3f0400 0x800
+ 0 0x3f0016 0x6>;
+ ath,mac-increment = <1>;
+ ath,eep-swap;
+ };
+ };
+
+ gpio: pinmux@E100B10 {
+ pinctrl-names = "default";
+ pinctrl-0 = <&state_default>;
+
+ state_default: pinmux {
+ ebu {
+ lantiq,groups = "ebu cs1";
+ lantiq,function = "ebu";
+ };
+ pci_in {
+ lantiq,groups = "req1", "req2";
+ lantiq,function = "pci";
+ lantiq,open-drain = <1>;
+ lantiq,pull = <2>;
+ lantiq,output = <0>;
+ };
+ pci_out {
+ lantiq,groups = "gnt1", "gnt2";
+ lantiq,function = "pci";
+ lantiq,pull = <0>;
+ lantiq,output = <1>;
+ };
+ };
+ };
+
+ etop@E180000 {
+ phy-mode = "rmii";
+ };
+
+ ifxhcd@E101000 {
+ status = "okay";
+ gpios = <&gpio 14 0>;
+ };
+
+ pci@E105400 {
+ status = "okay";
+ lantiq,internal-clock;
+ gpio-reset = <&gpio 21 0>;
+ req-mask = <0xf>;
+ };
+
+ };
+
+/*
+#define ARV4518PW_SWITCH_RESET 13
+*/
+ gpio-keys-polled {
+ compatible = "gpio-keys-polled";
+ #address-cells = <1>;
+ #size-cells = <0>;
+ poll-interval = <100>;
+
+ rfkill {
+ label = "rfkill";
+ gpios = <&gpio 28 1>;
+ linux,code = <0xf7>;
+ };
+ reset {
+ label = "reset";
+ gpios = <&gpio 30 1>;
+ linux,code = <0x198>;
+ };
+ };
+
+ gpio-leds {
+ compatible = "gpio-leds";
+ power {
+ label = "power";
+ gpios = <&gpio 3 0>;
+ };
+ dsl {
+ label = "dsl";
+ gpios = <&gpio 4 1>;
+ };
+ online {
+ label = "online";
+ gpios = <&gpio 5 1>;
+ };
+ wifi {
+ label = "wifi";
+ gpios = <&gpio 6 1>;
+ };
+ wps {
+ label = "wps";
+ gpios = <&gpio 7 1>;
+ };
+ dsl2 {
+ label = "dsl2";
+ gpios = <&gpio 8 1>;
+ };
+ usb {
+ label = "usb";
+ gpios = <&gpio 19 1>;
+ };
+ voice {
+ label = "voice";
+ gpios = <&gpiomm 0 1>;
+ };
+ fxs1 {
+ label = "fxs1";
+ gpios = <&gpiomm 1 1>;
+ };
+ fxs2 {
+ label = "fxs2";
+ gpios = <&gpiomm 2 1>;
+ };
+ fxo {
+ label = "fxo";
+ gpios = <&gpiomm 3 1>;
+ };
+ };
+};
diff --git a/target/linux/lantiq/dts/ARV4518PWR01A.dts b/target/linux/lantiq/dts/ARV4518PWR01A.dts
new file mode 100644
index 0000000000..cf960e006c
--- /dev/null
+++ b/target/linux/lantiq/dts/ARV4518PWR01A.dts
@@ -0,0 +1,192 @@
+/dts-v1/;
+
+/include/ "danube.dtsi"
+
+/ {
+ model = "ARV4518PWR01A - SMC7908A-ISP, Airties WAV-221";
+
+ chosen {
+ bootargs = "console=ttyLTQ0,115200 init=/etc/preinit";
+ };
+
+ memory@0 {
+ reg = <0x0 0x4000000>;
+ };
+
+ sram@1F000000 {
+ vmmc@107000 {
+ status = "okay";
+ gpios = <&gpio 31 0>;
+ };
+ };
+
+ fpi@10000000 {
+ localbus@0 {
+ nor-boot@0 {
+ compatible = "lantiq,nor";
+ bank-width = <2>;
+ reg = <0 0x0 0x2000000>;
+ #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 = "linux";
+ reg = <0x20000 0x3d0000>;
+ };
+
+ partition@400000 {
+ label = "boardconfig";
+ reg = <0x3f0000 0x10000>;
+ read-only;
+ };
+ };
+
+ gpiomm: gpiomm@4000000 {
+ compatible = "lantiq,gpio-mm";
+ reg = <1 0x0 0x10 >;
+ #address-cells = <1>;
+ #size-cells = <1>;
+ #gpio-cells = <2>;
+ gpio-controller;
+ lantiq,shadow = <0x0>;
+ };
+
+ mac_addr {
+ compatible = "lantiq,eth-mac";
+ reg = <0 0x3f0016 0x6>;
+ mac-increment = <2>;
+ };
+
+ ath5k_eep {
+ compatible = "ath5k,eeprom";
+ reg = <0 0x3f0400 0x800
+ 0 0x3f0016 0x6>;
+ ath,mac-increment = <1>;
+ ath,eep-swap;
+ };
+ };
+
+ gpio: pinmux@E100B10 {
+ pinctrl-names = "default";
+ pinctrl-0 = <&state_default>;
+
+ state_default: pinmux {
+ ebu {
+ lantiq,groups = "ebu cs1";
+ lantiq,function = "ebu";
+ };
+ pci_in {
+ lantiq,groups = "req1", "req2";
+ lantiq,function = "pci";
+ lantiq,open-drain = <1>;
+ lantiq,pull = <2>;
+ lantiq,output = <0>;
+ };
+ pci_out {
+ lantiq,groups = "gnt1", "gnt2";
+ lantiq,function = "pci";
+ lantiq,pull = <0>;
+ lantiq,output = <1>;
+ };
+ };
+ };
+
+ etop@E180000 {
+ phy-mode = "rmii";
+ };
+
+ ifxhcd@E101000 {
+ status = "okay";
+ gpios = <&gpio 14 0>;
+ };
+
+ pci@E105400 {
+ status = "okay";
+ lantiq,external-clock;
+ gpio-reset = <&gpio 21 0>;
+ req-mask = <0xf>;
+ };
+
+ };
+
+/*
+#define ARV4518PW_SWITCH_RESET 13
+*/
+ gpio-keys-polled {
+ compatible = "gpio-keys-polled";
+ #address-cells = <1>;
+ #size-cells = <0>;
+ poll-interval = <100>;
+
+ rfkill {
+ label = "rfkill";
+ gpios = <&gpio 28 1>;
+ linux,code = <0xf7>;
+ };
+ reset {
+ label = "reset";
+ gpios = <&gpio 30 1>;
+ linux,code = <0x198>;
+ };
+ };
+
+ gpio-leds {
+ compatible = "gpio-leds";
+ power {
+ label = "power";
+ gpios = <&gpio 3 0>;
+ };
+ dsl {
+ label = "dsl";
+ gpios = <&gpio 4 1>;
+ };
+ online {
+ label = "online";
+ gpios = <&gpio 5 1>;
+ };
+ wifi {
+ label = "wifi";
+ gpios = <&gpio 6 1>;
+ };
+ wps {
+ label = "wps";
+ gpios = <&gpio 7 1>;
+ };
+ dsl2 {
+ label = "dsl2";
+ gpios = <&gpio 8 1>;
+ };
+ usb {
+ label = "usb";
+ gpios = <&gpio 19 1>;
+ };
+ voice {
+ label = "voice";
+ gpios = <&gpiomm 0 1>;
+ };
+ fxs1 {
+ label = "fxs1";
+ gpios = <&gpiomm 1 1>;
+ };
+ fxs2 {
+ label = "fxs2";
+ gpios = <&gpiomm 2 1>;
+ };
+ fxo {
+ label = "fxo";
+ gpios = <&gpiomm 3 1>;
+ };
+ };
+};
diff --git a/target/linux/lantiq/dts/ARV4520PW.dts b/target/linux/lantiq/dts/ARV4520PW.dts
new file mode 100644
index 0000000000..459c238996
--- /dev/null
+++ b/target/linux/lantiq/dts/ARV4520PW.dts
@@ -0,0 +1,200 @@
+/dts-v1/;
+
+/include/ "danube.dtsi"
+
+/ {
+ model = "ARV4520PW - Easybox 800, WAV-281";
+
+ chosen {
+ bootargs = "console=ttyLTQ0,115200 init=/etc/preinit";
+ };
+
+ memory@0 {
+ reg = <0x0 0x2000000>;
+ };
+
+ sram@1F000000 {
+ vmmc@107000 {
+ status = "okay";
+ gpios = <&gpio 31 0
+ &gpiomm 7 0>;
+ };
+ };
+
+ fpi@10000000 {
+ localbus@0 {
+ nor-boot@0 {
+ compatible = "lantiq,nor";
+ bank-width = <2>;
+ reg = <0 0x0 0x800000>;
+ #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 = "linux";
+ reg = <0x30000 0x3c0000>;
+ };
+
+ partition@7f0000 {
+ label = "boardconfig";
+ reg = <0x3f0000 0x10000>;
+ read-only;
+ };
+ };
+
+ mac_addr {
+ compatible = "lantiq,eth-mac";
+ reg = <0 0x3f0016 0x6>;
+ mac-increment = <2>;
+ };
+
+ gpiomm: gpiomm@4000000 {
+ compatible = "lantiq,gpio-mm";
+ reg = <1 0x0 0x10 >;
+ #address-cells = <1>;
+ #size-cells = <1>;
+ #gpio-cells = <2>;
+ gpio-controller;
+ lantiq,shadow = <0x400>;
+ };
+ };
+
+ gpio: pinmux@E100B10 {
+ pinctrl-names = "default";
+ pinctrl-0 = <&state_default>;
+
+ state_default: pinmux {
+ ebu {
+ lantiq,groups = "ebu cs1";
+ lantiq,function = "ebu";
+ };
+ pci_in {
+ lantiq,groups = "req1";
+ lantiq,function = "pci";
+ lantiq,open-drain = <1>;
+ lantiq,pull = <2>;
+ lantiq,output = <0>;
+ };
+ pci_out {
+ lantiq,groups = "gnt1";
+ lantiq,function = "pci";
+ lantiq,output = <1>;
+ };
+ pci_rst {
+ lantiq,pins = "io21";
+ lantiq,open-drain = <0>;
+ lantiq,pull = <0>;
+ };
+ };
+ };
+
+ etop@E180000 {
+ phy-mode = "rmii";
+ };
+
+ ifxhcd@E101000 {
+ status = "okay";
+ gpios = <&gpio 28 0>;
+ };
+
+ pci@E105400 {
+ status = "okay";
+ lantiq,external-clock;
+ gpio-reset = <&gpio 21 0>;
+ };
+
+ };
+
+// gpiomm 10 - switch
+
+ gpio-keys-polled {
+ compatible = "gpio-keys-polled";
+ #address-cells = <1>;
+ #size-cells = <0>;
+ poll-interval = <100>;
+
+ rfkill {
+ label = "wps";
+ gpios = <&gpio 29 1>;
+ linux,code = <0x211>;
+ };
+ reset {
+ label = "reset";
+ gpios = <&gpio 30 1>;
+ linux,code = <0x198>;
+ };
+ };
+
+ gpio-leds {
+ compatible = "gpio-leds";
+
+ power {
+ label = "power";
+ gpios = <&gpio 3 1>;
+ };
+ adsl {
+ label = "adsl";
+ gpios = <&gpio 4 1>;
+ };
+ internet {
+ label = "internet";
+ gpios = <&gpio 5 1>;
+ };
+ power2 {
+ label = "power2";
+ gpios = <&gpio 6 1>;
+ };
+ wps {
+ label = "wps";
+ gpios = <&gpio 7 1>;
+ };
+ wps2 {
+ label = "wps2";
+ gpios = <&gpio 9 1>;
+ };
+ fxs1 {
+ label = "fxs1";
+ gpios = <&gpiomm 0 1>;
+ };
+ fxs2 {
+ label = "fxs2";
+ gpios = <&gpiomm 1 1>;
+ };
+ isdn {
+ label = "isdn";
+ gpios = <&gpiomm 2 1>;
+ };
+ fxo {
+ label = "fxo";
+ gpios = <&gpiomm 3 1>;
+ };
+ voice {
+ label = "voice";
+ gpios = <&gpiomm 4 1>;
+ };
+ usb {
+ label = "usb";
+ gpios = <&gpiomm 5 1>;
+ };
+ wifi {
+ label = "wifi";
+ gpios = <&gpiomm 6 1>;
+ };
+ internet2 {
+ label = "internet2";
+ gpios = <&gpiomm 9 1>;
+ };
+ };
+};
diff --git a/target/linux/lantiq/dts/ARV4525PW.dts b/target/linux/lantiq/dts/ARV4525PW.dts
new file mode 100644
index 0000000000..e2d386088f
--- /dev/null
+++ b/target/linux/lantiq/dts/ARV4525PW.dts
@@ -0,0 +1,153 @@
+/dts-v1/;
+
+/include/ "danube.dtsi"
+
+/ {
+ model = "ARV4525PW - Speedport W501V Typ A";
+
+ memory@0 {
+ reg = <0x0 0x2000000>;
+ };
+
+ sram@1F000000 {
+ vmmc@107000 {
+ status = "okay";
+ gpios = <&gpio 31 0>;
+ };
+ };
+
+ fpi@10000000 {
+ localbus@0 {
+ nor-boot@0 {
+ compatible = "lantiq,nor";
+ bank-width = <2>;
+ reg = <0 0x0 0x2000000>;
+ #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 = "linux";
+ reg = <0x20000 0x3d0000>;
+ };
+
+ partition@400000 {
+ label = "boardconfig";
+ reg = <0x3f0000 0x10000>;
+ read-only;
+ };
+ };
+
+ mac_addr {
+ compatible = "lantiq,eth-mac";
+ reg = <0 0x3f0016 0x6>;
+ mac-increment = <2>;
+ };
+
+ ath5k_eep {
+ compatible = "ath5k,eeprom";
+ reg = <0 0x3f0400 0x800>;
+ ath,mac-offset = <0>;
+ ath,eep-swap;
+ };
+ };
+
+ gpio: pinmux@E100B10 {
+ pinctrl-names = "default";
+ pinctrl-0 = <&state_default>;
+
+ state_default: pinmux {
+ pci_in {
+ lantiq,groups = "req1";
+ lantiq,function = "pci";
+ lantiq,open-drain = <1>;
+ lantiq,pull = <2>;
+ lantiq,output = <0>;
+ };
+ pci_out {
+ lantiq,groups = "gnt1";
+ lantiq,function = "pci";
+ lantiq,output = <1>;
+ };
+ pci_rst {
+ lantiq,pins = "io21";
+ lantiq,pull = <2>;
+ lantiq,output = <1>;
+ };
+ relay {
+ lantiq,pins = "io31";
+ lantiq,output = <1>;
+ };
+ };
+ };
+
+ etop@E180000 {
+ phy-mode = "mii";
+ };
+
+ pci@E105400 {
+ status = "okay";
+ gpio-reset = <&gpio 21 0>;
+ };
+
+ };
+
+/*
+#define ARV4525PW_PHYRESET 13
+#define ARV4525PW_RELAY 31
+*/
+
+ gpio-keys-polled {
+ compatible = "gpio-keys-polled";
+ #address-cells = <1>;
+ #size-cells = <0>;
+ poll-interval = <100>;
+
+ wps {
+ label = "wps";
+ gpios = <&gpio 29 1>;
+ linux,code = <0x211>;
+ };
+ reset {
+ label = "reset";
+ gpios = <&gpio 30 1>;
+ linux,code = <0x198>;
+ };
+ };
+
+ gpio-leds {
+ compatible = "gpio-leds";
+ fxo {
+ label = "fxo";
+ gpios = <&gpio 4 1>;
+ };
+ fxs {
+ label = "fxs";
+ gpios = <&gpio 5 1>;
+ };
+ dsl {
+ label = "dsl";
+ gpios = <&gpio 6 1>;
+ };
+ wifi {
+ label = "wifi";
+ gpios = <&gpio 8 1>;
+ };
+ online {
+ /*label = "online"; - we dont have a power led, lets use this one */
+ label = "power";
+ gpios = <&gpio 9 1>;
+ };
+ };
+};
diff --git a/target/linux/lantiq/dts/ARV452CQW.dts b/target/linux/lantiq/dts/ARV452CQW.dts
new file mode 100644
index 0000000000..bfcf51e25c
--- /dev/null
+++ b/target/linux/lantiq/dts/ARV452CQW.dts
@@ -0,0 +1,219 @@
+/dts-v1/;
+
+/include/ "danube.dtsi"
+
+/ {
+ model = "ARV452CQW - Arcor 801";
+
+ chosen {
+ bootargs = "console=ttyLTQ0,115200 init=/etc/preinit";
+ };
+
+ memory@0 {
+ reg = <0x0 0x2000000>;
+ };
+
+ sram@1F000000 {
+ vmmc@107000 {
+ status = "okay";
+ gpios = <&gpio 31 0
+ &gpiomm 7 0>;
+ };
+ };
+
+ fpi@10000000 {
+ localbus@0 {
+ nor-boot@0 {
+ compatible = "lantiq,nor";
+ bank-width = <2>;
+ reg = <0 0x0 0x400000>;
+ #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 = "linux";
+ reg = <0x20000 0x3d0000>;
+ };
+
+ partition@3f0000 {
+ label = "boardconfig";
+ reg = <0x3f0000 0x10000>;
+ read-only;
+ };
+ };
+
+ mac_addr {
+ compatible = "lantiq,eth-mac";
+ reg = <0 0x3f0016 0x6>;
+ mac-increment = <2>;
+ };
+
+ ath5k_eep {
+ compatible = "ath5k,eeprom";
+ reg = <0 0x3f0400 0x800>;
+ ath,mac-offset = <0>;
+ ath,eep-swap;
+ };
+ gpiomm: gpiomm@4000000 {
+ compatible = "lantiq,gpio-mm";
+ reg = <1 0x0 0x10>;
+ #address-cells = <1>;
+ #size-cells = <1>;
+ #gpio-cells = <2>;
+ gpio-controller;
+ lantiq,shadow = <0x77f>;
+ };
+ };
+
+ gpio: pinmux@E100B10 {
+ pinctrl-names = "default";
+ pinctrl-0 = <&state_default>;
+
+ state_default: pinmux {
+ ebu {
+ lantiq,groups = "ebu cs1";
+ lantiq,function = "ebu";
+ };
+ pci_in {
+ lantiq,groups = "req1";
+ lantiq,function = "pci";
+ lantiq,open-drain = <1>;
+ lantiq,pull = <2>;
+ lantiq,output = <0>;
+ };
+ pci_out {
+ lantiq,groups = "gnt1";
+ lantiq,function = "pci";
+ lantiq,output = <1>;
+ };
+ pci_rst {
+ lantiq,pins = "io21";
+ lantiq,pull = <0>;
+ lantiq,output = <1>;
+ };
+ leds {
+ lantiq,pins = "io3", "io5", "io6", "io7", "io9";
+ lantiq,output = <1>;
+ };
+ };
+ };
+
+ ifxhcd@E101000 {
+ status = "okay";
+ gpios = <&gpio 28 0>;
+ };
+
+ etop@E180000 {
+ phy-mode = "rmii";
+ };
+
+ pci@E105400 {
+ status = "okay";
+ lantiq,external-clock;
+ gpio-reset = <&gpio 21 0>;
+ };
+
+ };
+
+/*
+#define ARV452CPW_SWITCH_RESET 110
+*/
+ gpio-keys-polled {
+ compatible = "gpio-keys-polled1";
+ #address-cells = <1>;
+ #size-cells = <0>;
+ poll-interval = <100>;
+
+ wps {
+ label = "wps";
+ gpios = <&gpio 11 1>;
+ linux,code = <0x101>;
+ };
+ restart {
+ label = "restart";
+ gpios = <&gpio 12 1>;
+ linux,code = <0x110>;
+ };
+ reset {
+ label = "reset";
+ gpios = <&gpio 28 1>;
+ linux,code = <0x198>;
+ };
+ };
+
+ gpio-leds {
+ compatible = "gpio-leds";
+ power0 {
+ label = "power0";
+ gpios = <&gpio 3 1>;
+ };
+ dsl {
+ label = "dsl";
+ gpios = <&gpio 4 1>;
+ };
+ isdn {
+ label = "isdn";
+ gpios = <&gpio 5 1>;
+ };
+ power1 {
+ label = "power1";
+ gpios = <&gpio 6 1>;
+ };
+ wps {
+ label = "wps";
+ gpios = <&gpio 7 1>;
+ };
+ wps1 {
+ label = "wps1";
+ gpios = <&gpio 9 1>;
+ };
+ fxs1 {
+ label = "fxs1";
+ gpios = <&gpiomm 0 1>;
+ };
+ fxs2 {
+ label = "fxs2";
+ gpios = <&gpiomm 1 1>;
+ };
+ wps2 {
+ label = "wps2";
+ gpios = <&gpiomm 2 1>;
+ };
+ fxo {
+ label = "fxo";
+ gpios = <&gpiomm 3 1>;
+ };
+ voice {
+ label = "voice";
+ gpios = <&gpiomm 4 1>;
+ };
+ usb {
+ label = "usb";
+ gpios = <&gpiomm 5 1>;
+ };
+ wifi {
+ label = "wifi";
+ gpios = <&gpiomm 6 1>;
+ };
+ dsl2 {
+ label = "dsl2";
+ gpios = <&gpiomm 8 1>;
+ };
+ dsl3 {
+ label = "dsl3";
+ gpios = <&gpiomm 9 1>;
+ };
+ };
+};
diff --git a/target/linux/lantiq/dts/ARV7518PW.dts b/target/linux/lantiq/dts/ARV7518PW.dts
new file mode 100644
index 0000000000..1439c67b20
--- /dev/null
+++ b/target/linux/lantiq/dts/ARV7518PW.dts
@@ -0,0 +1,209 @@
+/dts-v1/;
+
+/include/ "danube.dtsi"
+
+/ {
+ model = "ARV7518PW - Astoria Networks";
+
+ chosen {
+ bootargs = "console=ttyLTQ0,115200 init=/etc/preinit";
+ };
+
+ memory@0 {
+ reg = <0x0 0x4000000>;
+ };
+
+ sram@1F000000 {
+ vmmc@107000 {
+ status = "okay";
+ };
+ };
+
+ fpi@10000000 {
+ localbus@0 {
+ nor-boot@0 {
+ compatible = "lantiq,nor";
+ bank-width = <2>;
+ reg = <0 0x0 0x2000000>;
+ #address-cells = <1>;
+ #size-cells = <1>;
+
+ partition@0 {
+ label = "uboot";
+ reg = <0x00000 0x10000>;
+ read-only;
+ };
+
+ partition@10000 {
+ label = "uboot_env";
+ reg = <0x10000 0x10000>;
+ };
+
+ partition@20000 {
+ label = "linux";
+ reg = <0x20000 0x7d0000>;
+ };
+
+ partition@400000 {
+ label = "boardconfig";
+ reg = <0x7f0000 0x10000>;
+ read-only;
+ };
+ };
+
+ gpiomm: gpiomm@4000000 {
+ compatible = "lantiq,gpio-mm";
+ reg = <1 0x0 0x10 >;
+ #address-cells = <1>;
+ #size-cells = <1>;
+ #gpio-cells = <2>;
+ gpio-controller;
+ lantiq,shadow = <0x0>;
+ };
+
+ mac_addr {
+ compatible = "lantiq,eth-mac";
+ reg = <0 0x7f0016 0x6>;
+ mac-increment = <2>;
+ };
+
+ ath9k_eep {
+ compatible = "ath9k,eeprom";
+ reg = <0 0x7f0400 0x800
+ 0 0x7f0016 0x6>;
+ ath,mac-increment = <1>;
+ ath,pci-slot = <14>;
+ ath,eep-swap;
+ ath,eep-csum;
+ };
+ };
+
+ gpio: pinmux@E100B10 {
+ pinctrl-names = "default";
+ pinctrl-0 = <&state_default>;
+
+ state_default: pinmux {
+ ebu {
+ lantiq,groups = "ebu cs1";
+ lantiq,function = "ebu";
+ };
+ pci_in {
+ lantiq,groups = "req1", "req2";
+ lantiq,function = "pci";
+ lantiq,open-drain = <1>;
+ lantiq,pull = <2>;
+ lantiq,output = <0>;
+ };
+ pci_out {
+ lantiq,groups = "gnt1", "gnt2";
+ lantiq,function = "pci";
+ lantiq,pull = <0>;
+ lantiq,output = <1>;
+ };
+ pci_rst {
+ lantiq,pins = "io21";
+ lantiq,pull = <2>;
+ lantiq,output = <1>;
+ };
+ };
+ };
+
+ etop@E180000 {
+ phy-mode = "rmii";
+ };
+
+ ifxhcd@E101000 {
+ status = "okay";
+ gpios = <&gpio 14 0>;
+ };
+
+ pci@E105400 {
+ status = "okay";
+ lantiq,external-clock;
+ gpio-reset = <&gpio 21 0>;
+ req-mask = <0xf>;
+ };
+
+ };
+
+/*
+#define SWITCH_RESET 13
+*/
+ gpio-keys-polled {
+ compatible = "gpio-keys-polled";
+ #address-cells = <1>;
+ #size-cells = <0>;
+ poll-interval = <100>;
+
+ rfkill {
+ label = "rfkill";
+ gpios = <&gpio 25 1>;
+ linux,code = <0xf7>;
+ };
+/* reset {
+ label = "reset";
+ gpios = <&gpio 30 1>;
+ linux,code = <0x198>;
+ };*/
+ };
+
+ gpio-leds {
+ compatible = "gpio-leds";
+ power {
+ label = "power";
+ gpios = <&gpio 2 0>;
+ };
+ dsl {
+ label = "dsl";
+ gpios = <&gpio 4 1>;
+ };
+ online {
+ label = "online";
+ gpios = <&gpio 5 1>;
+ };
+ wifi {
+ label = "wifi";
+ gpios = <&gpio 6 1>;
+ };
+ power2 {
+ label = "power2";
+ gpios = <&gpio 7 1>;
+ };
+ online2 {
+ label = "online2";
+ gpios = <&gpio 8 1>;
+ };
+ usb {
+ label = "usb";
+ gpios = <&gpio 19 1>;
+ };
+ voice {
+ label = "voice";
+ gpios = <&gpiomm 0 1>;
+ };
+ fxs1 {
+ label = "fxs1";
+ gpios = <&gpiomm 1 1>;
+ };
+ fxs2 {
+ label = "fxs2";
+ gpios = <&gpiomm 2 1>;
+ };
+ fxo {
+ label = "fxo";
+ gpios = <&gpiomm 3 1>;
+ };
+ wps {
+ label = "wps";
+ gpios = <&gpiomm 4 1>;
+ };
+ wps2 {
+ label = "wps2";
+ gpios = <&gpiomm 5 1>;
+ };
+ wps3 {
+ label = "wps3";
+ gpios = <&gpiomm 6 1>;
+ };
+ };
+};
diff --git a/target/linux/lantiq/dts/ARV7525PW.dts b/target/linux/lantiq/dts/ARV7525PW.dts
new file mode 100644
index 0000000000..00f73562e5
--- /dev/null
+++ b/target/linux/lantiq/dts/ARV7525PW.dts
@@ -0,0 +1,142 @@
+/dts-v1/;
+
+/include/ "danube.dtsi"
+
+/ {
+ model = "ARV7525PW - Speedport W303V Typ A";
+
+ chosen {
+ bootargs = "console=ttyLTQ0,115200 init=/etc/preinit";
+ };
+
+ memory@0 {
+ reg = <0x0 0x2000000>;
+ };
+
+ sram@1F000000 {
+ vmmc@107000 {
+ status = "okay";
+ gpios = <&gpio 31 0>;
+ };
+ };
+
+ fpi@10000000 {
+ localbus@0 {
+ nor-boot@0 {
+ compatible = "lantiq,nor";
+ bank-width = <2>;
+ reg = <0 0x0 0x2000000>;
+ #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 = "linux";
+ reg = <0x20000 0x3d0000>;
+ };
+
+ partition@400000 {
+ label = "board_config";
+ reg = <0x3f0000 0x10000>;
+ read-only;
+ };
+ };
+
+ mac_addr {
+ compatible = "lantiq,eth-mac";
+ reg = <0 0x3f0016 0x6>;
+ mac-increment = <2>;
+ };
+
+ ralink_eep {
+ compatible = "ralink,eeprom";
+ ralink,eeprom = "RT2860.eeprom";
+ reg = <0 0x3f0410 0x110>;
+ };
+ };
+
+ gpio: pinmux@E100B10 {
+ pinctrl-names = "default";
+ pinctrl-0 = <&state_default>;
+
+ state_default: pinmux {
+ exin {
+ lantiq,groups = "exin1";
+ lantiq,function = "exin";
+ };
+ pci {
+ lantiq,groups = "gnt1", "req1";
+ lantiq,function = "pci";
+ };
+ };
+ };
+
+ etop@E180000 {
+ phy-mode = "mii";
+ };
+
+ pci@E105400 {
+ status = "okay";
+ interrupt-map = <0x7000 0 0 1 &icu0 135 1>;
+ req-mask = <0x1>;
+ };
+
+ };
+
+ gpio-keys-polled {
+ compatible = "gpio-keys-polled";
+ #address-cells = <1>;
+ #size-cells = <0>;
+ poll-interval = <100>;
+
+ wps {
+ label = "wps";
+ gpios = <&gpio 29 1>;
+ linux,code = <0x211>;
+ };
+ reset {
+ label = "reset";
+ gpios = <&gpio 30 1>;
+ linux,code = <0x198>;
+ };
+ };
+
+ gpio-leds {
+ compatible = "gpio-leds";
+ power {
+ label = "power";
+ gpios = <&gpio 3 1>;
+ };
+ power1 {
+ label = "power1";
+ gpios = <&gpio 4 1>;
+ };
+ online {
+ label = "online";
+ gpios = <&gpio 5 1>;
+ };
+ voice {
+ label = "voice";
+ gpios = <&gpio 6 1>;
+ };
+ voice2 {
+ label = "voice2";
+ gpios = <&gpio 8 1>;
+ };
+ wifi {
+ label = "wifi";
+ gpios = <&gpio 9 1>;
+ };
+ };
+};
diff --git a/target/linux/lantiq/dts/ARV752DPW.dts b/target/linux/lantiq/dts/ARV752DPW.dts
new file mode 100644
index 0000000000..7254f5ce73
--- /dev/null
+++ b/target/linux/lantiq/dts/ARV752DPW.dts
@@ -0,0 +1,219 @@
+/dts-v1/;
+
+/include/ "danube.dtsi"
+
+/ {
+ model = "ARV752DPW - Arcor 802";
+
+ chosen {
+ bootargs = "console=ttyLTQ0,115200 init=/etc/preinit";
+ };
+
+ memory@0 {
+ reg = <0x0 0x4000000>;
+ };
+
+ sram@1F000000 {
+ vmmc@107000 {
+ status = "okay";
+ gpios = <&gpiomm 1 0>;
+ };
+ };
+
+ fpi@10000000 {
+ localbus@0 {
+ nor-boot@0 {
+ compatible = "lantiq,nor";
+ bank-width = <2>;
+ reg = <0 0x0 0x800000>;
+ #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 = "linux";
+ reg = <0x20000 0x7d0000>;
+ };
+
+ partition@7f0000 {
+ label = "board_config";
+ reg = <0x7f0000 0x10000>;
+ read-only;
+ };
+ };
+
+ mac_addr {
+ compatible = "lantiq,eth-mac";
+ reg = <0 0x7f0016 0x6>;
+ mac-increment = <2>;
+ };
+
+ gpiomm: gpiomm@4000000 {
+ compatible = "lantiq,gpio-mm";
+ reg = <1 0x0 0x10 >;
+ #address-cells = <1>;
+ #size-cells = <1>;
+ #gpio-cells = <2>;
+ gpio-controller;
+ lantiq,shadow = <0x3>;
+ };
+ };
+
+ gpio: pinmux@E100B10 {
+ pinctrl-names = "default";
+ pinctrl-0 = <&state_default>;
+
+ state_default: pinmux {
+ ebu {
+ lantiq,groups = "ebu cs1";
+ lantiq,function = "ebu";
+ };
+ exin {
+ lantiq,groups = "exin1";
+ lantiq,function = "exin";
+ lantiq,pull = <2>;
+ lantiq,output = <0>;
+ };
+ pci_in {
+ lantiq,groups = "req2", "req1";
+ lantiq,function = "pci";
+ lantiq,open-drain = <1>;
+ lantiq,pull = <2>;
+ lantiq,output = <0>;
+ };
+ pci_out {
+ lantiq,groups = "gnt1";
+ lantiq,function = "pci";
+ lantiq,output = <1>;
+ };
+ pci_rst {
+ lantiq,pins = "io21";
+ lantiq,pull = <2>;
+ lantiq,output = <1>;
+ };
+ leds {
+ lantiq,pins = "io3", "io5", "io6", "io8";
+ lantiq,output = <1>;
+ lantiq,pull = <0>;
+ };
+ keys {
+ lantiq,pins = "io11", "io12", "io13", "io28";
+ lantiq,output = <0>;
+ lantiq,pull = <2>;
+ lantiq,open-drain = <1>;
+ };
+ };
+ };
+
+ ifxhcd@E101000 {
+ status = "okay";
+ gpios = <&gpiomm 0 0>;
+ };
+
+ etop@E180000 {
+ phy-mode = "rmii";
+ };
+
+ pci@E105400 {
+ status = "okay";
+ lantiq,external-clock;
+ gpio-reset = <&gpio 21 0>;
+ interrupt-map = <0x7000 0 0 1 &icu0 135>;
+ req-mask = <0x3>;
+ };
+
+ };
+
+ ralink_eep {
+ compatible = "ralink,eeprom";
+ ralink,eeprom = "RT2860.eeprom";
+ };
+
+ gpio-keys-polled {
+ compatible = "gpio-keys-polled";
+ #address-cells = <1>;
+ #size-cells = <0>;
+ poll-interval = <100>;
+
+ /* wps {
+ label = "wps";
+ gpios = <&gpio 11 1>;
+ linux,code = <0x211>;
+ };*/
+ restart {
+ label = "restart";
+ gpios = <&gpio 12 0>;
+ linux,code = <0x110>;
+ };
+ dsl {
+ label = "dsl";
+ gpios = <&gpio 13 0>;
+ linux,code = <0x111>;
+ };
+ reset {
+ label = "reset";
+ gpios = <&gpio 28 0>;
+ linux,code = <0x198>;
+ };
+ };
+
+ gpio-leds {
+ compatible = "gpio-leds";
+ power {
+ label = "power";
+ gpios = <&gpio 3 1>;
+ };
+ message {
+ label = "message";
+ gpios = <&gpio 5 1>;
+ };
+ power1 {
+ label = "power1";
+ gpios = <&gpio 6 1>;
+ };
+ voice1 {
+ label = "voice1";
+ gpios = <&gpio 8 1>;
+ };
+ microphone {
+ /* use this led as te usb led */
+ label = "usb";
+ gpios = <&gpiomm 3 1>;
+ };
+ wifi {
+ label = "wifi";
+ gpios = <&gpiomm 4 1>;
+ };
+ fxs1 {
+ label = "fxs1";
+ gpios = <&gpiomm 5 1>;
+ };
+ fx2 {
+ label = "fxs2";
+ gpios = <&gpiomm 6 1>;
+ };
+ fxo {
+ label = "fxo";
+ gpios = <&gpiomm 7 1>;
+ };
+ internet {
+ label = "internet";
+ gpios = <&gpiomm 8 1>;
+ };
+ voice2 {
+ label = "voice2";
+ gpios = <&gpiomm 9 1>;
+ };
+ };
+};
diff --git a/target/linux/lantiq/dts/ARV752DPW22.dts b/target/linux/lantiq/dts/ARV752DPW22.dts
new file mode 100644
index 0000000000..1300a5d892
--- /dev/null
+++ b/target/linux/lantiq/dts/ARV752DPW22.dts
@@ -0,0 +1,242 @@
+/dts-v1/;
+
+/include/ "danube.dtsi"
+
+/ {
+ model = "ARV752DPW22 - Arcor 803";
+
+ chosen {
+ bootargs = "console=ttyLTQ0,115200 init=/etc/preinit";
+ };
+
+ memory@0 {
+ reg = <0x0 0x4000000>;
+ };
+
+ sram@1F000000 {
+ vmmc@107000 {
+ status = "okay";
+ gpios = <&gpiomm 1 0>;
+ };
+ };
+
+ fpi@10000000 {
+ localbus@0 {
+ nor-boot@0 {
+ compatible = "lantiq,nor";
+ bank-width = <2>;
+ reg = <0 0x0 0x800000>;
+ #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 = "linux";
+ reg = <0x20000 0x7d0000>;
+ };
+
+ partition@7f0000 {
+ label = "board_config";
+ reg = <0x7f0000 0x10000>;
+ read-only;
+ };
+ };
+
+ mac_addr {
+ compatible = "lantiq,eth-mac";
+ reg = <0 0x7f0016 0x6>;
+ mac-increment = <2>;
+ };
+
+ gpiomm: gpiomm@4000000 {
+ compatible = "lantiq,gpio-mm";
+ reg = <1 0x0 0x10 >;
+ #address-cells = <1>;
+ #size-cells = <1>;
+ #gpio-cells = <2>;
+ gpio-controller;
+ lantiq,shadow = <3>;
+ };
+ };
+
+ gpio: pinmux@E100B10 {
+ pinctrl-names = "default";
+ pinctrl-0 = <&state_default>;
+
+ state_default: pinmux {
+ ebu {
+ lantiq,groups = "ebu cs1";
+ lantiq,function = "ebu";
+ };
+ exin {
+ lantiq,groups = "exin1";
+ lantiq,function = "exin";
+ lantiq,pull = <2>;
+ lantiq,output = <0>;
+ };
+ pci_in {
+ lantiq,groups = "req1", "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>;
+ };
+ leds {
+ lantiq,pins = "io3", "io5", "io6", "io8";
+ lantiq,output = <1>;
+ };
+ };
+ };
+
+ ifxhcd@E101000 {
+ status = "okay";
+ gpios = <&gpiomm 0 0>;
+ };
+
+ etop@E180000 {
+ phy-mode = "rmii";
+ };
+
+ pci@E105400 {
+ 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 0>;
+ req-mask = <0x3>;
+ };
+
+ };
+
+ gpio-keys-polled {
+ compatible = "gpio-keys-polled";
+ #address-cells = <1>;
+ #size-cells = <0>;
+ poll-interval = <100>;
+
+ wps {
+ label = "wps";
+ gpios = <&gpio 11 1>;
+ linux,code = <0x211>;
+ };
+ restart {
+ label = "restart";
+ gpios = <&gpio 12 1>;
+ linux,code = <0x110>;
+ };
+ dsl {
+ label = "dsl";
+ gpios = <&gpio 13 1>;
+ linux,code = <0x111>;
+ };
+ reset {
+ label = "reset";
+ gpios = <&gpio 28 1>;
+ linux,code = <0x198>;
+ };
+ };
+
+ gpio-leds {
+ compatible = "gpio-leds";
+ power {
+ label = "power";
+ gpios = <&gpio 3 1>;
+ default-state = "on";
+ };
+ message {
+ label = "message";
+ gpios = <&gpio 5 1>;
+ default-state = "on";
+ };
+ power1 {
+ label = "power1";
+ gpios = <&gpio 6 1>;
+ default-state = "on";
+ };
+ voice1 {
+ label = "voice1";
+ gpios = <&gpio 8 1>;
+ default-state = "on";
+ };
+ microphone {
+ label = "microphone";
+ gpios = <&gpiomm 3 1>;
+ default-state = "on";
+ };
+ wifi {
+ label = "wifi_rt";
+ gpios = <&gpiomm 4 1>;
+ default-state = "on";
+ };
+ fxs1 {
+ label = "fxs1";
+ gpios = <&gpiomm 5 1>;
+ default-state = "on";
+ };
+ fxs2 {
+ label = "fxs2";
+ gpios = <&gpiomm 6 1>;
+ default-state = "on";
+ };
+ fxo {
+ label = "fxo";
+ gpios = <&gpiomm 7 1>;
+ default-state = "on";
+ };
+ dsl {
+ label = "dsl";
+ gpios = <&gpiomm 8 1>;
+ default-state = "on";
+ };
+ voice2 {
+ label = "voice2";
+ gpios = <&gpiomm 9 1>;
+ default-state = "on";
+ };
+ eth1 {
+ label = "eth1";
+ gpios = <&gpiomm 11 1>;
+ default-state = "on";
+ };
+ eth2 {
+ label = "eth2";
+ gpios = <&gpiomm 12 1>;
+ default-state = "on";
+ };
+ eth3 {
+ label = "eth3";
+ gpios = <&gpiomm 13 1>;
+ default-state = "on";
+ };
+ eth4 {
+ label = "eth4";
+ gpios = <&gpiomm 14 1>;
+ default-state = "on";
+ };
+ };
+};
diff --git a/target/linux/lantiq/dts/DGN1000B.dts b/target/linux/lantiq/dts/DGN1000B.dts
new file mode 100644
index 0000000000..782ba6e38c
--- /dev/null
+++ b/target/linux/lantiq/dts/DGN1000B.dts
@@ -0,0 +1,138 @@
+/dts-v1/;
+
+/include/ "amazonse.dtsi"
+
+/ {
+ model = "DGN1000B - Netgear DGN1000B";
+
+ chosen {
+ bootargs = "console=ttyLTQ0,115200 init=/etc/preinit";
+ };
+
+ memory@0 {
+ reg = <0x0 0x1000000>;
+ };
+
+ fpi@10000000 {
+ gpio: pinmux@E100B10 {
+ pinctrl-names = "default";
+ pinctrl-0 = <&state_default>;
+
+ state_default: pinmux {
+ spi {
+ lantiq,groups = "spi", "spi_cs1";
+ lantiq,function = "spi";
+ };
+ asc {
+ lantiq,groups = "asc";
+ lantiq,function = "asc";
+ };
+ keys_in {
+ lantiq,pins = "io0",/* "io25", */"io29";
+ lantiq,pull = <2>;
+ lantiq,open-drain = <1>;
+ };
+ };
+ };
+
+ etop@E180000 {
+ phy-mode = "mii";
+ mac-address = [ 00 11 22 33 44 55 ];
+ };
+
+ spi@E100800 {
+ m25p80@0 {
+ #address-cells = <1>;
+ #size-cells = <1>;
+ compatible = "mx25l3205d";
+ reg = <0 0>;
+ linux,modalias = "m25p80", "mx25l64";
+ spi-max-frequency = <5000000>;
+
+ partition@0 {
+ reg = <0x0 0x20000>;
+ label = "SPI (RO) U-Boot Image";
+ read-only;
+ };
+
+ partition@20000 {
+ reg = <0x20000 0x10000>;
+ label = "ENV_MAC";
+ read-only;
+ };
+
+ partition@30000 {
+ reg = <0x30000 0x10000>;
+ label = "DPF";
+ read-only;
+ };
+
+ partition@40000 {
+ reg = <0x40000 0x10000>;
+ label = "NVRAM";
+ read-only;
+ };
+
+ partition@500000 {
+ reg = <0x50000 0x003a0000>;
+ label = "kernel";
+ };
+ };
+ };
+ ifxhcd@E101000 {
+ status = "okay";
+ };
+ };
+
+ gpio-keys-polled {
+ compatible = "gpio-keys-polled";
+ #address-cells = <1>;
+ #size-cells = <0>;
+ poll-interval = <100>;
+
+ reset {
+ label = "reset";
+ gpios = <&gpio 0 1>;
+ linux,code = <0x198>;
+ };
+ rfkill {
+ label = "rfkill";
+ gpios = <&gpio 25 1>;
+ linux,code = <0xf7>;
+ };
+ wps {
+ label = "wps";
+ gpios = <&gpio 29 1>;
+ linux,code = <0x211>;
+ };
+ };
+
+ gpio-leds {
+ cmpatible = "gpio-leds";
+ dsl {
+ label = "dsl";
+ gpios = <&gpio 1 1>;
+ default-state = "on";
+ };
+ online {
+ label = "online";
+ gpios = <&gpio 2 1>;
+ default-state = "on";
+ };
+ online2 {
+ label = "online2";
+ gpios = <&gpio 3 1>;
+ default-state = "on";
+ };
+ wps {
+ label = "wps";
+ gpios = <&gpio 4 1>;
+ default-state = "on";
+ };
+ power {
+ label = "power";
+ gpios = <&gpio 13 1>;
+ default-state = "on";
+ };
+ };
+};
diff --git a/target/linux/lantiq/dts/DGN3500.dts b/target/linux/lantiq/dts/DGN3500.dts
new file mode 100644
index 0000000000..d256871913
--- /dev/null
+++ b/target/linux/lantiq/dts/DGN3500.dts
@@ -0,0 +1,7 @@
+/dts-v1/;
+
+/include/ "DGN3500.dtsi"
+
+/ {
+ model = "DGN3500 - Netgear DGN3500";
+};
diff --git a/target/linux/lantiq/dts/DGN3500.dtsi b/target/linux/lantiq/dts/DGN3500.dtsi
new file mode 100644
index 0000000000..795e8bce0a
--- /dev/null
+++ b/target/linux/lantiq/dts/DGN3500.dtsi
@@ -0,0 +1,176 @@
+/include/ "ar9.dtsi"
+
+/ {
+ chosen {
+ bootargs = "console=ttyLTQ0,115200 init=/etc/preinit";
+ };
+
+ memory@0 {
+ reg = <0x0 0x4000000>;
+ };
+
+ fpi@10000000 {
+ gpio: pinmux@E100B10 {
+ pinctrl-names = "default";
+ pinctrl-0 = <&state_default>;
+
+ state_default: pinmux {
+ exin {
+ lantiq,groups = "exin1";
+ lantiq,function = "exin";
+ };
+ pci {
+ lantiq,groups = "gnt1", "req1";
+ lantiq,function = "pci";
+ };
+ pci-in {
+ lantiq,groups = "req1";
+ lantiq,output = <0>;
+ lantiq,open-drain = <1>;
+ lantiq,pull = <2>;
+ };
+ pci-out {
+ lantiq,groups = "gnt1";
+ lantiq,output = <1>;
+ lantiq,pull = <0>;
+ };
+ spi-in {
+ lantiq,pins = "io16";
+ lantiq,open-drain = <1>;
+ lantiq,pull = <2>;
+ };
+ spi-out {
+ lantiq,pins = "io10", "io17", "io18", "io21";
+ lantiq,open-drain = <0>;
+ lantiq,pull = <2>;
+ };
+ };
+ };
+
+ etop@E180000 {
+ phy-mode = "mii";
+ mac-address = [ 00 11 22 33 44 55 ];
+ };
+
+ ifxhcd@E101000 {
+ status = "okay";
+ };
+
+ pci@E105400 {
+ status = "okay";
+
+ lantiq,bus-clock = <33333333>;
+ interrupt-map-mask = <0xf800 0x0 0x0 0x7>;
+ interrupt-map = <0x7000 0 0 1 &icu0 30 1>;
+ gpio-reset = <&gpio 21 0>;
+ req-mask = <0x1>; /* GNT1 */
+ };
+ };
+
+ spi {
+ #address-cells = <1>;
+ #size-cells = <1>;
+
+ compatible = "spi-gpio";
+
+ gpio-miso = <&gpio 16 0>;
+ gpio-mosi = <&gpio 17 0>;
+ gpio-sck = <&gpio 18 0>;
+ num-chipselects = <1>;
+ cs-gpios = <&gpio 10 1>;
+
+ m25p80@0 {
+ #address-cells = <1>;
+ #size-cells = <1>;
+ compatible = "s25fl129p0";
+ reg = <0 0>;
+ linux,modalias = "m25p80", "mx25l3205d";
+ spi-max-frequency = <1000000>;
+
+ partition@0 {
+ reg = <0x0 0x10000>;
+ label = "uboot";
+ read-only;
+ };
+
+ partition@10000 {
+ reg = <0x10000 0x10000>;
+ label = "uboot-env";
+ read-only;
+ };
+
+ partition@20000 {
+ reg = <0x20000 0x10000>;
+ label = "calibration";
+ read-only;
+ };
+
+ partition@50000 {
+ reg = <0x50000 0xfa0000>;
+ label = "linux";
+ };
+ };
+ };
+
+ rtl8366rb {
+ compatible = "rtl8366rb";
+ gpio-sda = <&gpio 35 0>;
+ gpio-sck = <&gpio 37 0>;
+ };
+
+ gpio-keys-polled {
+ compatible = "gpio-keys-polled";
+ #address-cells = <1>;
+ #size-cells = <0>;
+ poll-interval = <100>;
+
+ rfkill {
+ label = "rfkill";
+ gpios = <&gpio 36 1>;
+ linux,code = <0xf7>;
+ };
+ wps {
+ label = "wps";
+ gpios = <&gpio 54 1>;
+ linux,code = <0x211>;
+ };
+ reset {
+ label = "reset";
+ gpios = <&gpio 53 1>;
+ linux,code = <0x198>;
+ };
+ };
+
+ gpio-leds {
+ compatible = "gpio-leds";
+ internet {
+ label = "inernet";
+ gpios = <&gpio 2 1>;
+ };
+ dsl {
+ label = "dsl";
+ gpios = <&gpio 4 1>;
+ };
+ usb {
+ label = "usb";
+ gpios = <&gpio 22 1>;
+ };
+ power {
+ label = "power";
+ gpios = <&gpio 34 1>;
+ default-state = "on";
+ };
+ power2 {
+ label = "power2";
+ gpios = <&gpio 39 1>;
+ };
+ wifi {
+ label = "wifi";
+ gpios = <&gpio 51 1>;
+ };
+ wps {
+ label = "wps";
+ gpios = <&gpio 52 1>;
+ };
+ };
+};
diff --git a/target/linux/lantiq/dts/DGN3500B.dts b/target/linux/lantiq/dts/DGN3500B.dts
new file mode 100644
index 0000000000..71a4e58c13
--- /dev/null
+++ b/target/linux/lantiq/dts/DGN3500B.dts
@@ -0,0 +1,7 @@
+/dts-v1/;
+
+/include/ "DGN3500.dtsi"
+
+/ {
+ model = "DGN3500B - Netgear DGN3500B";
+};
diff --git a/target/linux/lantiq/dts/EASY50712.dts b/target/linux/lantiq/dts/EASY50712.dts
new file mode 100644
index 0000000000..68c17310bc
--- /dev/null
+++ b/target/linux/lantiq/dts/EASY50712.dts
@@ -0,0 +1,113 @@
+/dts-v1/;
+
+/include/ "danube.dtsi"
+
+/ {
+ chosen {
+ bootargs = "console=ttyLTQ0,115200 init=/etc/preinit";
+ };
+
+ memory@0 {
+ reg = <0x0 0x2000000>;
+ };
+
+ fpi@10000000 {
+ #address-cells = <1>;
+ #size-cells = <1>;
+ localbus@0 {
+ #address-cells = <2>;
+ #size-cells = <1>;
+ ranges = <0 0 0x0 0x3ffffff /* addrsel0 */
+ 1 0 0x4000000 0x4000010>; /* addsel1 */
+ compatible = "lantiq,localbus", "simple-bus";
+
+ nor-boot@0 {
+ compatible = "lantiq,nor";
+ bank-width = <2>;
+ reg = <0 0x0 0x2000000>;
+ #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 = "linux";
+ reg = <0x20000 0x3d0000>;
+ };
+
+ partition@400000 {
+ label = "rootfs";
+ reg = <0x400000 0x400000>;
+ };
+ };
+ };
+
+ gpio: pinmux@E100B10 {
+ compatible = "lantiq,pinctrl-xway";
+ pinctrl-names = "default";
+ pinctrl-0 = <&state_default>;
+
+ #gpio-cells = <2>;
+ gpio-controller;
+ reg = <0xE100B10 0xA0>;
+
+ state_default: pinmux {
+ stp {
+ lantiq,groups = "stp";
+ lantiq,function = "stp";
+ };
+ exin {
+ lantiq,groups = "exin1";
+ lantiq,function = "exin";
+ };
+ pci {
+ lantiq,groups = "gnt1";
+ lantiq,function = "pci";
+ };
+ conf_out {
+ lantiq,pins = "io4", "io5", "io6"; /* stp */
+ lantiq,open-drain;
+ lantiq,pull = <0>;
+ };
+ };
+ };
+
+ etop@E180000 {
+ compatible = "lantiq,etop-xway";
+ reg = <0xE180000 0x40000>;
+ interrupt-parent = <&icu0>;
+ interrupts = <73 78>;
+ phy-mode = "rmii";
+ mac-address = [ 00 11 22 33 44 55 ];
+ };
+
+ stp0: stp@E100BB0 {
+ #gpio-cells = <2>;
+ compatible = "lantiq,gpio-stp-xway";
+ gpio-controller;
+ reg = <0xE100BB0 0x40>;
+
+ lantiq,shadow = <0xfff>;
+ lantiq,groups = <0x3>;
+ };
+
+ pci@E105400 {
+ lantiq,bus-clock = <33333333>;
+ interrupt-map-mask = <0xf800 0x0 0x0 0x7>;
+ interrupt-map = <
+ 0x7000 0 0 1 &icu0 29 1 // slot 14, irq 29
+ >;
+ gpios-reset = <&gpio 21 0>;
+ req-mask = <0x1>; /* GNT1 */
+ };
+
+ };
+};
diff --git a/target/linux/lantiq/dts/EASY50810.dts b/target/linux/lantiq/dts/EASY50810.dts
new file mode 100644
index 0000000000..9e5fad782b
--- /dev/null
+++ b/target/linux/lantiq/dts/EASY50810.dts
@@ -0,0 +1,114 @@
+/dts-v1/;
+
+/include/ "ar9.dtsi"
+
+/ {
+ chosen {
+ bootargs = "console=ttyLTQ0,115200 init=/etc/preinit";
+ };
+
+ memory@0 {
+ reg = <0x0 0x2000000>;
+ };
+
+ fpi@10000000 {
+ #address-cells = <1>;
+ #size-cells = <1>;
+ localbus@0 {
+ #address-cells = <2>;
+ #size-cells = <1>;
+ ranges = <0 0 0x0 0x3ffffff /* addrsel0 */
+ 1 0 0x4000000 0x4000010>; /* addsel1 */
+ compatible = "lantiq,localbus", "simple-bus";
+
+ nor-boot@0 {
+ compatible = "lantiq,nor";
+ bank-width = <2>;
+ reg = <0 0x0 0x2000000>;
+ #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 = "linux";
+ reg = <0x20000 0x3d0000>;
+ };
+
+ partition@400000 {
+ label = "rootfs";
+ reg = <0x400000 0x400000>;
+ };
+ };
+ };
+
+ gpio: pinmux@E100B10 {
+ compatible = "lantiq,pinctrl-xr9";
+ pinctrl-names = "default";
+ pinctrl-0 = <&state_default>;
+
+ #gpio-cells = <2>;
+ gpio-controller;
+ reg = <0xE100B10 0xA0>;
+
+ state_default: pinmux {
+ stp {
+ lantiq,groups = "stp";
+ lantiq,function = "stp";
+ };
+ exin {
+ lantiq,groups = "exin1";
+ lantiq,function = "exin";
+ };
+ pci {
+ lantiq,groups = "gnt1";
+ lantiq,function = "pci";
+ };
+ conf_out {
+ lantiq,pins = "io4", "io5", "io6"; /* stp */
+ lantiq,open-drain;
+ lantiq,pull = <0>;
+ };
+ };
+ };
+
+ etop@E180000 {
+ compatible = "lantiq,etop-xway";
+ reg = <0xE180000 0x40000
+ 0xE108000 0x200>;
+ interrupt-parent = <&icu0>;
+ interrupts = <72 73>;
+ phy-mode = "rmii";
+ mac-address = [ 00 11 22 33 44 55 ];
+ };
+
+ stp0: stp@E100BB0 {
+ #gpio-cells = <2>;
+ compatible = "lantiq,gpio-stp-xway";
+ gpio-controller;
+ reg = <0xE100BB0 0x40>;
+
+ lantiq,shadow = <0xfff>;
+ lantiq,groups = <0x3>;
+ };
+
+ pci@E105400 {
+ lantiq,bus-clock = <33333333>;
+ interrupt-map-mask = <0xf800 0x0 0x0 0x7>;
+ interrupt-map = <
+ 0x7000 0 0 1 &icu0 29 1 // slot 14, irq 29
+ >;
+ gpios-reset = <&gpio 21 0>;
+ req-mask = <0x1>; /* GNT1 */
+ };
+
+ };
+};
diff --git a/target/linux/lantiq/dts/EASY80920.dtsi b/target/linux/lantiq/dts/EASY80920.dtsi
new file mode 100644
index 0000000000..861978f5b9
--- /dev/null
+++ b/target/linux/lantiq/dts/EASY80920.dtsi
@@ -0,0 +1,340 @@
+/include/ "vr9.dtsi"
+
+/ {
+ chosen {
+ bootargs = "console=ttyLTQ0,115200 init=/etc/preinit";
+ };
+
+ memory@0 {
+ reg = <0x0 0x4000000>;
+ };
+
+ fpi@10000000 {
+ #address-cells = <1>;
+ #size-cells = <1>;
+ compatible = "lantiq,fpi", "simple-bus";
+ ranges = <0x0 0x10000000 0xEEFFFFF>;
+ reg = <0x10000000 0xEF00000>;
+
+ localbus@0 {
+ #address-cells = <2>;
+ #size-cells = <1>;
+ compatible = "lantiq,localbus", "simple-bus";
+
+ };
+
+ spi@E100800 {
+ compatible = "lantiq,spi-xway-broken";
+ reg = <0xE100800 0x100>;
+ interrupt-parent = <&icu0>;
+ interrupts = <22 23 24>;
+ #address-cells = <1>;
+ #size-cells = <1>;
+
+ m25p80@0 {
+ #address-cells = <1>;
+ #size-cells = <1>;
+ compatible = "s25fl129p0";
+ reg = <0 0>;
+ linux,modalias = "m25p80", "mx25l3205d";
+ spi-max-frequency = <1000000>;
+
+ 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";
+ };
+ };
+ };
+
+ gpio: pinmux@E100B10 {
+ compatible = "lantiq,pinctrl-xr9";
+ pinctrl-names = "default";
+ pinctrl-0 = <&state_default>;
+
+ interrupt-parent = <&icu0>;
+ interrupts = <166 135 66 40 41 42 38>;
+
+ #gpio-cells = <2>;
+ gpio-controller;
+ reg = <0xE100B10 0xA0>;
+
+ state_default: pinmux {
+ exin3 {
+ lantiq,groups = "exin3";
+ lantiq,function = "exin";
+ };
+ stp {
+ lantiq,groups = "stp";
+ lantiq,function = "stp";
+ };
+ spi {
+ lantiq,groups = "spi", "spi_cs4";
+ lantiq,function = "spi";
+ };
+ 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>;
+ };
+ };
+ };
+
+ 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 = <73 72>;
+
+ lan: interface@0 {
+ compatible = "lantiq,xrx200-pdi";
+ #address-cells = <1>;
+ #size-cells = <0>;
+ reg = <0>;
+ mac-address = [ 00 11 22 33 44 55 ];
+
+ 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>;
+ };
+ };
+
+ wan: interface@1 {
+ compatible = "lantiq,xrx200-pdi";
+ #address-cells = <1>;
+ #size-cells = <0>;
+ reg = <1>;
+ mac-address = [ 00 11 22 33 44 56 ];
+ lantiq,wan;
+ ethernet@5 {
+ compatible = "lantiq,xrx200-pdi-port";
+ reg = <5>;
+ phy-mode = "rgmii";
+ phy-handle = <&phy5>;
+ };
+ };
+
+ test: interface@2 {
+ compatible = "lantiq,xrx200-pdi";
+ #address-cells = <1>;
+ #size-cells = <0>;
+ reg = <2>;
+ mac-address = [ 00 11 22 33 44 57 ];
+ ethernet@4 {
+ compatible = "lantiq,xrx200-pdi-port";
+ reg = <4>;
+ phynmode0 = "gmii";
+ phy-handle = <&phy13>;
+ };
+ };
+
+ mdio@0 {
+ #address-cells = <1>;
+ #size-cells = <0>;
+ compatible = "lantiq,xrx200-mdio";
+ phy0: ethernet-phy@0 {
+ reg = <0x0>;
+ compatible = "lantiq,phy11g", "ethernet-phy-ieee802.3-c22";
+ lantiq,c45-reg-init = <1 0 0 0>;
+ };
+ phy1: ethernet-phy@1 {
+ reg = <0x1>;
+ compatible = "lantiq,phy11g", "ethernet-phy-ieee802.3-c22";
+ lantiq,c45-reg-init = <1 0 0 0>;
+ };
+ phy5: ethernet-phy@5 {
+ reg = <0x5>;
+ compatible = "lantiq,phy11g", "ethernet-phy-ieee802.3-c22";
+ lantiq,c45-reg-init = <1 0 0 0>;
+ };
+ phy11: ethernet-phy@11 {
+ reg = <0x11>;
+ compatible = "lantiq,phy11g", "ethernet-phy-ieee802.3-c22";
+ lantiq,c45-reg-init = <1 0 0 0>;
+ };
+ phy13: ethernet-phy@13 {
+ reg = <0x13>;
+ compatible = "lantiq,phy11g", "ethernet-phy-ieee802.3-c22";
+ lantiq,c45-reg-init = <1 0 0 0>;
+ };
+ };
+ };
+
+ stp: stp@E100BB0 {
+ compatible = "lantiq,gpio-stp-xway";
+ reg = <0xE100BB0 0x40>;
+ #gpio-cells = <2>;
+ gpio-controller;
+
+ lantiq,shadow = <0xffff>;
+ lantiq,groups = <0x7>;
+ lantiq,dsl = <0x3>;
+ lantiq,phy1 = <0x7>;
+ lantiq,phy2 = <0x7>;
+ /* lantiq,rising; */
+ };
+
+ ifxhcd@E101000 {
+ status = "okay";
+ gpios = <&gpio 33 0>;
+ lantiq,portmask = <0x3>;
+ };
+
+ pci@E105400 {
+ #address-cells = <3>;
+ #size-cells = <2>;
+ #interrupt-cells = <1>;
+ compatible = "lantiq,pci-xway1";
+ 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>;
+ /*lantiq,external-clock;*/
+ lantiq,delay-hi = <0>; /* 0ns delay */
+ lantiq,delay-lo = <0>; /* 0.0ns delay */
+ interrupt-map-mask = <0xf800 0x0 0x0 0x7>;
+ interrupt-map = <
+ 0x7000 0 0 1 &icu0 29 1 // slot 14, irq 29
+ >;
+ gpios-reset = <&gpio 21 0>;
+ req-mask = <0x1>; /* GNT1 */
+ };
+ };
+
+ gphy-xrx200 {
+ compatible = "lantiq,phy-xrx200";
+ firmware = "lantiq/vr9_phy11g_a2x.bin";
+ phys = [ 00 01 ];
+ };
+
+ gpio-keys-polled {
+ compatible = "gpio-keys-polled";
+ #address-cells = <1>;
+ #size-cells = <0>;
+ poll-interval = <100>;
+/* reset {
+ label = "reset";
+ gpios = <&gpio 7 1>;
+ linux,code = <0x198>;
+ };*/
+ paging {
+ label = "paging";
+ gpios = <&gpio 11 1>;
+ linux,code = <0x100>;
+ };
+ };
+
+ gpio-leds {
+ compatible = "gpio-leds";
+
+ power {
+ label = "power";
+ gpios = <&stp 9 0>;
+ default-state = "on";
+ };
+ warning {
+ label = "warning";
+ gpios = <&stp 22 0>;
+ };
+ fxs1 {
+ label = "fxs1";
+ gpios = <&stp 21 0>;
+ };
+ fxs2 {
+ label = "fxs2";
+ gpios = <&stp 20 0>;
+ };
+ fxo {
+ label = "fxo";
+ gpios = <&stp 19 0>;
+ };
+ usb1 {
+ label = "usb1";
+ gpios = <&stp 18 0>;
+ };
+ usb2 {
+ label = "usb2";
+ gpios = <&stp 15 0>;
+ };
+ sd {
+ label = "sd";
+ gpios = <&stp 14 0>;
+ };
+ wps {
+ label = "wps";
+ gpios = <&stp 12 0>;
+ };
+ };
+};
diff --git a/target/linux/lantiq/dts/EASY80920NAND.dts b/target/linux/lantiq/dts/EASY80920NAND.dts
new file mode 100644
index 0000000000..afa2157247
--- /dev/null
+++ b/target/linux/lantiq/dts/EASY80920NAND.dts
@@ -0,0 +1,35 @@
+/dts-v1/;
+
+
+/include/ "EASY80920.dtsi"
+
+/ {
+ fpi@10000000 {
+ localbus@0 {
+ ranges = <0 0 0x4000000 0x3ffffff>;
+ nand-parts@0 {
+ compatible = "gen_nand", "lantiq,nand-xway";
+ lantiq,cs = <1>;
+ bank-width = <2>;
+ reg = <0 0x0 0x2000000>;
+ #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 0x3f80000>;
+ };
+ };
+ };
+ };
+};
diff --git a/target/linux/lantiq/dts/EASY80920NOR.dts b/target/linux/lantiq/dts/EASY80920NOR.dts
new file mode 100644
index 0000000000..94f4cc1ec5
--- /dev/null
+++ b/target/linux/lantiq/dts/EASY80920NOR.dts
@@ -0,0 +1,34 @@
+/dts-v1/;
+
+
+/include/ "EASY80920.dtsi"
+
+/ {
+ fpi@10000000 {
+ localbus@0 {
+ ranges = <0 0 0x0 0x3ffffff>;
+ nor-boot@0 {
+ compatible = "lantiq,nor";
+ bank-width = <2>;
+ reg = <0 0x0 0x2000000>;
+ #address-cells = <1>;
+ #size-cells = <1>;
+
+ partition@0 {
+ label = "uboot";
+ reg = <0x00000 0x10000>;
+ };
+
+ partition@10000 {
+ label = "uboot_env";
+ reg = <0x10000 0x10000>;
+ };
+
+ partition@20000 {
+ label = "linux";
+ reg = <0x20000 0x7e0000>;
+ };
+ };
+ };
+ };
+};
diff --git a/target/linux/lantiq/dts/EASY98000NOR.dts b/target/linux/lantiq/dts/EASY98000NOR.dts
new file mode 100644
index 0000000000..46497f48d1
--- /dev/null
+++ b/target/linux/lantiq/dts/EASY98000NOR.dts
@@ -0,0 +1,65 @@
+/dts-v1/;
+
+/include/ "falcon.dtsi"
+
+/ {
+ model = "EASY98000 - Lantiq Falcon (NOR)";
+
+ chosen {
+ bootargs = "console=ttyLTQ0,115200 init=/etc/preinit";
+ };
+
+ memory@0 {
+ reg = <0x0 0x2000000>;
+ };
+
+ localbus@10000000 {
+ 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>;
+ };
+ };
+ };
+
+ pinmux0 {
+ compatible = "lantiq,pinctrl-falcon";
+ pinctrl-names = "default";
+ pinctrl-0 = <&state_default>;
+
+ state_default: pinmux {
+ asc0 {
+ lantiq,groups = "asc0";
+ lantiq,function = "asc";
+ };
+ ntr {
+ lantiq,groups = "ntr8k";
+ lantiq,function = "ntr";
+ };
+ i2c {
+ lantiq,groups = "i2c";
+ lantiq,function = "i2c";
+ };
+ hrst {
+ lantiq,groups = "hrst";
+ lantiq,function = "rst";
+ };
+ };
+ };
+};
diff --git a/target/linux/lantiq/dts/EASY98000SFLASH.dts b/target/linux/lantiq/dts/EASY98000SFLASH.dts
new file mode 100644
index 0000000000..47f8b47ff1
--- /dev/null
+++ b/target/linux/lantiq/dts/EASY98000SFLASH.dts
@@ -0,0 +1,74 @@
+/dts-v1/;
+
+/include/ "falcon.dtsi"
+
+/ {
+ model = "EASY98000 - Lantiq Falcon (SFLASH)";
+
+ chosen {
+ bootargs = "console=ttyLTQ0,115200 init=/etc/preinit";
+ };
+
+ memory@0 {
+ reg = <0x0 0x2000000>;
+ };
+
+ localbus@10000000 {
+ #address-cells = <1>;
+ #size-cells = <1>;
+ compatible = "lantiq,sflash-falcon", "simple-bus";
+ busnum = <0>;
+
+ m25p80@0 {
+ #address-cells = <1>;
+ #size-cells = <1>;
+ compatible = "s25fl129p0";
+ reg = <0 0>;
+ linux,modalias = "m25p80", "s25fl129p0";
+ spi-max-frequency = <10000000>;
+
+ partition@0 {
+ reg = <0x0 0x00080000>;
+ label = "SPI (RO) U-Boot Image";
+ read-only;
+ };
+
+ partition@80000 {
+ reg = <0x00080000 0x00080000>;
+ label = "SPI (RO) DTB Image";
+ read-only;
+ };
+
+ partition@100000 {
+ reg = <0x00100000 0x00400000>;
+ label = "SPI (RO) Linux Kernel Image";
+ read-only;
+ };
+ };
+ };
+
+ pinmux0 {
+ compatible = "lantiq,pinctrl-falcon";
+ pinctrl-names = "default";
+ pinctrl-0 = <&state_default>;
+
+ state_default: pinmux {
+ asc0 {
+ lantiq,groups = "asc0";
+ lantiq,function = "asc";
+ };
+ ntr {
+ lantiq,groups = "ntr8k";
+ lantiq,function = "ntr";
+ };
+ i2c {
+ lantiq,groups = "i2c";
+ lantiq,function = "i2c";
+ };
+ hrst {
+ lantiq,groups = "hrst";
+ lantiq,function = "rst";
+ };
+ };
+ };
+};
diff --git a/target/linux/lantiq/dts/FRITZ3370.dts b/target/linux/lantiq/dts/FRITZ3370.dts
new file mode 100644
index 0000000000..df3089286d
--- /dev/null
+++ b/target/linux/lantiq/dts/FRITZ3370.dts
@@ -0,0 +1,278 @@
+/dts-v1/;
+
+/include/ "vr9.dtsi"
+
+/ {
+ model = "FRITZ3370 - Fritz!Box WLAN 3370";
+
+ chosen {
+ bootargs = "console=ttyLTQ0,115200 init=/etc/preinit rootfstype=jffs2";
+ };
+
+ memory@0 {
+ reg = <0x0 0x8000000>;
+ };
+
+ fpi@10000000 {
+ localbus@0 {
+ nand-parts@0 {
+ compatible = "gen_nand", "lantiq,nand-xway";
+ bank-width = <2>;
+ reg = <1 0x0 0x2000000>;
+ #address-cells = <1>;
+ #size-cells = <1>;
+
+ partition@0 {
+ label = "kernel";
+ reg = <0x00000 0x400000>;
+ };
+
+ partition@400000 {
+ label = "rootfs";
+ reg = <0x400000 0x3000000>;
+ };
+
+ partition@3400000 {
+ label = "vr9_firmware";
+ reg = <0x3400000 0x400000>;
+ };
+ partition@3800000 {
+ label = "reserved";
+ reg = <0x3800000 0x3000000>;
+ };
+ partition@6800000 {
+ label = "config";
+ reg = <0x6800000 0x200000>;
+ };
+ partition@6a00000 {
+ label = "nand-filesystem";
+ reg = <0x6a00000 0x1600000>;
+ };
+ };
+ };
+
+ spi@E100800 {
+ compatible = "lantiq,spi-xway-broken";
+ reg = <0xE100800 0x100>;
+ interrupt-parent = <&icu0>;
+ interrupts = <22 23 24>;
+ #address-cells = <1>;
+ #size-cells = <1>;
+
+ m25p80@0 {
+ #address-cells = <1>;
+ #size-cells = <1>;
+ compatible = "s25fl129p0";
+ reg = <0 0>;
+ linux,modalias = "m25p80", "mx25l3205d";
+ spi-max-frequency = <1000000>;
+
+ 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";
+ };
+ };
+ };
+
+ gpio: pinmux@E100B10 {
+ pinctrl-names = "default";
+ pinctrl-0 = <&state_default>;
+
+ state_default: pinmux {
+ spi {
+ lantiq,groups = "spi", "spi_cs4";
+ lantiq,function = "spi";
+ };
+ nand_out {
+ lantiq,groups = "nand cle", "nand ale", "nand rd", "ebu a23", "ebu a24";
+ lantiq,function = "ebu";
+ lantiq,direction = <1>;
+ lantiq,pull = <0>;
+ };
+ nand_in {
+ lantiq,groups = "nand rdy";
+ lantiq,function = "ebu";
+ lantiq,direction = <0>;
+ lantiq,open-drain = <1>;
+ lantiq,pull = <2>;
+ };
+ mdio {
+ lantiq,groups = "mdio";
+ lantiq,function = "mdio";
+ };
+ phy-rst {
+ lantiq,pins = "io37", "io44";
+ lantiq,pull = <0>;
+ lantiq,open-drain = <0>;
+ lantiq,output = <1>;
+ };
+ pcie-rst {
+ lantiq,pins = "io38";
+ lantiq,pull = <0>;
+ lantiq,output = <1>;
+ };
+ };
+ };
+
+ 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 = <73 72>;
+
+ lan: interface@0 {
+ compatible = "lantiq,xrx200-pdi";
+ #address-cells = <1>;
+ #size-cells = <0>;
+ reg = <0>;
+ mac-address = [ 00 11 22 33 44 55 ];
+
+ ethernet@0 {
+ compatible = "lantiq,xrx200-pdi-port";
+ reg = <0>;
+ phy-mode = "rgmii";
+ phy-handle = <&phy0>;
+ gpios = <&gpio 37 0>;
+ };
+ ethernet@1 {
+ compatible = "lantiq,xrx200-pdi-port";
+ reg = <1>;
+ phy-mode = "rgmii";
+ phy-handle = <&phy1>;
+ gpios = <&gpio 44 0>;
+ };
+ ethernet@2 {
+ compatible = "lantiq,xrx200-pdi-port";
+ reg = <2>;
+ phy-mode = "gmii";
+ phy-handle = <&phy11>;
+ };
+ ethernet@3 {
+ compatible = "lantiq,xrx200-pdi-port";
+ reg = <4>;
+ phy-mode = "gmii";
+ phy-handle = <&phy13>;
+ };
+ };
+
+ mdio@0 {
+ #address-cells = <1>;
+ #size-cells = <0>;
+ compatible = "lantiq,xrx200-mdio";
+ phy0: ethernet-phy@0 {
+ reg = <0x0>;
+ compatible = "lantiq,phy11g", "ethernet-phy-ieee802.3-c22";
+ lantiq,c45-reg-init = <1 0 0 0>;
+ };
+ phy1: ethernet-phy@1 {
+ reg = <0x1>;
+ compatible = "lantiq,phy11g", "ethernet-phy-ieee802.3-c22";
+ lantiq,c45-reg-init = <1 0 0 0>;
+ };
+ phy11: ethernet-phy@11 {
+ reg = <0x11>;
+ compatible = "lantiq,phy11g", "ethernet-phy-ieee802.3-c22";
+ lantiq,c45-reg-init = <1 0 0 0>;
+ };
+ phy13: ethernet-phy@13 {
+ reg = <0x13>;
+ compatible = "lantiq,phy11g", "ethernet-phy-ieee802.3-c22";
+ lantiq,c45-reg-init = <1 0 0 0>;
+ };
+ };
+ };
+
+ ifxhcd@E101000 {
+ status = "okay";
+ gpios = <&gpio 5 0
+ &gpio 14 0>;
+ lantiq,portmask = <0x3>;
+ };
+ };
+
+ gphy-xrx200 {
+ compatible = "lantiq,phy-xrx200";
+ firmware = "lantiq/vr9_phy11g_a1x.bin";
+ phys = [ 00 01 ];
+ };
+
+ gpio-keys-polled {
+ compatible = "gpio-keys-polled";
+ #address-cells = <1>;
+ #size-cells = <0>;
+ poll-interval = <100>;
+ power {
+ label = "power";
+ gpios = <&gpio 1 0>;
+ linux,code = <0x100>;
+ };
+/* wifi {
+ label = "wifi";
+ gpios = <&gpio 29 0>;
+ linux,code = <0x101>;
+ };*/
+ };
+
+ gpio-leds {
+ compatible = "gpio-leds";
+
+ power {
+ label = "power";
+ gpios = <&gpio 32 1>;
+ };
+ power2 {
+ label = "power2";
+ gpios = <&gpio 33 1>;
+ };
+ info_red {
+ label = "info_red";
+ gpios = <&gpio 34 1>;
+ };
+ wifi {
+ label = "wifi";
+ gpios = <&gpio 35 1>;
+ };
+ dsl {
+ label = "dsl";
+ gpios = <&gpio 36 1>;
+ };
+ lan {
+ label = "lan";
+ gpios = <&gpio 38 1>;
+ };
+ info_green {
+ label = "info_green";
+ gpios = <&gpio 47 1>;
+ };
+ };
+};
diff --git a/target/linux/lantiq/dts/FRITZ7320.dts b/target/linux/lantiq/dts/FRITZ7320.dts
new file mode 100644
index 0000000000..2a7b76693d
--- /dev/null
+++ b/target/linux/lantiq/dts/FRITZ7320.dts
@@ -0,0 +1,138 @@
+/dts-v1/;
+
+/include/ "ar9.dtsi"
+
+/ {
+ model = "FRITZ7320 - 1&1 HomeServer";
+
+ chosen {
+ bootargs = "console=ttyLTQ0,115200 init=/etc/preinit";
+ };
+
+ memory@0 {
+ reg = <0x0 0x4000000>;
+ };
+
+ fpi@10000000 {
+ localbus@0 {
+ nor-boot@0 {
+ compatible = "lantiq,nor";
+ bank-width = <2>;
+ reg = <0 0x0 0x800000>;
+ #address-cells = <1>;
+ #size-cells = <1>;
+
+ partition@0 {
+ label = "urlader";
+ reg = <0x00000 0x20000>;
+ read-only;
+ };
+
+ partition@20000 {
+ label = "linux";
+ reg = <0x20000 0xf60000>;
+ };
+
+ partition@f80000 {
+ label = "tffs (1)";
+ reg = <0xf80000 0x40000>;
+ read-only;
+ };
+
+ partition@fc0000 {
+ label = "tffs (2)";
+ reg = <0xfc0000 0x40000>;
+ read-only;
+ };
+ };
+ };
+
+ gpio: pinmux@E100B10 {
+ pinctrl-names = "default";
+ pinctrl-0 = <&state_default>;
+
+ state_default: pinmux {
+ pci {
+ lantiq,groups = "gnt1", "req1", "req2", "req3", "req4", "gnt2", "gnt3", "gnt4";
+ lantiq,function = "pci";
+ };
+ pci-in {
+ lantiq,groups = "req1", "req2", "req3", "req4";
+ lantiq,output = <0>;
+ lantiq,open-drain = <1>;
+ lantiq,pull = <2>;
+ };
+ pci-out {
+ lantiq,groups = "gnt1", "gnt2", "gnt3", "gnt4";
+ lantiq,output = <1>;
+ lantiq,pull = <0>;
+ };
+ };
+ };
+
+ etop@E180000 {
+ phy-mode = "mii";
+ mac-address = [ 00 11 22 33 44 55 ];
+ };
+
+ ifxhcd@E101000 {
+ status = "okay";
+ };
+
+ pci@E105400 {
+ status = "okay";
+ req-mask = <0xf>;
+ lantiq,bus-clock = <33333333>;
+ interrupt-map-mask = <0xf800 0x0 0x0 0x7>;
+ interrupt-map = <0x7000 0 0 1 &icu0 30 1>;
+ gpio-reset = <&gpio 21 0>;
+ req-mask = <0xf>; /* GNT1 */
+ };
+ };
+
+ gpio-keys-polled {
+ compatible = "gpio-keys-polled";
+ #address-cells = <1>;
+ #size-cells = <0>;
+ poll-interval = <100>;
+
+ rfkill {
+ label = "rfkill";
+ gpios = <&gpio 1 1>;
+ linux,code = <0xf7>;
+ };
+ dect {
+ label = "dect";
+ gpios = <&gpio 2 1>;
+ linux,code = <0x102>;
+ };
+ };
+
+ gpio-leds {
+ compatible = "gpio-leds";
+ power {
+ label = "power";
+ gpios = <&gpio 44 1>;
+ };
+ voice {
+ label = "voice";
+ gpios = <&gpio 47 1>;
+ };
+ dect {
+ label = "dect";
+ gpios = <&gpio 38 1>;
+ };
+ wlan {
+ label = "wlan";
+ gpios = <&gpio 37 1>;
+ };
+ online {
+ label = "online";
+ gpios = <&gpio 35 1>;
+ };
+ online2 {
+ label = "online2";
+ gpios = <&gpio 45 1>;
+ };
+ };
+};
diff --git a/target/linux/lantiq/dts/VG3503J.dts b/target/linux/lantiq/dts/VG3503J.dts
new file mode 100644
index 0000000000..0aea8d80c7
--- /dev/null
+++ b/target/linux/lantiq/dts/VG3503J.dts
@@ -0,0 +1,189 @@
+/dts-v1/;
+
+/include/ "vr9.dtsi"
+
+/ {
+ model = "VG3503J - BT OpenReach VDSL Modem";
+
+ chosen {
+ bootargs = "console=ttyLTQ0,115200 init=/etc/preinit";
+ };
+
+ memory@0 {
+ reg = <0x0 0x2000000>;
+ };
+
+ fpi@10000000 {
+ localbus@0 {
+ ranges = <0 0 0x0 0x3ffffff>;
+ nor-boot@0 {
+ compatible = "lantiq,nor";
+ bank-width = <2>;
+ reg = <0 0x0 0x2000000>;
+ #address-cells = <1>;
+ #size-cells = <1>;
+
+ partition@0 {
+ label = "uboot";
+ reg = <0x00000 0x20000>;
+ };
+
+ partition@20000 {
+ label = "kernel";
+ reg = <0x20000 0x180000>;
+ };
+
+ partition@1a0000 {
+ label = "rootfs";
+ reg = <0x1a0000 0x5a0000>;
+ };
+
+ partition@740000 {
+ label = "btagent";
+ reg = <0x740000 0x80000>;
+ };
+
+ partition@7c0000 {
+ label = "pri_bfocus_cfg";
+ reg = <0x7c0000 0x10000>;
+ };
+
+ partition@7d0000 {
+ label = "sec_bfocus_cfg";
+ reg = <0x7d0000 0x10000>;
+ };
+
+ partition@7e0000 {
+ label = "sysconfig";
+ reg = <0x7e0000 0x10000>;
+ };
+
+ partition@7f0000 {
+ label = "misc_cfg";
+ reg = <0x7f0000 0x10000>;
+ };
+ };
+ };
+
+ gpio: pinmux@E100B10 {
+ pinctrl-names = "default";
+ pinctrl-0 = <&state_default>;
+
+ state_default: pinmux {
+ mdio {
+ lantiq,groups = "mdio";
+ lantiq,function = "mdio";
+ };
+ };
+ };
+
+ 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 = <73 72>;
+
+ lan: interface@0 {
+ compatible = "lantiq,xrx200-pdi";
+ #address-cells = <1>;
+ #size-cells = <0>;
+ reg = <0>;
+ mac-address = [ 00 11 22 33 44 55 ];
+
+ ethernet@2 {
+ compatible = "lantiq,xrx200-pdi-port";
+ reg = <2>;
+ phy-mode = "mii";
+ phy-handle = <&phy11>;
+ };
+ ethernet@4 {
+ compatible = "lantiq,xrx200-pdi-port";
+ reg = <4>;
+ phy-mode = "mii";
+ phy-handle = <&phy13>;
+ };
+ };
+
+ mdio@0 {
+ #address-cells = <1>;
+ #size-cells = <0>;
+ compatible = "lantiq,xrx200-mdio";
+ phy11: ethernet-phy@11 {
+ reg = <0x11>;
+ compatible = "lantiq,phy11g", "ethernet-phy-ieee802.3-c22";
+ lantiq,c45-reg-init = <1 0 0 0>;
+ };
+ phy13: ethernet-phy@13 {
+ reg = <0x13>;
+ compatible = "lantiq,phy11g", "ethernet-phy-ieee802.3-c22";
+ lantiq,c45-reg-init = <1 0 0 0>;
+ };
+ };
+ };
+ };
+
+ gphy-xrx200 {
+ compatible = "lantiq,phy-xrx200";
+ firmware = "lantiq/vr9_phy22f_a1x.bin";
+ phys = [ 00 01 ];
+ };
+
+ gpio-keys-polled {
+ compatible = "gpio-keys-polled";
+ #address-cells = <1>;
+ #size-cells = <0>;
+ poll-interval = <100>;
+ reset {
+ label = "reset";
+ gpios = <&gpio 6 1>;
+ linux,code = <0x198>;
+ };
+ };
+
+ gpio-leds {
+ compatible = "gpio-leds";
+
+ port2green {
+ label = "bt:green:port2";
+ gpios = <&gpio 2 0>;
+ };
+ lan2 {
+ label = "bt:green:lan2";
+ gpios = <&gpio 5 0>;
+ };
+ port2orange {
+ label = "bt:orange:port2";
+ gpios = <&gpio 7 0>;
+ };
+ power2 {
+ label = "power2";
+ gpios = <&gpio 14 1>;
+ };
+ dsl {
+ label = "dsl";
+ gpios = <&gpio 19 1>;
+ };
+ power {
+ label = "power";
+ gpios = <&gpio 28 1>;
+ };
+ lan1 {
+ label = "bt:green:lan1";
+ gpios = <&gpio 44 0>;
+ };
+ port1green {
+ label = "bt:green:port1";
+ gpios = <&gpio 45 0>;
+ };
+ port1orange {
+ label = "bt:orange:port1";
+ gpios = <&gpio 47 0>;
+ };
+ };
+};
diff --git a/target/linux/lantiq/dts/WBMR.dts b/target/linux/lantiq/dts/WBMR.dts
new file mode 100644
index 0000000000..bf83e7df0c
--- /dev/null
+++ b/target/linux/lantiq/dts/WBMR.dts
@@ -0,0 +1,167 @@
+/dts-v1/;
+
+/include/ "ar9.dtsi"
+
+/ {
+ model = "WBMR - Buffalo WBMR-HP-G300H";
+
+ chosen {
+ bootargs = "console=ttyLTQ0,115200 init=/etc/preinit";
+ };
+
+ memory@0 {
+ reg = <0x0 0x4000000>;
+ };
+
+ fpi@10000000 {
+ localbus@0 {
+ nor-boot@0 {
+ compatible = "lantiq,nor";
+ bank-width = <2>;
+ reg = <0 0x0 0x2000000>;
+ #address-cells = <1>;
+ #size-cells = <1>;
+
+ partition@0 {
+ label = "uboot";
+ reg = <0x00000 0x40000>;
+ read-only;
+ };
+
+ partition@40000 {
+ label = "uboot_env";
+ reg = <0x40000 0x20000>;
+ read-only;
+ };
+
+ partition@20000 {
+ label = "linux";
+ reg = <0x60000 0x1f20000>;
+ };
+
+ partition@0x1fc0000 {
+ label = "board";
+ reg = <0x1fc0000 0x20000>;
+ read-only;
+ };
+
+ partition@0x1fe0000 {
+ label = "calibration";
+ reg = <0x1fe0000 0x20000>;
+ read-only;
+ };
+ };
+
+ mac_addr {
+ compatible = "lantiq,eth-mac";
+ reg = <0 0x1fd0024 0x6>;
+ };
+ };
+
+ gpio: pinmux@E100B10 {
+ pinctrl-names = "default";
+ pinctrl-0 = <&state_default>;
+
+ state_default: pinmux {
+ pci-in {
+ lantiq,groups = "req1";
+ lantiq,output = <0>;
+ lantiq,open-drain = <1>;
+ lantiq,pull = <2>;
+ };
+ pci-out {
+ lantiq,groups = "gnt1";
+ lantiq,output = <1>;
+ lantiq,pull = <0>;
+ };
+ pci_rst {
+ lantiq,pins = "io21";
+ lantiq,pull = <0>;
+ lantiq,output = <1>;
+ };
+ };
+ };
+
+ etop@E180000 {
+ phy-mode = "rgmii";
+ };
+
+ ifxhcd@E101000 {
+ status = "okay";
+ gpios = <&gpio 36 0>;
+ };
+
+ pci@E105400 {
+ status = "okay";
+ };
+ };
+
+ gpio-keys-polled {
+ compatible = "gpio-keys-polled";
+ #address-cells = <1>;
+ #size-cells = <0>;
+ poll-interval = <100>;
+
+ wps {
+ label = "wps";
+ gpios = <&gpio 0 1>;
+ linux,code = <0x211>;
+ };
+ reset {
+ label = "reset";
+ gpios = <&gpio 37 1>;
+ linux,code = <0x198>;
+ };
+ eject {
+ label = "eject";
+ gpios = <&gpio 34 1>;
+ linux,code = <0xf7>;
+ };
+ movie {
+ label = "movie";
+ gpios = <&gpio 22 1>;
+ linux,code = <0x109>;
+ };
+ };
+
+ gpio-leds {
+ compatible = "gpio-leds";
+ power {
+ label = "power";
+ gpios = <&gpio 1 1>;
+ };
+ power2 {
+ label = "power2";
+ gpios = <&gpio 5 1>;
+ };
+ security {
+ label = "security";
+ gpios = <&gpio 14 1>;
+ };
+ wifi {
+ label = "wifi";
+ gpios = <&gpio 15 1>;
+ };
+ dsl {
+ label = "dsl";
+ gpios = <&gpio 16 1>;
+ };
+ online {
+ label = "online";
+ gpios = <&gpio 17 1>;
+ };
+ online2 {
+ label = "online2";
+ gpios = <&gpio 18 1>;
+ };
+ movie {
+ label = "movie";
+ gpios = <&gpio 20 1>;
+ };
+ usb {
+ label = "usb";
+ gpios = <&gpio 28 1>;
+ default-state = "on";
+ };
+ };
+};
diff --git a/target/linux/lantiq/dts/amazonse.dtsi b/target/linux/lantiq/dts/amazonse.dtsi
new file mode 100644
index 0000000000..13d3e73860
--- /dev/null
+++ b/target/linux/lantiq/dts/amazonse.dtsi
@@ -0,0 +1,148 @@
+/ {
+ #address-cells = <1>;
+ #size-cells = <1>;
+ compatible = "lantiq,xway", "lantiq,ase";
+
+ cpus {
+ cpu@0 {
+ compatible = "mips,mips4Kc";
+ };
+ };
+
+ 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>;
+ compatible = "lantiq,eiu-xway";
+ reg = <0x101000 0x1000>;
+ interrupt-parent = <&icu0>;
+ interrupts = <29 30 31>;
+ };
+
+ pmu0: pmu@102000 {
+ compatible = "lantiq,pmu-xway";
+ reg = <0x102000 0x1000>;
+ };
+
+ cgu0: cgu@103000 {
+ compatible = "lantiq,cgu-xway";
+ reg = <0x103000 0x1000>;
+ #clock-cells = <1>;
+ };
+
+ rcu0: rcu@203000 {
+ compatible = "lantiq,rcu-xway";
+ reg = <0x203000 0x1000>;
+ };
+ };
+
+ fpi@10000000 {
+ #address-cells = <1>;
+ #size-cells = <1>;
+ compatible = "lantiq,fpi", "simple-bus";
+ ranges = <0x0 0x10000000 0xEEFFFFF>;
+ reg = <0x10000000 0xEF00000>;
+
+ spi@E100800 {
+ compatible = "lantiq,spi-xway";
+ reg = <0xE100800 0x100>;
+ interrupt-parent = <&icu0>;
+ interrupts = <24 25 26>;
+ #address-cells = <1>;
+ #size-cells = <1>;
+ };
+
+ gptu@E100A00 {
+ compatible = "lantiq,gptu-xway";
+ reg = <0xE100A00 0x100>;
+ interrupt-parent = <&icu0>;
+ interrupts = <97 98 99 100 101 102>;
+ status = "disabled";
+ };
+
+ gpio: pinmux@E100B10 {
+ compatible = "lantiq,pinctrl-ase";
+ #gpio-cells = <2>;
+ gpio-controller;
+ reg = <0xE100B10 0xA0>;
+ };
+
+ 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 = <63>;
+ };
+
+ ifxhcd@E101000 {
+ compatible = "lantiq,ifxhcd-ase";
+ reg = <0xE101000 0x1000
+ 0xE120000 0x3f000>;
+ interrupt-parent = <&icu0>;
+ interrupts = <39>;
+ status = "disabled";
+ };
+
+ dma0: dma@E104100 {
+ compatible = "lantiq,dma-xway";
+ reg = <0xE104100 0x800>;
+ };
+
+ ebu0: ebu@E105300 {
+ compatible = "lantiq,ebu-xway";
+ reg = <0xE105300 0x100>;
+ };
+
+ ppe@E234000 {
+ compatible = "lantiq,ppe-ase";
+ interrupt-parent = <&icu0>;
+ interrupts = <85>;
+ };
+
+ etop@E180000 {
+ compatible = "lantiq,etop-xway";
+ reg = <0xE180000 0x40000>;
+ interrupt-parent = <&icu0>;
+ interrupts = <105 109>;
+ };
+ };
+
+ adsl {
+ compatible = "lantiq,adsl-ase";
+ };
+};
diff --git a/target/linux/lantiq/dts/ar9.dtsi b/target/linux/lantiq/dts/ar9.dtsi
new file mode 100644
index 0000000000..ba37f135df
--- /dev/null
+++ b/target/linux/lantiq/dts/ar9.dtsi
@@ -0,0 +1,179 @@
+/ {
+ #address-cells = <1>;
+ #size-cells = <1>;
+ compatible = "lantiq,xway", "lantiq,ar9";
+
+ cpus {
+ cpu@0 {
+ compatible = "mips,mips34K";
+ };
+ };
+
+ 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";
+ 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>;
+ interrupts = <166 135 66 40 41 42>;
+ };
+
+ pmu0: pmu@102000 {
+ compatible = "lantiq,pmu-xway";
+ reg = <0x102000 0x1000>;
+ };
+
+ cgu0: cgu@103000 {
+ compatible = "lantiq,cgu-xway";
+ reg = <0x103000 0x1000>;
+ #clock-cells = <1>;
+ };
+
+ rcu0: rcu@203000 {
+ compatible = "lantiq,rcu-xway";
+ reg = <0x203000 0x1000>;
+ };
+ };
+
+ fpi@10000000 {
+ #address-cells = <1>;
+ #size-cells = <1>;
+ compatible = "lantiq,fpi", "simple-bus";
+ ranges = <0x0 0x10000000 0xEEFFFFF>;
+ reg = <0x10000000 0xEF00000>;
+
+ localbus@0 {
+ #address-cells = <2>;
+ #size-cells = <1>;
+ ranges = <0 0 0x0 0x3ffffff /* addrsel0 */
+ 1 0 0x4000000 0x4000010>; /* addsel1 */
+ compatible = "lantiq,localbus", "simple-bus";
+ };
+
+ gptu@E100A00 {
+ compatible = "lantiq,gptu-xway";
+ reg = <0xE100A00 0x100>;
+ interrupt-parent = <&icu0>;
+ interrupts = <126 127 128 129 130 131>;
+ };
+
+ asc0: serial@E100400 {
+ compatible = "lantiq,asc";
+ reg = <0xE100400 0x400>;
+ interrupt-parent = <&icu0>;
+ interrupts = <104 105 106>;
+ status = "disabled";
+ };
+
+ gpio: pinmux@E100B10 {
+ compatible = "lantiq,pinctrl-xr9";
+ #gpio-cells = <2>;
+ gpio-controller;
+ reg = <0xE100B10 0xA0>;
+ };
+
+ asc1: serial@E100C00 {
+ compatible = "lantiq,asc";
+ reg = <0xE100C00 0x400>;
+ interrupt-parent = <&icu0>;
+ interrupts = <112 113 114>;
+ };
+
+ ifxhcd@E101000 {
+ compatible = "lantiq,ifxhcd-arx100";
+ reg = <0xE101000 0x1000
+ 0xE120000 0x3f000>;
+ interrupt-parent = <&icu0>;
+ interrupts = <62 91>;
+ status = "disabled";
+ };
+
+ deu@E103100 {
+ compatible = "lantiq,deu-arx100";
+ reg = <0xE103100 0xf00>;
+ };
+
+ dma0: dma@E104100 {
+ compatible = "lantiq,dma-xway";
+ reg = <0xE104100 0x800>;
+ };
+
+ ebu0: ebu@E105300 {
+ compatible = "lantiq,ebu-xway";
+ reg = <0xE105300 0x100>;
+ };
+
+ mei@E116000 {
+ compatible = "lantiq,mei-xway";
+ interrupt-parent = <&icu0>;
+ interrupts = <63>;
+ };
+
+ etop@E180000 {
+ compatible = "lantiq,etop-xway";
+ reg = <0xE180000 0x40000
+ 0xE108000 0x200>;
+ interrupt-parent = <&icu0>;
+ interrupts = <73 72>;
+ mac-address = [ 00 11 22 33 44 55 ];
+ };
+
+ ppe@E234000 {
+ compatible = "lantiq,ppe-arx100";
+ interrupt-parent = <&icu0>;
+ interrupts = <96>;
+ };
+
+ pci0: pci@E105400 {
+ status = "disabled";
+ #address-cells = <3>;
+ #size-cells = <2>;
+ #interrupt-cells = <1>;
+ compatible = "lantiq,pci-xway";
+ bus-range = <0x0 0x0>;
+ ranges = <0x2000000 0 0x8000000 0x8000000 0 0x2000000 /* pci memory */
+ 0x1000000 0 0x00000000 0xAE00000 0 0x200000>; /* io space */
+ reg = <0x7000000 0x8000 /* config space */
+ 0xE105400 0x400>; /* pci bridge */
+ lantiq,bus-clock = <33333333>;
+ interrupt-map-mask = <0xf800 0x0 0x0 0x7>;
+ interrupt-map = <0x7000 0 0 1 &icu0 30 1>;
+ req-mask = <0x1>;
+ };
+ };
+
+ adsl {
+ compatible = "lantiq,adsl-arx100";
+ };
+};
diff --git a/target/linux/lantiq/dts/danube.dtsi b/target/linux/lantiq/dts/danube.dtsi
new file mode 100644
index 0000000000..68bd349e6f
--- /dev/null
+++ b/target/linux/lantiq/dts/danube.dtsi
@@ -0,0 +1,201 @@
+/ {
+ #address-cells = <1>;
+ #size-cells = <1>;
+ compatible = "lantiq,xway", "lantiq,danube";
+
+ chosen {
+ bootargs = "console=ttyLTQ0,115200 init=/etc/preinit";
+ };
+
+ cpus {
+ cpu@0 {
+ compatible = "mips,mips24Kc";
+ };
+ };
+
+ 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>;
+ interrupts = <166 135 66>;
+ };
+
+ pmu0: pmu@102000 {
+ compatible = "lantiq,pmu-xway";
+ reg = <0x102000 0x1000>;
+ };
+
+ cgu0: cgu@103000 {
+ compatible = "lantiq,cgu-xway";
+ reg = <0x103000 0x1000>;
+ #clock-cells = <1>;
+ };
+
+ vmmc@107000 {
+ status = "disabled";
+ compatible = "lantiq,vmmc";
+ reg = <0x103000 0x400>;
+ interrupt-parent = <&icu0>;
+ interrupts = <150 151 152 153 154 155>;
+ };
+
+ rcu0: rcu@203000 {
+ compatible = "lantiq,rcu-xway";
+ reg = <0x203000 0x1000>;
+ };
+ };
+
+ fpi@10000000 {
+ #address-cells = <1>;
+ #size-cells = <1>;
+ compatible = "lantiq,fpi", "simple-bus";
+ ranges = <0x0 0x10000000 0xEEFFFFF>;
+ reg = <0x10000000 0xEF00000>;
+
+ localbus@0 {
+ #address-cells = <2>;
+ #size-cells = <1>;
+ ranges = <0 0 0x0 0x3ffffff /* addrsel0 */
+ 1 0 0x4000000 0x4000010>; /* addsel1 */
+ compatible = "lantiq,localbus", "simple-bus";
+ };
+
+ gptu@E100A00 {
+ compatible = "lantiq,gptu-xway";
+ reg = <0xE100A00 0x100>;
+ interrupt-parent = <&icu0>;
+ interrupts = <126 127 128 129 130 131>;
+ };
+
+ gpios: stp@E100BB0 {
+ #gpio-cells = <2>;
+ compatible = "lantiq,gpio-stp-xway";
+ gpio-controller;
+ reg = <0xE100BB0 0x40>;
+ lantiq,shadow = <0xfff>;
+ lantiq,groups = <0x3>;
+ status = "disabled";
+ };
+
+ asc0: serial@E100400 {
+ compatible = "lantiq,asc";
+ reg = <0xE100400 0x400>;
+ interrupt-parent = <&icu0>;
+ interrupts = <104 105 106>;
+ status = "disabled";
+ };
+
+ gpio: pinmux@E100B10 {
+ compatible = "lantiq,pinctrl-xway";
+ #gpio-cells = <2>;
+ gpio-controller;
+ reg = <0xE100B10 0xA0>;
+ };
+
+ asc1: serial@E100C00 {
+ compatible = "lantiq,asc";
+ reg = <0xE100C00 0x400>;
+ interrupt-parent = <&icu0>;
+ interrupts = <112 113 114>;
+ };
+
+ ifxhcd@E101000 {
+ compatible = "lantiq,ifxhcd-danube";
+ reg = <0xE101000 0x1000
+ 0xE120000 0x3f000>;
+ interrupt-parent = <&icu0>;
+ interrupts = <62>;
+ status = "disabled";
+ };
+
+ deu@E103100 {
+ compatible = "lantiq,deu-danube";
+ reg = <0xE103100 0xf00>;
+ };
+
+ dma0: dma@E104100 {
+ compatible = "lantiq,dma-xway";
+ reg = <0xE104100 0x800>;
+ };
+
+ ebu0: ebu@E105300 {
+ compatible = "lantiq,ebu-xway";
+ reg = <0xE105300 0x100>;
+ };
+
+ mei@E116000 {
+ compatible = "lantiq,mei-xway";
+ interrupt-parent = <&icu0>;
+ interrupts = <63>;
+ };
+
+ etop@E180000 {
+ compatible = "lantiq,etop-xway";
+ reg = <0xE180000 0x40000>;
+ interrupt-parent = <&icu0>;
+ interrupts = <73 78>;
+ mac-address = [ 00 11 22 33 44 55 ];
+ };
+
+ ppe@E234000 {
+ compatible = "lantiq,ppe-danube";
+ interrupt-parent = <&icu0>;
+ interrupts = <96>;
+ };
+
+ pci0: pci@E105400 {
+ status = "disabled";
+
+ #address-cells = <3>;
+ #size-cells = <2>;
+ #interrupt-cells = <1>;
+ compatible = "lantiq,pci-xway";
+ bus-range = <0x0 0x0>;
+ ranges = <0x2000000 0 0x8000000 0x8000000 0 0x2000000 /* pci memory */
+ 0x1000000 0 0x00000000 0xAE00000 0 0x200000>; /* io space */
+ reg = <0x7000000 0x8000 /* config space */
+ 0xE105400 0x400>; /* pci bridge */
+ lantiq,bus-clock = <33333333>;
+ interrupt-map-mask = <0xf800 0x0 0x0 0x7>;
+ interrupt-map = <0x7000 0 0 1 &icu0 30 1>;
+ req-mask = <0x1>;
+ };
+ };
+
+ adsl {
+ compatible = "lantiq,adsl-danube";
+ };
+};
diff --git a/target/linux/lantiq/dts/falcon.dtsi b/target/linux/lantiq/dts/falcon.dtsi
new file mode 100644
index 0000000000..ec1b450bad
--- /dev/null
+++ b/target/linux/lantiq/dts/falcon.dtsi
@@ -0,0 +1,201 @@
+/ {
+ #address-cells = <1>;
+ #size-cells = <1>;
+ compatible = "lantiq,falcon";
+
+ cpus {
+ cpu@0 {
+ compatible = "mips,mips34kc";
+ };
+ };
+
+ localbus@10000000 {
+ #address-cells = <1>;
+ #size-cells = <1>;
+ compatible = "lantiq,localbus", "simple-bus";
+ reg = <0x10000000 0xC000000>;
+ ranges = <0x0 0x10000000 0xC000000>;
+ };
+
+ 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>;
+
+ sysgpe@700000 {
+ compatible = "lantiq,sysgpe-falcon";
+ reg = <0x700000 0x100>;
+ };
+
+ gpio0: gpio@810000 {
+ #gpio-cells = <2>;
+ compatible = "lantiq,gpio-falcon";
+ gpio-controller;
+ interrupt-parent = <&icu0>;
+ interrupts = <44>;
+ reg = <0x810000 0x80>;
+ lantiq,bank = <0>;
+ };
+
+ gpio2: gpio@810100 {
+ #gpio-cells = <2>;
+ compatible = "lantiq,gpio-falcon";
+ gpio-controller;
+ interrupt-parent = <&icu0>;
+ interrupts = <46>;
+ reg = <0x810100 0x80>;
+ lantiq,bank = <2>;
+ };
+
+ syseth@B00000 {
+ compatible = "lantiq,syseth-falcon";
+ reg = <0xB00000 0x100>;
+ };
+
+ pad@B01000 {
+ compatible = "lantiq,pad-falcon";
+ reg = <0xB01000 0x100>;
+ lantiq,bank = <0>;
+ };
+
+ pad@B02000 {
+ compatible = "lantiq,pad-falcon";
+ reg = <0xB02000 0x100>;
+ lantiq,bank = <2>;
+ };
+ };
+
+ fpi@1E000000 {
+ #address-cells = <1>;
+ #size-cells = <1>;
+ compatible = "lantiq,fpi", "simple-bus";
+ reg = <0x1E000000 0x1000000>;
+ ranges = <0x0 0x1E000000 0x1000000>;
+
+ serial@100B00 {
+ status = "disabled";
+ compatible = "lantiq,asc";
+ reg = <0x100B00 0x100>;
+ interrupt-parent = <&icu0>;
+ interrupts = <104 105 106>;
+ line = <1>;
+ };
+
+ serial@100C00 {
+ compatible = "lantiq,asc";
+ reg = <0x100C00 0x100>;
+ interrupt-parent = <&icu0>;
+ interrupts = <104 105 106>;
+ line = <0>;
+ };
+
+ i2c@200000 {
+ compatible = "lantiq,lantiq-i2c";
+ reg = <0x200000 0x10000>;
+ interrupt-parent = <&icu0>;
+ interrupts = <18 19 20 21>;
+ gpios = <&gpio1 7 0 &gpio1 8 0>;
+ };
+
+ gpio1: gpio@800100 {
+ #gpio-cells = <2>;
+ compatible = "lantiq,gpio-falcon";
+ gpio-controller;
+ interrupt-parent = <&icu0>;
+ interrupts = <45>;
+ reg = <0x800100 0x100>;
+ lantiq,bank = <1>;
+ };
+
+ gpio3: gpio@800200 {
+ status = "disabled";
+ #gpio-cells = <2>;
+ compatible = "lantiq,gpio-falcon";
+ gpio-controller;
+ interrupt-parent = <&icu0>;
+ interrupts = <47>;
+ reg = <0x800200 0x100>;
+ lantiq,bank = <3>;
+ };
+
+ gpio4: gpio@800300 {
+ status = "disabled";
+ #gpio-cells = <2>;
+ compatible = "lantiq,gpio-falcon";
+ gpio-controller;
+ interrupt-parent = <&icu0>;
+ interrupts = <48>;
+ reg = <0x800300 0x100>;
+ lantiq,bank = <4>;
+ };
+
+ pad@800400 {
+ compatible = "lantiq,pad-falcon";
+ reg = <0x800400 0x100>;
+ lantiq,bank = <1>;
+ };
+
+ pad@800500 {
+ status = "disabled";
+ compatible = "lantiq,pad-falcon";
+ reg = <0x800500 0x100>;
+ bank = <3>;
+ };
+
+ pad4@800600 {
+ status = "disabled";
+ compatible = "lantiq,pad-falcon";
+ reg = <0x800600 0x100>;
+ bank = <4>;
+ };
+
+ status@802000 {
+ compatible = "lantiq,status-falcon";
+ reg = <0x802000 0x80>;
+ };
+
+ sys1@F00000 {
+ compatible = "lantiq,sys1-falcon";
+ reg = <0xF00000 0x100>;
+ };
+ };
+
+ sbs0@1F000000 {
+
+ };
+
+ sbs1@1F700000 {
+
+ };
+
+ biu@1F800000 {
+ #address-cells = <1>;
+ #size-cells = <1>;
+ compatible = "lantiq,falcon";
+ 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>;
+ };
+ };
+};
diff --git a/target/linux/lantiq/dts/vr9.dtsi b/target/linux/lantiq/dts/vr9.dtsi
new file mode 100644
index 0000000000..c7a28d77aa
--- /dev/null
+++ b/target/linux/lantiq/dts/vr9.dtsi
@@ -0,0 +1,180 @@
+/ {
+ #address-cells = <1>;
+ #size-cells = <1>;
+ compatible = "lantiq,xway", "lantiq,vr9";
+
+ cpus {
+ cpu@0 {
+ compatible = "mips,mips34Kc";
+ };
+ };
+
+ 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>;
+ interrupts = <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>;
+ };
+
+ rcu0: rcu@203000 {
+ compatible = "lantiq,rcu-xrx200";
+ reg = <0x203000 0x1000>;
+ /* irq for thermal sensor */
+ interrupt-parent = <&icu0>;
+ interrupts = <115>;
+ };
+ };
+
+ fpi@10000000 {
+ #address-cells = <1>;
+ #size-cells = <1>;
+ compatible = "lantiq,fpi", "simple-bus";
+ ranges = <0x0 0x10000000 0xEEFFFFF>;
+ reg = <0x10000000 0xEF00000>;
+
+ localbus@0 {
+ #address-cells = <2>;
+ #size-cells = <1>;
+ ranges = <0 0 0x0 0x3ffffff /* addrsel0 */
+ 1 0 0x4000000 0x4000010>; /* addsel1 */
+ compatible = "lantiq,localbus", "simple-bus";
+ };
+
+ gptu@E100A00 {
+ compatible = "lantiq,gptu-xway";
+ reg = <0xE100A00 0x100>;
+ interrupt-parent = <&icu0>;
+ interrupts = <126 127 128 129 130 131>;
+ };
+
+ asc0: serial@E100400 {
+ compatible = "lantiq,asc";
+ reg = <0xE100400 0x400>;
+ interrupt-parent = <&icu0>;
+ interrupts = <104 105 106>;
+ status = "disabled";
+ };
+
+ gpio: pinmux@E100B10 {
+ compatible = "lantiq,pinctrl-xr9";
+ #gpio-cells = <2>;
+ gpio-controller;
+ reg = <0xE100B10 0xA0>;
+ };
+
+ asc1: serial@E100C00 {
+ compatible = "lantiq,asc";
+ reg = <0xE100C00 0x400>;
+ interrupt-parent = <&icu0>;
+ interrupts = <112 113 114>;
+ };
+
+ deu@E103100 {
+ compatible = "lantiq,deu-xrx200";
+ reg = <0xE103100 0xf00>;
+ };
+
+ dma0: dma@E104100 {
+ compatible = "lantiq,dma-xway";
+ reg = <0xE104100 0x800>;
+ };
+
+ ebu0: ebu@E105300 {
+ compatible = "lantiq,ebu-xway";
+ reg = <0xE105300 0x100>;
+ };
+
+ ifxhcd@E101000 {
+ status = "disabled";
+ compatible = "lantiq,ifxhcd-xrx200";
+ reg = <0xE101000 0x1000
+ 0xE120000 0x3f000>;
+ interrupt-parent = <&icu0>;
+ interrupts = <62 91>;
+ };
+
+ mei@E116000 {
+ compatible = "lantiq,mei-xrx200";
+ interrupt-parent = <&icu0>;
+ interrupts = <63>;
+ };
+
+ ppe@E234000 {
+ compatible = "lantiq,ppe-xrx200";
+ interrupt-parent = <&icu0>;
+ interrupts = <96>;
+ };
+
+ pcie@d900000 {
+ interrupt-parent = <&icu0>;
+ interrupts = <161 144>;
+ compatible = "lantiq,pcie-xrx200";
+ };
+
+ pci0: pci@E105400 {
+ #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 */
+ status = "disabled";
+ };
+
+ };
+
+ vdsl {
+ compatible = "lantiq,vdsl-vrx200";
+ };
+};