From a9ad36b7f1da67dfefcaf9ecb07b8507b3c3a23a Mon Sep 17 00:00:00 2001
From: John Crispin <john@openwrt.org>
Date: Fri, 2 Nov 2012 20:07:47 +0000
Subject: [PATCH] adds dts files and make devicetree images buildable

SVN-Revision: 34064
---
 target/linux/lantiq/image/ARV7525PW.dts      | 159 ++++++++++
 target/linux/lantiq/image/DGN1000B.dts       | 157 +++++++++
 target/linux/lantiq/image/EASY50712.dts      | 113 +++++++
 target/linux/lantiq/image/EASY80920-NAND.dts |  35 ++
 target/linux/lantiq/image/EASY80920-NOR.dts  |  34 ++
 target/linux/lantiq/image/EASY80920.dtsi     | 318 +++++++++++++++++++
 target/linux/lantiq/image/Makefile           |  24 +-
 target/linux/lantiq/image/amazonse.dtsi      | 107 +++++++
 target/linux/lantiq/image/danube.dtsi        | 111 +++++++
 target/linux/lantiq/image/vr9.dtsi           | 115 +++++++
 10 files changed, 1164 insertions(+), 9 deletions(-)
 create mode 100644 target/linux/lantiq/image/ARV7525PW.dts
 create mode 100644 target/linux/lantiq/image/DGN1000B.dts
 create mode 100644 target/linux/lantiq/image/EASY50712.dts
 create mode 100644 target/linux/lantiq/image/EASY80920-NAND.dts
 create mode 100644 target/linux/lantiq/image/EASY80920-NOR.dts
 create mode 100644 target/linux/lantiq/image/EASY80920.dtsi
 create mode 100644 target/linux/lantiq/image/amazonse.dtsi
 create mode 100644 target/linux/lantiq/image/danube.dtsi
 create mode 100644 target/linux/lantiq/image/vr9.dtsi

