--- /dev/null
+--- a/arch/arm/boot/dts/Makefile
++++ b/arch/arm/boot/dts/Makefile
+@@ -90,6 +90,7 @@ dtb-$(CONFIG_ARCH_KIRKWOOD) += kirkwood-
+ kirkwood-dns325.dtb \
+ kirkwood-dockstar.dtb \
+ kirkwood-dreamplug.dtb \
++ kirkwood-ea3500.dtb \
+ kirkwood-ea4500.dtb \
+ kirkwood-goflexnet.dtb \
+ kirkwood-guruplug-server-plus.dtb \
+--- /dev/null
++++ b/arch/arm/boot/dts/kirkwood-ea3500.dts
+@@ -0,0 +1,149 @@
++/*
++ * kirkwood-ea3500.dts - Device Tree file for Linksys EA3500
++ *
++ * (c) 2013 Jonas Gorski <jogo@openwrt.org>
++ * (c) 2013 Deutsche Telekom Innovation Laboratories
++ * (c) 2014 Luka Perkov <luka@openwrt.org>
++ * (c) 2014 Dan Walters <dan@walters.io>
++ *
++ * This file is licensed under the terms of the GNU General Public
++ * License version 2. This program is licensed "as is" without any
++ * warranty of any kind, whether express or implied.
++ */
++
++/dts-v1/;
++
++#include "kirkwood.dtsi"
++#include "kirkwood-6282.dtsi"
++
++/ {
++ model = "Linksys EA3500";
++ compatible = "linksys,ea3500", "marvell,kirkwood-88f6282", "marvell,kirkwood";
++
++ memory {
++ device_type = "memory";
++ reg = <0x00000000 0x4000000>;
++ };
++
++ chosen {
++ bootargs = "console=ttyS0,115200n8 earlyprintk";
++ };
++
++ mbus {
++ pcie-controller {
++ status = "okay";
++
++ pcie@1,0 {
++ status = "okay";
++ };
++
++ pcie@2,0 {
++ status = "okay";
++ };
++ };
++ };
++
++ ocp@f1000000 {
++ pinctrl: pinctrl@10000 {
++ pmx_led_green_power: pmx-led-green-power {
++ marvell,pins = "mpp7";
++ marvell,function = "gpo";
++ };
++ pmx_btn_wps: pmx-btn-wps {
++ marvell,pins = "mpp47";
++ marvell,function = "gpio";
++ };
++ pmx_btn_reset: pmx-btn-reset {
++ marvell,pins = "mpp48";
++ marvell,function = "gpio";
++ };
++ };
++
++ rtc@10300 {
++ status = "disabled";
++ };
++
++ serial@12000 {
++ status = "okay";
++ };
++
++ };
++
++ gpio_keys {
++ compatible = "gpio-keys";
++ #address-cells = <1>;
++ #size-cells = <0>;
++ pinctrl-0 = < &pmx_btn_wps &pmx_btn_reset >;
++ pinctrl-names = "default";
++
++ button@15 {
++ label = "WPS Button";
++ linux,code = <KEY_WPS_BUTTON>;
++ gpios = <&gpio1 15 GPIO_ACTIVE_LOW>;
++ };
++
++ button@16 {
++ label = "Reset Button";
++ linux,code = <KEY_RESTART>;
++ gpios = <&gpio1 16 GPIO_ACTIVE_LOW>;
++ };
++ };
++
++ gpio-leds {
++ compatible = "gpio-leds";
++ pinctrl-0 = < &pmx_led_green_power >;
++ pinctrl-names = "default";
++
++ green-power {
++ label = "ea3500:green:power";
++ gpios = <&gpio0 7 GPIO_ACTIVE_HIGH>;
++ };
++ };
++};
++
++&nand {
++ status = "okay";
++ pinctrl-0 = <&pmx_nand>;
++ pinctrl-names = "default";
++
++ partition@0 {
++ label = "u-boot";
++ reg = <0x0000000 0x80000>;
++ read-only;
++ };
++
++ partition@80000 {
++ label = "u-boot environment";
++ reg = <0x80000 0x20000>;
++ };
++
++ partition@200000 {
++ label = "kernel";
++ reg = <0x200000 0x200000>;
++ };
++
++ partition@400000 {
++ label = "root";
++ reg = <0x400000 0x1200000>;
++ };
++};
++
++&mdio {
++ status = "okay";
++};
++
++ð0 {
++ status = "okay";
++ ethernet0-port@0 {
++ speed = <1000>;
++ duplex = <1>;
++ };
++};
++
++ð1 {
++ status = "okay";
++ ethernet1-port@0 {
++ speed = <1000>;
++ duplex = <1>;
++ };
++};