diff --git a/target/linux/lantiq/image/ARV7525PW.dts b/target/linux/lantiq/image/ARV7525PW.dts
new file mode 100644
index 00000000000..1d47927c206
--- /dev/null
+++ b/target/linux/lantiq/image/ARV7525PW.dts
@@ -0,0 +1,159 @@
+/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 0x3c0000>;
+				};
+
+				partition@400000 {
+					label = "boardconfig";
+					reg = <0x3f0000 0x10000>;
+				};
+			};
+		};
+
+		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 {
+				exin {
+					lantiq,groups = "exin1";
+					lantiq,function = "exin";
+				};
+				pci {
+					lantiq,groups = "gnt1", "req1";
+					lantiq,function = "pci";
+				};
+			};
+		};
+
+		adsl: dsl@E116000 {
+			compatible = "lantiq,dsl-xway";
+			interrupt-parent = <&icu0>;
+			interrupts = <63 96>;
+		};
+		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 ];
+		};
+
+		pci@E105400 {
+			lantiq,bus-clock = <33333333>;
+			interrupt-map-mask = <0xf800 0x0 0x0 0x7>;
+			interrupt-map = <
+                                0x7000 0 0 1 &icu0 30 1 // slot 14, irq 29
+			>;
+			gpios-reset = <&gpio 21 0>;
+			req-mask = <0x1>;		/* GNT1 */
+		};
+
+	};
+
+	sflash@E100800 {
+		compatible = "lantiq,sflash_at45";
+		reg = <0xE100800 0x100>;
+		#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 0x1d0000>;
+		};
+	};
+
+	gpio-keys {
+		compatible = "gpio-keys1";
+		reset {
+			label = "Reset";
+			gpios = <&gpio 29 1>;
+			gpio-key,wakeup;
+			linux,code = <0x100>;
+		};
+	};
+	gpio-leds {
+		compatible = "gpio-leds";
+		festnetz {
+			label = "Festnetz";
+			gpios = <&gpio 4 1>;
+			default-state = "on";
+		};
+		internet {
+			label = "Internet";
+			gpios = <&gpio 5 1>;
+			default-state = "on";
+		};
+		wlan {
+			label = "WLan";
+			gpios = <&gpio 6 1>;
+			default-state = "on";
+		};
+		online {
+			label = "Online";
+			gpios = <&gpio 8 1>;
+			default-state = "on";
+		};
+		dsl {
+			label = "DSL";
+			gpios = <&gpio 9 1>;
+			default-state = "on";
+		};
+	};
+};
diff --git a/target/linux/lantiq/image/DGN1000B.dts b/target/linux/lantiq/image/DGN1000B.dts
new file mode 100644
index 00000000000..9fac104b2f2
--- /dev/null
+++ b/target/linux/lantiq/image/DGN1000B.dts
@@ -0,0 +1,157 @@
+/dts-v1/;
+
+/include/ "amazonse.dtsi"
+
+/ {
+	chosen {
+		bootargs = "console=ttyLTQ0,115200 init=/etc/preinit";
+	};
+
+	memory@0 {
+		reg = <0x0 0x1000000>;
+	};
+
+	fpi@10000000 {
+		#address-cells = <1>;
+		#size-cells = <1>;
+
+		gpio: pinmux@E100B10 {
+			compatible = "lantiq,pinctrl-ase";
+			pinctrl-names = "default";
+			pinctrl-0 = <&state_default>;
+
+			#gpio-cells = <2>;
+			gpio-controller;
+			reg = <0xE100B10 0xA0>;
+
+			state_default: pinmux {
+				spi {
+					lantiq,groups = "spi", "spi_cs1";
+					lantiq,function = "spi";
+				};
+				asc {
+					lantiq,groups = "asc";
+					lantiq,function = "asc";
+				};
+				exin {
+					lantiq,groups = "exin1", "exin2";
+					lantiq,function = "exin";
+				};
+				conf_in {
+					lantiq,pins = "io0", "io29"; /* nand rdy */
+					lantiq,pull = <2>;
+				};
+			};
+		};
+
+		adsl: dsl@E116000 {
+			compatible = "lantiq,dsl-xway";
+			interrupt-parent = <&icu0>;
+			interrupts = <63 96>;
+		};
+
+		etop@E180000 {
+			compatible = "lantiq,etop-xway";
+			reg = <0xE180000 0x40000>;
+			interrupt-parent = <&icu0>;
+			interrupts = <105 109>;
+			phy-mode = "ephy";
+			mac-address = [ 00 11 22 33 44 55 ];
+		};
+
+		spi@E100800 {
+			compatible = "lantiq,spi-xway";
+			reg = <0xE100800 0x100>;
+			interrupt-parent = <&icu0>;
+			interrupts = <24 25 26>;
+			#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 = <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";
+				};
+			};
+		};
+	};
+	
+	/* missing button on <&gpio 25 0> */
+/*	gpio-keys {
+		compatible = "gpio-keys";
+		interrupt-parent = <&icu0>;
+		interrupts = <30 31>;
+		reset {
+			label = "Reset";
+			gpios = <&gpio 0 0>;
+			gpio-key,wakeup;
+			linux,code = <0x100>;
+		};
+		wps {
+			label = "WPS";
+			gpios = <&gpio 29 1>;
+			gpio-key,wakeup;
+			linux,code = <0x100>;
+		};
+	};
+*/
+	gpio-leds {
+		compatible = "gpio-leds";
+		festnetz {
+			label = "DSL";
+			gpios = <&gpio 1 1>;
+			default-state = "on";
+		};
+		internet1 {
+			label = "Internet1";
+			gpios = <&gpio 2 1>;
+			default-state = "on";
+		};
+		internet2 {
+			label = "Internet2";
+			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/image/EASY50712.dts b/target/linux/lantiq/image/EASY50712.dts
new file mode 100644
index 00000000000..68c17310bc8
--- /dev/null
+++ b/target/linux/lantiq/image/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/image/EASY80920-NAND.dts b/target/linux/lantiq/image/EASY80920-NAND.dts
new file mode 100644
index 00000000000..afa21572479
--- /dev/null
+++ b/target/linux/lantiq/image/EASY80920-NAND.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/image/EASY80920-NOR.dts b/target/linux/lantiq/image/EASY80920-NOR.dts
new file mode 100644
index 00000000000..94f4cc1ec54
--- /dev/null
+++ b/target/linux/lantiq/image/EASY80920-NOR.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/image/EASY80920.dtsi b/target/linux/lantiq/image/EASY80920.dtsi
new file mode 100644
index 00000000000..332df3d1475
--- /dev/null
+++ b/target/linux/lantiq/image/EASY80920.dtsi
@@ -0,0 +1,318 @@
+/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";
+			
+		};
+
+		sflash@E100800 {
+			compatible = "lantiq,sflash";
+			reg = <0xE100800 0x100>;
+			#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 0x1d0000>;
+			};
+		};
+
+		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 {
+				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";
+				};
+				exin {
+					lantiq,groups = "exin3";
+					lantiq,function = "exin";
+				};
+				conf_out {
+					lantiq,pins = "io24", "io13", "io49", /* nand cle, ale and rd */
+							"io4", "io5", "io6", /* stp */
+							"io17", "io18", /* spi dout & clk */
+							"io21", /* pci-rst */
+							"io38"; /* pcie-rst */
+					lantiq,open-drain;
+					lantiq,pull = <0>;
+				};
+				conf_in {
+					lantiq,pins = "io39", /* exin3 */
+							"io48"; /* nand rdy */
+					lantiq,pull = <2>;
+				};
+			};
+		};
+
+		eth@0xE108000 {
+			#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>;
+				};
+				ethernet@4 {
+					compatible = "lantiq,xrx200-pdi-port";
+					reg = <4>;
+					phynmode0 = "gmii";
+					phy-handle = <&phy13>;
+				};
+			};
+
+			wan: interface@1 {
+				compatible = "lantiq,xrx200-pdi";
+				#address-cells = <1>;
+				#size-cells = <0>;
+				reg = <1>;
+				mac-address = [ 00 11 22 33 44 56 ];
+
+				ethernet@5 {
+					compatible = "lantiq,xrx200-pdi-port";
+					reg = <5>;
+					phy-mode = "rgmii";
+					phy-handle = <&phy5>;
+				};
+			};
+
+			mdio@0 {
+				#address-cells = <1>;
+				#size-cells = <0>;
+				compatible = "lantiq,xrx200-mdio";
+				phy0: ethernet-phy@0 {
+					reg = <0x0>;
+					compatible = "lantiq,phy11g", "ethernet-phy-ieee802.3-c22";
+					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; */
+		};
+		
+		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 */
+			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 */
+		};
+	};
+
+	ifxhcd {
+		compatible = "lantiq,ifxhcd";
+		interrupt-parent = <&icu0>;
+		interrupts = <62 91>;
+	};
+
+	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 0>;
+			linux,code = <0x100>;
+		};
+		paging {
+			label = "paging";
+			gpios = <&gpio 11 1>;
+			linux,code = <0x100>;
+		};
+	};
+
+/*	gpio-keys {
+		compatible = "gpio-keys";
+		wps {
+			gpios = <&gpio 39 0>;
+			linux,code = <0x100>;
+		};
+	};*/
+
+	gpio-leds {
+		compatible = "gpio-leds";
+		
+		led0 {
+			label = "led0";
+			gpios = <&stp 9 0>;
+			default-state = "on";
+		};
+		warning {
+			label = "warning";
+			gpios = <&stp 22 0>;
+			default-state = "on";
+		};
+		fxs1 {
+			label = "fxs1";
+			gpios = <&stp 21 0>;
+			default-state = "on";
+		};
+		fxs2 {
+			label = "fxs2";
+			gpios = <&stp 20 0>;
+			default-state = "on";
+		};
+		fxo {
+			label = "fxo";
+			gpios = <&stp 19 0>;
+			default-state = "on";
+		};
+		usb1 {
+			label = "usb1";
+			gpios = <&stp 18 0>;
+			default-state = "on";
+		};
+		usb2 {
+			label = "usb2";
+			gpios = <&stp 15 0>;
+			default-state = "on";
+		};
+		sd {
+			label = "sd";
+			gpios = <&stp 14 0>;
+			default-state = "on";
+		};
+		wps {
+			label = "wps";
+			gpios = <&stp 12 0>;
+			default-state = "on";
+		};
+	};
+};
diff --git a/target/linux/lantiq/image/Makefile b/target/linux/lantiq/image/Makefile
index 96179a5bc17..de5365e676d 100644
--- a/target/linux/lantiq/image/Makefile
+++ b/target/linux/lantiq/image/Makefile
@@ -21,7 +21,12 @@ endef
 
 define PatchKernelLzma
 	cp $(KDIR)/vmlinux $(KDIR)/vmlinux-$(1)
+ifeq ($(CONFIG_LINUX_3_5),y)
+	$(LINUX_DIR)/scripts/dtc/dtc -O dtb -o $(KDIR)/$(1).dtb ./$(1).dts
+	$(STAGING_DIR_HOST)/bin/patch-dtb $(KDIR)/vmlinux-$(1) $(KDIR)/$(1).dtb
+else
 	$(STAGING_DIR_HOST)/bin/patch-cmdline $(KDIR)/vmlinux-$(1) '$(strip $(2))'
+endif
 	$(call CompressLzma,$(KDIR)/vmlinux-$(1),$(KDIR)/vmlinux-$(1).lzma)
 endef
 
@@ -190,17 +195,18 @@ endif
 
 ifeq ($(CONFIG_TARGET_lantiq_ase),y)
 
-Image/BuildKernel/Profile/EASY50601=$(call Image/BuildKernel/Template,EASY50601,$(ase_cmdline))
-Image/Build/Profile/EASY50601=$(call Image/Build/$(1),$(1),EASY50601)
+Image/BuildKernel/Profile/DGN1000B=$(call Image/BuildKernel/Template,DGN1000B)
+Image/Build/Profile/DGN1000B=$(call Image/Build/$(1),$(1),DGN1000B)
 
-define Image/BuildKernel/Profile/Generic
-	$(call Image/BuildKernel/Template,NONE)
-endef
+endif
+
+ifeq ($(CONFIG_TARGET_lantiq_xway),y)
+
+Image/BuildKernel/Profile/EASY80920-NAND=$(call Image/BuildKernel/Template,EASY80920-NAND)
+Image/Build/Profile/EASY80920-NAND=$(call Image/Build/$(1),$(1),EASY80920-NAND)
+Image/BuildKernel/Profile/EASY80920-NOR=$(call Image/BuildKernel/Template,EASY80920-NOR)
+Image/Build/Profile/EASY80920-NOR=$(call Image/Build/$(1),$(1),EASY80920-NOR)
 
-define Image/Build/Profile/Generic
-	$(call Image/Build/$(1),$(1),NONE)
-	$(CP) $(KDIR)/root.$(1) $(BIN_DIR)/$(IMG_PREFIX)-$(1).rootfs
-endef
 endif
 
 ifeq ($(CONFIG_TARGET_lantiq_vr9),y)
diff --git a/target/linux/lantiq/image/amazonse.dtsi b/target/linux/lantiq/image/amazonse.dtsi
new file mode 100644
index 00000000000..f8e6f594ed1
--- /dev/null
+++ b/target/linux/lantiq/image/amazonse.dtsi
@@ -0,0 +1,107 @@
+/ {
+	#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,wdt1";
+			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;
+			interrupt-parent;
+			compatible = "lantiq,eiu";
+			reg = <0x101000 0x1000>;
+			lantiq,count = <3>;
+		};
+
+		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>;
+
+		gptu@E100A00 {
+			compatible = "lantiq,gptu-xway";
+			reg = <0xE100A00 0x100>;
+			interrupt-parent = <&icu0>;
+                        interrupts = <97 98 99 100 101 102>;
+		};
+
+		serial@E100C00 {
+			compatible = "lantiq,asc";
+			reg = <0xE100C00 0x400>;
+			interrupt-parent = <&icu0>;
+			interrupts = <72 74 75>;
+		};
+
+		hcd@E101000 {
+			compatible = "lantiq,hcd";
+			reg = <0xE101000 0x100>;
+			interrupt-parent = <&icu0>;
+			interrupts = <39>;
+		};
+
+		dma0: dma@E104100 {
+			compatible = "lantiq,dma-xway";
+			reg = <0xE104100 0x800>;
+		};
+
+		ebu0: ebu@E105300 {
+			compatible = "lantiq,ebu-xway";
+			reg = <0xE105300 0x100>;
+		};
+	};
+};
diff --git a/target/linux/lantiq/image/danube.dtsi b/target/linux/lantiq/image/danube.dtsi
new file mode 100644
index 00000000000..9f0fae009ce
--- /dev/null
+++ b/target/linux/lantiq/image/danube.dtsi
@@ -0,0 +1,111 @@
+/ {
+	#address-cells = <1>;
+	#size-cells = <1>;
+	compatible = "lantiq,xway", "lantiq,danube";
+
+	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";
+		reg = <0x1F000000 0x800000>;
+		ranges = <0x0 0x1F000000 0x7FFFFF>;
+
+		eiu0: eiu@101000 {
+			#interrupt-cells = <1>;
+			interrupt-controller;
+			interrupt-parent;
+			compatible = "lantiq,eiu-xway";
+			reg = <0x101000 0x1000>;
+		};
+
+		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>;
+
+		gptu@E100A00 {
+			compatible = "lantiq,gptu-xway";
+			reg = <0xE100A00 0x100>;
+			interrupt-parent = <&icu0>;
+			interrupts = <126 127 128 129 130 131>;
+		};
+
+		serial@E100C00 {
+			compatible = "lantiq,asc";
+			reg = <0xE100C00 0x400>;
+			interrupt-parent = <&icu0>;
+			interrupts = <112 113 114>;
+		};
+
+		dma0: dma@E104100 {
+			compatible = "lantiq,dma-xway";
+			reg = <0xE104100 0x800>;
+		};
+
+		ebu0: ebu@E105300 {
+			compatible = "lantiq,ebu-xway";
+			reg = <0xE105300 0x100>;
+		};
+
+		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 */
+		};
+	};
+};
diff --git a/target/linux/lantiq/image/vr9.dtsi b/target/linux/lantiq/image/vr9.dtsi
new file mode 100644
index 00000000000..f82faad17a4
--- /dev/null
+++ b/target/linux/lantiq/image/vr9.dtsi
@@ -0,0 +1,115 @@
+/ {
+	#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";
+		reg = <0x1F000000 0x800000>;
+		ranges = <0x0 0x1F000000 0x7FFFFF>;
+
+		eiu0: eiu@101000 {
+			#interrupt-cells = <1>;
+			interrupt-controller;
+			interrupt-parent;
+			compatible = "lantiq,eiu-xway";
+			reg = <0x101000 0x1000>;
+		};
+
+		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>;
+			/* 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>;
+
+		gptu@E100A00 {
+			compatible = "lantiq,gptu-xway";
+			reg = <0xE100A00 0x100>;
+			interrupt-parent = <&icu0>;
+                        interrupts = <126 127 128 129 130 131>;
+		};
+
+		asc1: serial@E100C00 {
+			compatible = "lantiq,asc";
+			reg = <0xE100C00 0x400>;
+			interrupt-parent = <&icu0>;
+			interrupts = <112 113 114>;
+		};
+
+		dma0: dma@E104100 {
+			compatible = "lantiq,dma-xway";
+			reg = <0xE104100 0x800>;
+		};
+		
+		ebu0: ebu@E105300 {
+			compatible = "lantiq,ebu-xway";
+			reg = <0xE105300 0x100>;
+		};
+
+		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 */
+		};
+
+	};
+};
-- 
GitLab