[linux] 01/01: [armel] dts: Add various device-tree fixes and improvements for Buffalo Linkstation devices.

debian-kernel at lists.debian.org debian-kernel at lists.debian.org
Wed Feb 24 09:32:41 UTC 2016


This is an automated email from the git hooks/post-receive script.

rosh-guest pushed a commit to branch sid
in repository linux.

commit 54248be7f55d10c6fc95c11fc930557d972223ef
Author: Roger Shimizu <rogershimizu at gmail.com>
Date:   Wed Feb 24 18:30:56 2016 +0900

    [armel] dts: Add various device-tree fixes and improvements for Buffalo Linkstation devices.
---
 debian/changelog                                   |   2 +
 ...rkwood-add-for-buffalo-linkstation-ls-qvl.patch | 187 ++++
 ...-gpio-leds-fixes-for-linkstation-ls-wvl-v.patch |  66 ++
 ...-gpio-leds-fixes-for-linkstation-ls-wxl-w.patch |  51 ++
 ...-gpio-pin-fixes-for-linkstation-ls-wvl-vl.patch | 115 +++
 ...-gpio-pin-fixes-for-linkstation-ls-wxl-ws.patch | 139 +++
 ...-relicense-dts-of-ls-wvl-vl-and-ls-wxl-ws.patch | 117 +++
 ...-split-lswvl-dts-to-linkstation-lsvl-and-.patch | 787 ++++++++++++++++
 ...-split-lswxl-dts-to-linkstation-lswsxl-an.patch | 994 +++++++++++++++++++++
 ...orion5x-add-for-buffalo-linkstation-ls-gl.patch | 132 +++
 ...x-fix-missing-mtdflash-linkstation-lswtgl.patch |  58 ++
 ...n5x-gpio-pin-fixes-for-linkstation-lswtgl.patch |  59 ++
 ...split-linkstation-lswtgl-into-common-and-.patch | 710 +++++++++++++++
 debian/patches/series                              |  12 +
 14 files changed, 3429 insertions(+)

diff --git a/debian/changelog b/debian/changelog
index e85ef3d..c078729 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -3,6 +3,8 @@ linux (4.4.2-4) UNRELEASED; urgency=medium
   [ Roger Shimizu ]
   * [armhf] dts: imx6dlq-wandboard-revb1: use unique model id
     (Closes: #813881).
+  * [armel] dts: Add various device-tree fixes and improvements for
+    Buffalo Linkstation devices.
 
   [ Ben Hutchings ]
   * unix: correctly track in-flight fds in sending process user_struct
diff --git a/debian/patches/features/arm/device-tree/ARM-dts-kirkwood-add-for-buffalo-linkstation-ls-qvl.patch b/debian/patches/features/arm/device-tree/ARM-dts-kirkwood-add-for-buffalo-linkstation-ls-qvl.patch
new file mode 100644
index 0000000..c6b44d0
--- /dev/null
+++ b/debian/patches/features/arm/device-tree/ARM-dts-kirkwood-add-for-buffalo-linkstation-ls-qvl.patch
@@ -0,0 +1,187 @@
+From: Mario Lange <mario_lange at gmx.net>
+Date: Tue, 26 Jan 2016 01:44:10 +0900
+Subject: ARM: dts: kirkwood: add device tree for buffalo linkstation ls-qvl
+Origin: https://git.kernel.org/cgit/linux/kernel/git/next/linux-next.git/commit/?id=5dda254d0cc5cbdcc81dbce0985c35b68dd5e3b1
+
+Add dts file to support Buffalo Linkstation LS-QVL,
+which is marvell kirkwood based 4-bay 3.5" HDD NAS.
+Product info:
+  - (JPN) http://buffalo.jp/product/hdd/network/ls-qvl_r5/
+  - (ENG) http://www.buffalotech.com/products/network-storage/home-and-small-office/linkstation-pro-quad
+
+Signed-off-by: Mario Lange <mario_lange at gmx.net>
+Signed-off-by: Roger Shimizu <rogershimizu at gmail.com>
+Reviewed-by: Andrew Lunn <andrew at lunn.ch>
+Signed-off-by: Gregory CLEMENT <gregory.clement at free-electrons.com>
+---
+ .../devicetree/bindings/arm/marvell,kirkwood.txt   |   1 +
+ arch/arm/boot/dts/Makefile                         |   1 +
+ arch/arm/boot/dts/kirkwood-linkstation-lsqvl.dts   | 135 +++++++++++++++++++++
+ 3 files changed, 137 insertions(+)
+ create mode 100644 arch/arm/boot/dts/kirkwood-linkstation-lsqvl.dts
+
+diff --git a/Documentation/devicetree/bindings/arm/marvell,kirkwood.txt b/Documentation/devicetree/bindings/arm/marvell,kirkwood.txt
+index 0fc6faa4cddb..7d28fe4bf654 100644
+--- a/Documentation/devicetree/bindings/arm/marvell,kirkwood.txt
++++ b/Documentation/devicetree/bindings/arm/marvell,kirkwood.txt
+@@ -19,6 +19,7 @@ SoC. Currently known SoC compatibles are:
+ And in addition, the compatible shall be extended with the specific
+ board. Currently known boards are:
+ 
++"buffalo,linkstation-lsqvl"
+ "buffalo,linkstation-lsvl"
+ "buffalo,linkstation-lswsxl"
+ "buffalo,linkstation-lswxl"
+diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
+index 91833f905aef..30d316dc050f 100644
+--- a/arch/arm/boot/dts/Makefile
++++ b/arch/arm/boot/dts/Makefile
+@@ -189,6 +189,7 @@ dtb-$(CONFIG_MACH_KIRKWOOD) += \
+ 	kirkwood-is2.dtb \
+ 	kirkwood-km_kirkwood.dtb \
+ 	kirkwood-laplug.dtb \
++	kirkwood-linkstation-lsqvl.dtb \
+ 	kirkwood-linkstation-lsvl.dtb \
+ 	kirkwood-linkstation-lswsxl.dtb \
+ 	kirkwood-linkstation-lswvl.dtb \
+diff --git a/arch/arm/boot/dts/kirkwood-linkstation-lsqvl.dts b/arch/arm/boot/dts/kirkwood-linkstation-lsqvl.dts
+new file mode 100644
+index 000000000000..6dc0df2969f0
+--- /dev/null
++++ b/arch/arm/boot/dts/kirkwood-linkstation-lsqvl.dts
+@@ -0,0 +1,135 @@
++/*
++ * Device Tree file for Buffalo Linkstation LS-QVL
++ *
++ * Copyright (C) 2016, Mario Lange <mario_lange at gmx.net>
++ *
++ * Based on kirkwood-linkstation-lswvl.dts,
++ * Copyright (C) 2015, 2016
++ * Roger Shimizu <rogershimizu at gmail.com>
++ *
++ * This file is dual-licensed: you can use it either under the terms
++ * of the GPL or the X11 license, at your option. Note that this dual
++ * licensing only applies to this file, and not this project as a
++ * whole.
++ *
++ *  a) This file is free software; you can redistribute it and/or
++ *     modify it under the terms of the GNU General Public License as
++ *     published by the Free Software Foundation; either version 2 of the
++ *     License, or (at your option) any later version.
++ *
++ *     This file is distributed in the hope that it will be useful
++ *     but WITHOUT ANY WARRANTY; without even the implied warranty of
++ *     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
++ *     GNU General Public License for more details.
++ *
++ * Or, alternatively
++ *
++ *  b) Permission is hereby granted, free of charge, to any person
++ *     obtaining a copy of this software and associated documentation
++ *     files (the "Software"), to deal in the Software without
++ *     restriction, including without limitation the rights to use
++ *     copy, modify, merge, publish, distribute, sublicense, and/or
++ *     sell copies of the Software, and to permit persons to whom the
++ *     Software is furnished to do so, subject to the following
++ *     conditions:
++ *
++ *     The above copyright notice and this permission notice shall be
++ *     included in all copies or substantial portions of the Software.
++ *
++ *     THE SOFTWARE IS PROVIDED , WITHOUT WARRANTY OF ANY KIND
++ *     EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
++ *     OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
++ *     NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
++ *     HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY
++ *     WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
++ *     FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
++ *     OTHER DEALINGS IN THE SOFTWARE.
++ */
++
++/dts-v1/;
++#include "kirkwood-linkstation-6282.dtsi"
++
++/ {
++	model = "Buffalo Linkstation LS-QVL";
++	compatible = "buffalo,lsqvl", "marvell,kirkwood-88f6282", "marvell,kirkwood";
++
++	memory { /* 256 MB */
++		device_type = "memory";
++		reg = <0x00000000 0x10000000>;
++	};
++
++	ocp at f1000000 {
++		pinctrl: pin-controller at 10000 {
++			pmx_power_hdd1: pmx-power-hdd1 {
++				marvell,pins = "mpp9";
++				marvell,function = "gpio";
++			};
++			pmx_led_hdderr0: pmx-led-hdderr0 {
++				marvell,pins = "mpp34";
++				marvell,function = "gpio";
++			};
++			pmx_led_hdderr1: pmx-led-hdderr1 {
++				marvell,pins = "mpp35";
++				marvell,function = "gpio";
++			};
++			pmx_led_hdderr2: pmx-led-hdderr2 {
++				marvell,pins = "mpp24";
++				marvell,function = "gpio";
++			};
++			pmx_led_hdderr3: pmx-led-hdderr3 {
++				marvell,pins = "mpp25";
++				marvell,function = "gpio";
++			};
++		};
++
++		sata at 80000 {
++			nr-ports = <2>;
++		};
++	};
++
++	gpio_leds {
++		pinctrl-0 = <&pmx_led_function_red &pmx_led_alarm
++			     &pmx_led_info &pmx_led_power
++			     &pmx_led_function_blue
++			     &pmx_led_hdderr0
++			     &pmx_led_hdderr1
++			     &pmx_led_hdderr2
++			     &pmx_led_hdderr3>;
++
++		red-hdderr0-led {
++			label = "linkstation:red:hdderr0";
++			gpios = <&gpio1 2 GPIO_ACTIVE_LOW>;
++		};
++
++		red-hdderr1-led {
++			label = "linkstation:red:hdderr1";
++			gpios = <&gpio1 3 GPIO_ACTIVE_LOW>;
++		};
++
++		red-hdderr2-led {
++			label = "linkstation:red:hdderr2";
++			gpios = <&gpio0 24 GPIO_ACTIVE_LOW>;
++		};
++
++		red-hdderr3-led {
++			label = "linkstation:red:hdderr3";
++			gpios = <&gpio0 25 GPIO_ACTIVE_LOW>;
++		};
++	};
++
++	regulators {
++		pinctrl-0 = <&pmx_power_hdd0 &pmx_power_hdd1 &pmx_usb_vbus>;
++
++		hdd_power1: regulator at 3 {
++			compatible = "regulator-fixed";
++			reg = <3>;
++			regulator-name = "HDD1 Power";
++			regulator-min-microvolt = <5000000>;
++			regulator-max-microvolt = <5000000>;
++			enable-active-high;
++			regulator-always-on;
++			regulator-boot-on;
++			gpio = <&gpio0 9 GPIO_ACTIVE_HIGH>;
++		};
++	};
++};
diff --git a/debian/patches/features/arm/device-tree/ARM-dts-kirkwood-gpio-leds-fixes-for-linkstation-ls-wvl-v.patch b/debian/patches/features/arm/device-tree/ARM-dts-kirkwood-gpio-leds-fixes-for-linkstation-ls-wvl-v.patch
new file mode 100644
index 0000000..e4edab1
--- /dev/null
+++ b/debian/patches/features/arm/device-tree/ARM-dts-kirkwood-gpio-leds-fixes-for-linkstation-ls-wvl-v.patch
@@ -0,0 +1,66 @@
+From: Roger Shimizu <rogershimizu at gmail.com>
+Date: Thu, 21 Jan 2016 23:38:47 +0900
+Subject: ARM: dts: kirkwood: gpio-leds fixes for linkstation ls-wvl/vl
+Origin: https://git.kernel.org/linus/0418138e2ffd90f4a00b263593f2e199db87321d
+
+The GPIOs controlling the LEDs, listed below, are active high, not low:
+  - gpio-leds: "lswvl:red:alarm" pin
+  - gpio-leds: "lswvl:red:func" pin
+  - gpio-leds: "lswvl:amber:info" pin
+  - gpio-leds: "lswvl:blue:func" pin
+  - gpio-leds: "lswvl:red:hdderr{0,1}" pin
+
+Fixes: c43379e150aa ("ARM: dts: add buffalo linkstation ls-wvl/vl")
+Signed-off-by: Roger Shimizu <rogershimizu at gmail.com>
+Reviewed-by: Andrew Lunn <andrew at lunn.ch>
+Signed-off-by: Gregory CLEMENT <gregory.clement at free-electrons.com>
+---
+ arch/arm/boot/dts/kirkwood-lswvl.dts | 12 ++++++------
+ 1 file changed, 6 insertions(+), 6 deletions(-)
+
+diff --git a/arch/arm/boot/dts/kirkwood-lswvl.dts b/arch/arm/boot/dts/kirkwood-lswvl.dts
+index 28fd9abd7a57..36eec7392ab4 100644
+--- a/arch/arm/boot/dts/kirkwood-lswvl.dts
++++ b/arch/arm/boot/dts/kirkwood-lswvl.dts
+@@ -186,22 +186,22 @@
+ 
+ 		led at 1 {
+ 			label = "lswvl:red:alarm";
+-			gpios = <&gpio1 4 GPIO_ACTIVE_LOW>;
++			gpios = <&gpio1 4 GPIO_ACTIVE_HIGH>;
+ 		};
+ 
+ 		led at 2 {
+ 			label = "lswvl:red:func";
+-			gpios = <&gpio1 5 GPIO_ACTIVE_LOW>;
++			gpios = <&gpio1 5 GPIO_ACTIVE_HIGH>;
+ 		};
+ 
+ 		led at 3 {
+ 			label = "lswvl:amber:info";
+-			gpios = <&gpio1 6 GPIO_ACTIVE_LOW>;
++			gpios = <&gpio1 6 GPIO_ACTIVE_HIGH>;
+ 		};
+ 
+ 		led at 4 {
+ 			label = "lswvl:blue:func";
+-			gpios = <&gpio1 7 GPIO_ACTIVE_LOW>;
++			gpios = <&gpio1 7 GPIO_ACTIVE_HIGH>;
+ 		};
+ 
+ 		led at 5 {
+@@ -212,12 +212,12 @@
+ 
+ 		led at 6 {
+ 			label = "lswvl:red:hdderr0";
+-			gpios = <&gpio1 2 GPIO_ACTIVE_LOW>;
++			gpios = <&gpio1 2 GPIO_ACTIVE_HIGH>;
+ 		};
+ 
+ 		led at 7 {
+ 			label = "lswvl:red:hdderr1";
+-			gpios = <&gpio1 3 GPIO_ACTIVE_LOW>;
++			gpios = <&gpio1 3 GPIO_ACTIVE_HIGH>;
+ 		};
+ 	};
+ 
diff --git a/debian/patches/features/arm/device-tree/ARM-dts-kirkwood-gpio-leds-fixes-for-linkstation-ls-wxl-w.patch b/debian/patches/features/arm/device-tree/ARM-dts-kirkwood-gpio-leds-fixes-for-linkstation-ls-wxl-w.patch
new file mode 100644
index 0000000..9e044f7
--- /dev/null
+++ b/debian/patches/features/arm/device-tree/ARM-dts-kirkwood-gpio-leds-fixes-for-linkstation-ls-wxl-w.patch
@@ -0,0 +1,51 @@
+From: Roger Shimizu <rogershimizu at gmail.com>
+Date: Thu, 21 Jan 2016 23:38:46 +0900
+Subject: ARM: dts: kirkwood: gpio-leds fixes for linkstation ls-wxl/wsxl
+Origin: https://git.kernel.org/linus/e98bd707e39d52d8bef8622e6e7b0ab4bd0ed8d0
+
+The GPIOs controlling the LEDs, listed below, are active high, not low:
+  - gpio-leds: "lswxl:blue:power" pin
+  - gpio-leds: "lswxl:red:func" pin
+  - gpio-leds: "lswxl:red:hdderr{0,1}" pin
+
+Fixes: e54e4b1b622e ("ARM: dts: add buffalo linkstation ls-wxl/wsxl")
+Signed-off-by: Roger Shimizu <rogershimizu at gmail.com>
+Reviewed-by: Andrew Lunn <andrew at lunn.ch>
+Signed-off-by: Gregory CLEMENT <gregory.clement at free-electrons.com>
+---
+ arch/arm/boot/dts/kirkwood-lswxl.dts | 10 +++++-----
+ 1 file changed, 5 insertions(+), 5 deletions(-)
+
+diff --git a/arch/arm/boot/dts/kirkwood-lswxl.dts b/arch/arm/boot/dts/kirkwood-lswxl.dts
+index 0e93f6d19259..b13ec20a7088 100644
+--- a/arch/arm/boot/dts/kirkwood-lswxl.dts
++++ b/arch/arm/boot/dts/kirkwood-lswxl.dts
+@@ -201,23 +201,23 @@
+ 
+ 		led at 4 {
+ 			label = "lswxl:blue:power";
+-			gpios = <&gpio1 7 GPIO_ACTIVE_LOW>;
++			gpios = <&gpio1 7 GPIO_ACTIVE_HIGH>;
++			default-state = "keep";
+ 		};
+ 
+ 		led at 5 {
+ 			label = "lswxl:red:func";
+-			gpios = <&gpio1 2 GPIO_ACTIVE_LOW>;
+-			default-state = "keep";
++			gpios = <&gpio1 2 GPIO_ACTIVE_HIGH>;
+ 		};
+ 
+ 		led at 6 {
+ 			label = "lswxl:red:hdderr0";
+-			gpios = <&gpio0 8 GPIO_ACTIVE_LOW>;
++			gpios = <&gpio0 8 GPIO_ACTIVE_HIGH>;
+ 		};
+ 
+ 		led at 7 {
+ 			label = "lswxl:red:hdderr1";
+-			gpios = <&gpio1 14 GPIO_ACTIVE_LOW>;
++			gpios = <&gpio1 14 GPIO_ACTIVE_HIGH>;
+ 		};
+ 	};
+ 
diff --git a/debian/patches/features/arm/device-tree/ARM-dts-kirkwood-gpio-pin-fixes-for-linkstation-ls-wvl-vl.patch b/debian/patches/features/arm/device-tree/ARM-dts-kirkwood-gpio-pin-fixes-for-linkstation-ls-wvl-vl.patch
new file mode 100644
index 0000000..bb7ab85
--- /dev/null
+++ b/debian/patches/features/arm/device-tree/ARM-dts-kirkwood-gpio-pin-fixes-for-linkstation-ls-wvl-vl.patch
@@ -0,0 +1,115 @@
+From: Roger Shimizu <rogershimizu at gmail.com>
+Date: Thu, 21 Jan 2016 23:38:45 +0900
+Subject: ARM: dts: kirkwood: gpio pin fixes for linkstation ls-wvl/vl
+Origin: https://git.kernel.org/linus/6f86e9adc53b4c0a2a4283692216d119019f0b8d
+
+For kirkwood, gpio pins starts from 32 are in the 2nd bank, so it should be
+converted to "gpio1 <pin minus 32>" in dts file.
+e.g. gpio 40 should be "gpio1 8"
+
+The pin/bank issue was found when discussing Debian Bug #810894
+  [https://bugs.debian.org/810894#47]
+
+Fixes: c43379e150aa ("ARM: dts: add buffalo linkstation ls-wvl/vl")
+Reported-by: Arnaud Patard (Rtp) <arnaud.patard at rtp-net.org>
+Signed-off-by: Roger Shimizu <rogershimizu at gmail.com>
+Reviewed-by: Andrew Lunn <andrew at lunn.ch>
+Signed-off-by: Gregory CLEMENT <gregory.clement at free-electrons.com>
+---
+ arch/arm/boot/dts/kirkwood-lswvl.dts | 25 +++++++++++++------------
+ 1 file changed, 13 insertions(+), 12 deletions(-)
+
+diff --git a/arch/arm/boot/dts/kirkwood-lswvl.dts b/arch/arm/boot/dts/kirkwood-lswvl.dts
+index 09eed3cea0af..28fd9abd7a57 100644
+--- a/arch/arm/boot/dts/kirkwood-lswvl.dts
++++ b/arch/arm/boot/dts/kirkwood-lswvl.dts
+@@ -1,7 +1,8 @@
+ /*
+  * Device Tree file for Buffalo Linkstation LS-WVL/VL
+  *
+- * Copyright (C) 2015, rogershimizu at gmail.com
++ * Copyright (C) 2015, 2016
++ * Roger Shimizu <rogershimizu at gmail.com>
+  *
+  * This program is free software; you can redistribute it and/or
+  * modify it under the terms of the GNU General Public License
+@@ -156,21 +157,21 @@
+ 		button at 1 {
+ 			label = "Function Button";
+ 			linux,code = <KEY_OPTION>;
+-			gpios = <&gpio0 45 GPIO_ACTIVE_LOW>;
++			gpios = <&gpio1 13 GPIO_ACTIVE_LOW>;
+ 		};
+ 
+ 		button at 2 {
+ 			label = "Power-on Switch";
+ 			linux,code = <KEY_RESERVED>;
+ 			linux,input-type = <5>;
+-			gpios = <&gpio0 46 GPIO_ACTIVE_LOW>;
++			gpios = <&gpio1 14 GPIO_ACTIVE_LOW>;
+ 		};
+ 
+ 		button at 3 {
+ 			label = "Power-auto Switch";
+ 			linux,code = <KEY_ESC>;
+ 			linux,input-type = <5>;
+-			gpios = <&gpio0 47 GPIO_ACTIVE_LOW>;
++			gpios = <&gpio1 15 GPIO_ACTIVE_LOW>;
+ 		};
+ 	};
+ 
+@@ -185,38 +186,38 @@
+ 
+ 		led at 1 {
+ 			label = "lswvl:red:alarm";
+-			gpios = <&gpio0 36 GPIO_ACTIVE_LOW>;
++			gpios = <&gpio1 4 GPIO_ACTIVE_LOW>;
+ 		};
+ 
+ 		led at 2 {
+ 			label = "lswvl:red:func";
+-			gpios = <&gpio0 37 GPIO_ACTIVE_LOW>;
++			gpios = <&gpio1 5 GPIO_ACTIVE_LOW>;
+ 		};
+ 
+ 		led at 3 {
+ 			label = "lswvl:amber:info";
+-			gpios = <&gpio0 38 GPIO_ACTIVE_LOW>;
++			gpios = <&gpio1 6 GPIO_ACTIVE_LOW>;
+ 		};
+ 
+ 		led at 4 {
+ 			label = "lswvl:blue:func";
+-			gpios = <&gpio0 39 GPIO_ACTIVE_LOW>;
++			gpios = <&gpio1 7 GPIO_ACTIVE_LOW>;
+ 		};
+ 
+ 		led at 5 {
+ 			label = "lswvl:blue:power";
+-			gpios = <&gpio0 40 GPIO_ACTIVE_LOW>;
++			gpios = <&gpio1 8 GPIO_ACTIVE_LOW>;
+ 			default-state = "keep";
+ 		};
+ 
+ 		led at 6 {
+ 			label = "lswvl:red:hdderr0";
+-			gpios = <&gpio0 34 GPIO_ACTIVE_LOW>;
++			gpios = <&gpio1 2 GPIO_ACTIVE_LOW>;
+ 		};
+ 
+ 		led at 7 {
+ 			label = "lswvl:red:hdderr1";
+-			gpios = <&gpio0 35 GPIO_ACTIVE_LOW>;
++			gpios = <&gpio1 3 GPIO_ACTIVE_LOW>;
+ 		};
+ 	};
+ 
+@@ -233,7 +234,7 @@
+ 				3250 1
+ 				5000 0>;
+ 
+-		alarm-gpios = <&gpio0 43 GPIO_ACTIVE_HIGH>;
++		alarm-gpios = <&gpio1 11 GPIO_ACTIVE_HIGH>;
+ 	};
+ 
+ 	restart_poweroff {
diff --git a/debian/patches/features/arm/device-tree/ARM-dts-kirkwood-gpio-pin-fixes-for-linkstation-ls-wxl-ws.patch b/debian/patches/features/arm/device-tree/ARM-dts-kirkwood-gpio-pin-fixes-for-linkstation-ls-wxl-ws.patch
new file mode 100644
index 0000000..fcb6787
--- /dev/null
+++ b/debian/patches/features/arm/device-tree/ARM-dts-kirkwood-gpio-pin-fixes-for-linkstation-ls-wxl-ws.patch
@@ -0,0 +1,139 @@
+From: Roger Shimizu <rogershimizu at gmail.com>
+Date: Thu, 21 Jan 2016 23:38:44 +0900
+Subject: ARM: dts: kirkwood: gpio pin fixes for linkstation ls-wxl/wsxl
+Origin: https://git.kernel.org/linus/144e08abe80080c9c2cf0a06e40f1bc8150674eb
+
+For kirkwood, gpio pins starts from 32 are in the 2nd bank, so it should be
+converted to "gpio1 <pin minus 32>" in dts file.
+e.g. gpio 40 should be "gpio1 8"
+
+Besides, a few other pin fixes for ls-wxl/wsxl, to match with mpp pin
+definition:
+  - gpio-leds: "lswxl:blue:power" pin
+  - gpio-leds: "lswxl:red:func" pin
+  - gpio-leds: "lswxl:red:hdderr0" pin
+  - gpio-leds: "lswxl:red:hdderr1" pin
+  - gpio-fan:  low/high/alarm pin
+
+The pin/bank issue was found when discussing Debian Bug #810894
+  [https://bugs.debian.org/810894#47]
+
+Fixes: e54e4b1b622e ("ARM: dts: add buffalo linkstation ls-wxl/wsxl")
+Reported-by: Arnaud Patard (Rtp) <arnaud.patard at rtp-net.org>
+Signed-off-by: Roger Shimizu <rogershimizu at gmail.com>
+Reviewed-by: Andrew Lunn <andrew at lunn.ch>
+Signed-off-by: Gregory CLEMENT <gregory.clement at free-electrons.com>
+---
+ arch/arm/boot/dts/kirkwood-lswxl.dts | 29 +++++++++++++++--------------
+ 1 file changed, 15 insertions(+), 14 deletions(-)
+
+diff --git a/arch/arm/boot/dts/kirkwood-lswxl.dts b/arch/arm/boot/dts/kirkwood-lswxl.dts
+index f5db16a08597..0e93f6d19259 100644
+--- a/arch/arm/boot/dts/kirkwood-lswxl.dts
++++ b/arch/arm/boot/dts/kirkwood-lswxl.dts
+@@ -1,7 +1,8 @@
+ /*
+  * Device Tree file for Buffalo Linkstation LS-WXL/WSXL
+  *
+- * Copyright (C) 2015, rogershimizu at gmail.com
++ * Copyright (C) 2015, 2016
++ * Roger Shimizu <rogershimizu at gmail.com>
+  *
+  * This program is free software; you can redistribute it and/or
+  * modify it under the terms of the GNU General Public License
+@@ -156,21 +157,21 @@
+ 		button at 1 {
+ 			label = "Function Button";
+ 			linux,code = <KEY_OPTION>;
+-			gpios = <&gpio1 41 GPIO_ACTIVE_LOW>;
++			gpios = <&gpio1 9 GPIO_ACTIVE_LOW>;
+ 		};
+ 
+ 		button at 2 {
+ 			label = "Power-on Switch";
+ 			linux,code = <KEY_RESERVED>;
+ 			linux,input-type = <5>;
+-			gpios = <&gpio1 42 GPIO_ACTIVE_LOW>;
++			gpios = <&gpio1 10 GPIO_ACTIVE_LOW>;
+ 		};
+ 
+ 		button at 3 {
+ 			label = "Power-auto Switch";
+ 			linux,code = <KEY_ESC>;
+ 			linux,input-type = <5>;
+-			gpios = <&gpio1 43 GPIO_ACTIVE_LOW>;
++			gpios = <&gpio1 11 GPIO_ACTIVE_LOW>;
+ 		};
+ 	};
+ 
+@@ -185,12 +186,12 @@
+ 
+ 		led at 1 {
+ 			label = "lswxl:blue:func";
+-			gpios = <&gpio1 36 GPIO_ACTIVE_LOW>;
++			gpios = <&gpio1 4 GPIO_ACTIVE_LOW>;
+ 		};
+ 
+ 		led at 2 {
+ 			label = "lswxl:red:alarm";
+-			gpios = <&gpio1 49 GPIO_ACTIVE_LOW>;
++			gpios = <&gpio1 17 GPIO_ACTIVE_LOW>;
+ 		};
+ 
+ 		led at 3 {
+@@ -200,23 +201,23 @@
+ 
+ 		led at 4 {
+ 			label = "lswxl:blue:power";
+-			gpios = <&gpio1 8 GPIO_ACTIVE_LOW>;
++			gpios = <&gpio1 7 GPIO_ACTIVE_LOW>;
+ 		};
+ 
+ 		led at 5 {
+ 			label = "lswxl:red:func";
+-			gpios = <&gpio1 5 GPIO_ACTIVE_LOW>;
++			gpios = <&gpio1 2 GPIO_ACTIVE_LOW>;
+ 			default-state = "keep";
+ 		};
+ 
+ 		led at 6 {
+ 			label = "lswxl:red:hdderr0";
+-			gpios = <&gpio1 2 GPIO_ACTIVE_LOW>;
++			gpios = <&gpio0 8 GPIO_ACTIVE_LOW>;
+ 		};
+ 
+ 		led at 7 {
+ 			label = "lswxl:red:hdderr1";
+-			gpios = <&gpio1 3 GPIO_ACTIVE_LOW>;
++			gpios = <&gpio1 14 GPIO_ACTIVE_LOW>;
+ 		};
+ 	};
+ 
+@@ -225,15 +226,15 @@
+ 		pinctrl-0 = <&pmx_fan_low &pmx_fan_high &pmx_fan_lock>;
+ 		pinctrl-names = "default";
+ 
+-		gpios = <&gpio0 47 GPIO_ACTIVE_LOW
+-			 &gpio0 48 GPIO_ACTIVE_LOW>;
++		gpios = <&gpio1 16 GPIO_ACTIVE_LOW
++			 &gpio1 15 GPIO_ACTIVE_LOW>;
+ 
+ 		gpio-fan,speed-map = <0 3
+ 				1500 2
+ 				3250 1
+ 				5000 0>;
+ 
+-		alarm-gpios = <&gpio1 49 GPIO_ACTIVE_HIGH>;
++		alarm-gpios = <&gpio1 8 GPIO_ACTIVE_HIGH>;
+ 	};
+ 
+ 	restart_poweroff {
+@@ -256,7 +257,7 @@
+ 			enable-active-high;
+ 			regulator-always-on;
+ 			regulator-boot-on;
+-			gpio = <&gpio0 37 GPIO_ACTIVE_HIGH>;
++			gpio = <&gpio1 5 GPIO_ACTIVE_HIGH>;
+ 		};
+ 		hdd_power0: regulator at 2 {
+ 			compatible = "regulator-fixed";
diff --git a/debian/patches/features/arm/device-tree/ARM-dts-kirkwood-relicense-dts-of-ls-wvl-vl-and-ls-wxl-ws.patch b/debian/patches/features/arm/device-tree/ARM-dts-kirkwood-relicense-dts-of-ls-wvl-vl-and-ls-wxl-ws.patch
new file mode 100644
index 0000000..fdfdd63
--- /dev/null
+++ b/debian/patches/features/arm/device-tree/ARM-dts-kirkwood-relicense-dts-of-ls-wvl-vl-and-ls-wxl-ws.patch
@@ -0,0 +1,117 @@
+From: Roger Shimizu <rogershimizu at gmail.com>
+Date: Thu, 21 Jan 2016 23:38:48 +0900
+Subject: ARM: dts: kirkwood: relicense dts of ls-wvl/vl and ls-wxl/wsxl under GPLv2/X11
+Origin: https://git.kernel.org/cgit/linux/kernel/git/next/linux-next.git/commit/?id=3e2f2db885fb0cb16ae8949d4d2283f1ac272329
+
+Signed-off-by: Roger Shimizu <rogershimizu at gmail.com>
+Reviewed-by: Andrew Lunn <andrew at lunn.ch>
+Signed-off-by: Gregory CLEMENT <gregory.clement at free-electrons.com>
+---
+ arch/arm/boot/dts/kirkwood-lswvl.dts | 41 ++++++++++++++++++++++++++++++++----
+ arch/arm/boot/dts/kirkwood-lswxl.dts | 41 ++++++++++++++++++++++++++++++++----
+ 2 files changed, 74 insertions(+), 8 deletions(-)
+
+diff --git a/arch/arm/boot/dts/kirkwood-lswvl.dts b/arch/arm/boot/dts/kirkwood-lswvl.dts
+index 36eec7392ab4..04bdc4f19a9f 100644
+--- a/arch/arm/boot/dts/kirkwood-lswvl.dts
++++ b/arch/arm/boot/dts/kirkwood-lswvl.dts
+@@ -4,10 +4,43 @@
+  * Copyright (C) 2015, 2016
+  * Roger Shimizu <rogershimizu at gmail.com>
+  *
+- * This program is free software; you can redistribute it and/or
+- * modify it under the terms of the GNU General Public License
+- * as published by the Free Software Foundation; either version
+- * 2 of the License, or (at your option) any later version.
++ * This file is dual-licensed: you can use it either under the terms
++ * of the GPL or the X11 license, at your option. Note that this dual
++ * licensing only applies to this file, and not this project as a
++ * whole.
++ *
++ *  a) This file is free software; you can redistribute it and/or
++ *     modify it under the terms of the GNU General Public License as
++ *     published by the Free Software Foundation; either version 2 of the
++ *     License, or (at your option) any later version.
++ *
++ *     This file is distributed in the hope that it will be useful
++ *     but WITHOUT ANY WARRANTY; without even the implied warranty of
++ *     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
++ *     GNU General Public License for more details.
++ *
++ * Or, alternatively
++ *
++ *  b) Permission is hereby granted, free of charge, to any person
++ *     obtaining a copy of this software and associated documentation
++ *     files (the "Software"), to deal in the Software without
++ *     restriction, including without limitation the rights to use
++ *     copy, modify, merge, publish, distribute, sublicense, and/or
++ *     sell copies of the Software, and to permit persons to whom the
++ *     Software is furnished to do so, subject to the following
++ *     conditions:
++ *
++ *     The above copyright notice and this permission notice shall be
++ *     included in all copies or substantial portions of the Software.
++ *
++ *     THE SOFTWARE IS PROVIDED , WITHOUT WARRANTY OF ANY KIND
++ *     EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
++ *     OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
++ *     NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
++ *     HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY
++ *     WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
++ *     FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
++ *     OTHER DEALINGS IN THE SOFTWARE.
+  */
+ 
+ /dts-v1/;
+diff --git a/arch/arm/boot/dts/kirkwood-lswxl.dts b/arch/arm/boot/dts/kirkwood-lswxl.dts
+index b13ec20a7088..930899d13c5d 100644
+--- a/arch/arm/boot/dts/kirkwood-lswxl.dts
++++ b/arch/arm/boot/dts/kirkwood-lswxl.dts
+@@ -4,10 +4,43 @@
+  * Copyright (C) 2015, 2016
+  * Roger Shimizu <rogershimizu at gmail.com>
+  *
+- * This program is free software; you can redistribute it and/or
+- * modify it under the terms of the GNU General Public License
+- * as published by the Free Software Foundation; either version
+- * 2 of the License, or (at your option) any later version.
++ * This file is dual-licensed: you can use it either under the terms
++ * of the GPL or the X11 license, at your option. Note that this dual
++ * licensing only applies to this file, and not this project as a
++ * whole.
++ *
++ *  a) This file is free software; you can redistribute it and/or
++ *     modify it under the terms of the GNU General Public License as
++ *     published by the Free Software Foundation; either version 2 of the
++ *     License, or (at your option) any later version.
++ *
++ *     This file is distributed in the hope that it will be useful
++ *     but WITHOUT ANY WARRANTY; without even the implied warranty of
++ *     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
++ *     GNU General Public License for more details.
++ *
++ * Or, alternatively
++ *
++ *  b) Permission is hereby granted, free of charge, to any person
++ *     obtaining a copy of this software and associated documentation
++ *     files (the "Software"), to deal in the Software without
++ *     restriction, including without limitation the rights to use
++ *     copy, modify, merge, publish, distribute, sublicense, and/or
++ *     sell copies of the Software, and to permit persons to whom the
++ *     Software is furnished to do so, subject to the following
++ *     conditions:
++ *
++ *     The above copyright notice and this permission notice shall be
++ *     included in all copies or substantial portions of the Software.
++ *
++ *     THE SOFTWARE IS PROVIDED , WITHOUT WARRANTY OF ANY KIND
++ *     EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
++ *     OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
++ *     NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
++ *     HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY
++ *     WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
++ *     FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
++ *     OTHER DEALINGS IN THE SOFTWARE.
+  */
+ 
+ /dts-v1/;
diff --git a/debian/patches/features/arm/device-tree/ARM-dts-kirkwood-split-lswvl-dts-to-linkstation-lsvl-and-.patch b/debian/patches/features/arm/device-tree/ARM-dts-kirkwood-split-lswvl-dts-to-linkstation-lsvl-and-.patch
new file mode 100644
index 0000000..9fbc786
--- /dev/null
+++ b/debian/patches/features/arm/device-tree/ARM-dts-kirkwood-split-lswvl-dts-to-linkstation-lsvl-and-.patch
@@ -0,0 +1,787 @@
+From: Roger Shimizu <rogershimizu at gmail.com>
+Date: Thu, 21 Jan 2016 23:38:50 +0900
+Subject: ARM: dts: kirkwood: split lswvl dts to linkstation lsvl and lswvl
+Origin: https://git.kernel.org/cgit/linux/kernel/git/next/linux-next.git/commit/?id=60ff189ca05dedac97af8d9e51c285a44bc9e5a5
+
+LS-WVL/VL are both kirkwood-6282 based NAS devices, which share
+many MPP pins. However they are slightly different:
+  - LS-WVL is 2-Bay NAS, and LS-VL is only 1-Bay.
+  - There're two red LED indicator on LS-WVL to show when HDD fails,
+    which is similar to LS-WXL, but there's no such on LS-VL.
+
+So after the split, common part goes into .dtsi file:
+  - kirkwood-linkstation-6282.dtsi
+while all rest part goes into device specific .dts file:
+  - kirkwood-linkstation-lsvl.dts
+  - kirkwood-linkstation-lswvl.dts
+
+Signed-off-by: Roger Shimizu <rogershimizu at gmail.com>
+Reviewed-by: Andrew Lunn <andrew at lunn.ch>
+Signed-off-by: Gregory CLEMENT <gregory.clement at free-electrons.com>
+---
+ .../devicetree/bindings/arm/marvell,kirkwood.txt   |   3 +-
+ arch/arm/boot/dts/Makefile                         |   3 +-
+ arch/arm/boot/dts/kirkwood-linkstation-6282.dtsi   | 192 ++++++++++++
+ arch/arm/boot/dts/kirkwood-linkstation-lsvl.dts    |  57 ++++
+ arch/arm/boot/dts/kirkwood-linkstation-lswvl.dts   | 112 +++++++
+ arch/arm/boot/dts/kirkwood-lswvl.dts               | 335 ---------------------
+ 6 files changed, 365 insertions(+), 337 deletions(-)
+ create mode 100644 arch/arm/boot/dts/kirkwood-linkstation-6282.dtsi
+ create mode 100644 arch/arm/boot/dts/kirkwood-linkstation-lsvl.dts
+ create mode 100644 arch/arm/boot/dts/kirkwood-linkstation-lswvl.dts
+ delete mode 100644 arch/arm/boot/dts/kirkwood-lswvl.dts
+
+diff --git a/Documentation/devicetree/bindings/arm/marvell,kirkwood.txt b/Documentation/devicetree/bindings/arm/marvell,kirkwood.txt
+index f68bdec8e111..0fc6faa4cddb 100644
+--- a/Documentation/devicetree/bindings/arm/marvell,kirkwood.txt
++++ b/Documentation/devicetree/bindings/arm/marvell,kirkwood.txt
+@@ -19,10 +19,11 @@ SoC. Currently known SoC compatibles are:
+ And in addition, the compatible shall be extended with the specific
+ board. Currently known boards are:
+ 
++"buffalo,linkstation-lsvl"
+ "buffalo,linkstation-lswsxl"
+ "buffalo,linkstation-lswxl"
++"buffalo,linkstation-lswvl"
+ "buffalo,lschlv2"
+-"buffalo,lswvl"
+ "buffalo,lsxhl"
+ "buffalo,lsxl"
+ "dlink,dns-320"
+diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
+index 6771d0b5dc2a..91833f905aef 100644
+--- a/arch/arm/boot/dts/Makefile
++++ b/arch/arm/boot/dts/Makefile
+@@ -184,10 +184,11 @@ dtb-$(CONFIG_MACH_KIRKWOOD) += \
+ 	kirkwood-is2.dtb \
+ 	kirkwood-km_kirkwood.dtb \
+ 	kirkwood-laplug.dtb \
++	kirkwood-linkstation-lsvl.dtb \
+ 	kirkwood-linkstation-lswsxl.dtb \
++	kirkwood-linkstation-lswvl.dtb \
+ 	kirkwood-linkstation-lswxl.dtb \
+ 	kirkwood-lschlv2.dtb \
+-	kirkwood-lswvl.dtb \
+ 	kirkwood-lsxhl.dtb \
+ 	kirkwood-mplcec4.dtb \
+ 	kirkwood-mv88f6281gtw-ge.dtb \
+diff --git a/arch/arm/boot/dts/kirkwood-linkstation-6282.dtsi b/arch/arm/boot/dts/kirkwood-linkstation-6282.dtsi
+new file mode 100644
+index 000000000000..6548e68a20d0
+--- /dev/null
++++ b/arch/arm/boot/dts/kirkwood-linkstation-6282.dtsi
+@@ -0,0 +1,192 @@
++/*
++ * Device Tree common file for kirkwood-6282 based Buffalo Linkstation
++ *
++ * Copyright (C) 2015, 2016
++ * Roger Shimizu <rogershimizu at gmail.com>
++ *
++ * This file is dual-licensed: you can use it either under the terms
++ * of the GPL or the X11 license, at your option. Note that this dual
++ * licensing only applies to this file, and not this project as a
++ * whole.
++ *
++ *  a) This file is free software; you can redistribute it and/or
++ *     modify it under the terms of the GNU General Public License as
++ *     published by the Free Software Foundation; either version 2 of the
++ *     License, or (at your option) any later version.
++ *
++ *     This file is distributed in the hope that it will be useful
++ *     but WITHOUT ANY WARRANTY; without even the implied warranty of
++ *     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
++ *     GNU General Public License for more details.
++ *
++ * Or, alternatively
++ *
++ *  b) Permission is hereby granted, free of charge, to any person
++ *     obtaining a copy of this software and associated documentation
++ *     files (the "Software"), to deal in the Software without
++ *     restriction, including without limitation the rights to use
++ *     copy, modify, merge, publish, distribute, sublicense, and/or
++ *     sell copies of the Software, and to permit persons to whom the
++ *     Software is furnished to do so, subject to the following
++ *     conditions:
++ *
++ *     The above copyright notice and this permission notice shall be
++ *     included in all copies or substantial portions of the Software.
++ *
++ *     THE SOFTWARE IS PROVIDED , WITHOUT WARRANTY OF ANY KIND
++ *     EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
++ *     OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
++ *     NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
++ *     HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY
++ *     WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
++ *     FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
++ *     OTHER DEALINGS IN THE SOFTWARE.
++ */
++
++#include "kirkwood.dtsi"
++#include "kirkwood-6282.dtsi"
++#include "kirkwood-linkstation.dtsi"
++
++/ {
++	ocp at f1000000 {
++		pinctrl: pin-controller at 10000 {
++			pmx_power_hdd0: pmx-power-hdd0 {
++				marvell,pins = "mpp8";
++				marvell,function = "gpio";
++			};
++			pmx_usb_vbus: pmx-usb-vbus {
++				marvell,pins = "mpp12";
++				marvell,function = "gpio";
++			};
++			pmx_fan_high: pmx-fan-high {
++				marvell,pins = "mpp16";
++				marvell,function = "gpio";
++			};
++			pmx_fan_low: pmx-fan-low {
++				marvell,pins = "mpp17";
++				marvell,function = "gpio";
++			};
++			pmx_led_alarm: pmx-led-alarm {
++				marvell,pins = "mpp36";
++				marvell,function = "gpio";
++			};
++			pmx_led_function_red: pmx-led-function-red {
++				marvell,pins = "mpp37";
++				marvell,function = "gpio";
++			};
++			pmx_led_info: pmx-led-info {
++				marvell,pins = "mpp38";
++				marvell,function = "gpio";
++			};
++			pmx_led_function_blue: pmx-led-function-blue {
++				marvell,pins = "mpp39";
++				marvell,function = "gpio";
++			};
++			pmx_led_power: pmx-led-power {
++				marvell,pins = "mpp40";
++				marvell,function = "gpio";
++			};
++			pmx_fan_lock: pmx-fan-lock {
++				marvell,pins = "mpp43";
++				marvell,function = "gpio";
++			};
++			pmx_button_function: pmx-button-function {
++				marvell,pins = "mpp45";
++				marvell,function = "gpio";
++			};
++			pmx_power_switch: pmx-power-switch {
++				marvell,pins = "mpp46";
++				marvell,function = "gpio";
++			};
++			pmx_power_auto_switch: pmx-power-auto-switch {
++				marvell,pins = "mpp47";
++				marvell,function = "gpio";
++			};
++		};
++	};
++
++	gpio_keys {
++		function-button {
++			gpios = <&gpio1 13 GPIO_ACTIVE_LOW>;
++		};
++
++		power-on-switch {
++			gpios = <&gpio1 14 GPIO_ACTIVE_LOW>;
++		};
++
++		power-auto-switch {
++			gpios = <&gpio1 15 GPIO_ACTIVE_LOW>;
++		};
++	};
++
++	gpio_leds {
++		red-alarm-led {
++			label = "linkstation:red:alarm";
++			gpios = <&gpio1 4 GPIO_ACTIVE_HIGH>;
++		};
++
++		red-function-led {
++			label = "linkstation:red:function";
++			gpios = <&gpio1 5 GPIO_ACTIVE_HIGH>;
++		};
++
++		amber-info-led {
++			label = "linkstation:amber:info";
++			gpios = <&gpio1 6 GPIO_ACTIVE_HIGH>;
++		};
++
++		blue-function-led {
++			label = "linkstation:blue:function";
++			gpios = <&gpio1 7 GPIO_ACTIVE_HIGH>;
++		};
++
++		blue-power-led {
++			label = "linkstation:blue:power";
++			gpios = <&gpio1 8 GPIO_ACTIVE_LOW>;
++			default-state = "keep";
++		};
++	};
++
++	gpio_fan {
++		compatible = "gpio-fan";
++		pinctrl-0 = <&pmx_fan_low &pmx_fan_high &pmx_fan_lock>;
++		pinctrl-names = "default";
++
++		gpios = <&gpio0 17 GPIO_ACTIVE_LOW
++			 &gpio0 16 GPIO_ACTIVE_LOW>;
++
++		gpio-fan,speed-map = <0 3
++				1500 2
++				3250 1
++				5000 0>;
++
++		alarm-gpios = <&gpio1 11 GPIO_ACTIVE_HIGH>;
++	};
++
++	regulators {
++		usb_power: regulator at 1 {
++			gpio = <&gpio0 12 GPIO_ACTIVE_HIGH>;
++		};
++
++		hdd_power0: regulator at 2 {
++			gpio = <&gpio0 8 GPIO_ACTIVE_HIGH>;
++		};
++	};
++};
++
++&mdio {
++	status = "okay";
++
++	ethphy0: ethernet-phy at 0 {
++		device_type = "ethernet-phy";
++		reg = <0>;
++	};
++};
++
++&eth0 {
++	status = "okay";
++
++	ethernet0-port at 0 {
++		phy-handle = <&ethphy0>;
++	};
++};
+diff --git a/arch/arm/boot/dts/kirkwood-linkstation-lsvl.dts b/arch/arm/boot/dts/kirkwood-linkstation-lsvl.dts
+new file mode 100644
+index 000000000000..edcba5c44b05
+--- /dev/null
++++ b/arch/arm/boot/dts/kirkwood-linkstation-lsvl.dts
+@@ -0,0 +1,57 @@
++/*
++ * Device Tree file for Buffalo Linkstation LS-VL
++ *
++ * Copyright (C) 2015, 2016
++ * Roger Shimizu <rogershimizu at gmail.com>
++ *
++ * This file is dual-licensed: you can use it either under the terms
++ * of the GPL or the X11 license, at your option. Note that this dual
++ * licensing only applies to this file, and not this project as a
++ * whole.
++ *
++ *  a) This file is free software; you can redistribute it and/or
++ *     modify it under the terms of the GNU General Public License as
++ *     published by the Free Software Foundation; either version 2 of the
++ *     License, or (at your option) any later version.
++ *
++ *     This file is distributed in the hope that it will be useful
++ *     but WITHOUT ANY WARRANTY; without even the implied warranty of
++ *     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
++ *     GNU General Public License for more details.
++ *
++ * Or, alternatively
++ *
++ *  b) Permission is hereby granted, free of charge, to any person
++ *     obtaining a copy of this software and associated documentation
++ *     files (the "Software"), to deal in the Software without
++ *     restriction, including without limitation the rights to use
++ *     copy, modify, merge, publish, distribute, sublicense, and/or
++ *     sell copies of the Software, and to permit persons to whom the
++ *     Software is furnished to do so, subject to the following
++ *     conditions:
++ *
++ *     The above copyright notice and this permission notice shall be
++ *     included in all copies or substantial portions of the Software.
++ *
++ *     THE SOFTWARE IS PROVIDED , WITHOUT WARRANTY OF ANY KIND
++ *     EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
++ *     OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
++ *     NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
++ *     HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY
++ *     WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
++ *     FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
++ *     OTHER DEALINGS IN THE SOFTWARE.
++ */
++
++/dts-v1/;
++#include "kirkwood-linkstation-6282.dtsi"
++
++/ {
++	model = "Buffalo Linkstation LS-VL";
++	compatible = "buffalo,lsvl", "marvell,kirkwood-88f6282", "marvell,kirkwood";
++
++	memory { /* 256 MB */
++		device_type = "memory";
++		reg = <0x00000000 0x10000000>;
++	};
++};
+diff --git a/arch/arm/boot/dts/kirkwood-linkstation-lswvl.dts b/arch/arm/boot/dts/kirkwood-linkstation-lswvl.dts
+new file mode 100644
+index 000000000000..954ec1d5b6dc
+--- /dev/null
++++ b/arch/arm/boot/dts/kirkwood-linkstation-lswvl.dts
+@@ -0,0 +1,112 @@
++/*
++ * Device Tree file for Buffalo Linkstation LS-WVL
++ *
++ * Copyright (C) 2015, 2016
++ * Roger Shimizu <rogershimizu at gmail.com>
++ *
++ * This file is dual-licensed: you can use it either under the terms
++ * of the GPL or the X11 license, at your option. Note that this dual
++ * licensing only applies to this file, and not this project as a
++ * whole.
++ *
++ *  a) This file is free software; you can redistribute it and/or
++ *     modify it under the terms of the GNU General Public License as
++ *     published by the Free Software Foundation; either version 2 of the
++ *     License, or (at your option) any later version.
++ *
++ *     This file is distributed in the hope that it will be useful
++ *     but WITHOUT ANY WARRANTY; without even the implied warranty of
++ *     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
++ *     GNU General Public License for more details.
++ *
++ * Or, alternatively
++ *
++ *  b) Permission is hereby granted, free of charge, to any person
++ *     obtaining a copy of this software and associated documentation
++ *     files (the "Software"), to deal in the Software without
++ *     restriction, including without limitation the rights to use
++ *     copy, modify, merge, publish, distribute, sublicense, and/or
++ *     sell copies of the Software, and to permit persons to whom the
++ *     Software is furnished to do so, subject to the following
++ *     conditions:
++ *
++ *     The above copyright notice and this permission notice shall be
++ *     included in all copies or substantial portions of the Software.
++ *
++ *     THE SOFTWARE IS PROVIDED , WITHOUT WARRANTY OF ANY KIND
++ *     EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
++ *     OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
++ *     NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
++ *     HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY
++ *     WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
++ *     FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
++ *     OTHER DEALINGS IN THE SOFTWARE.
++ */
++
++/dts-v1/;
++#include "kirkwood-linkstation-6282.dtsi"
++
++/ {
++	model = "Buffalo Linkstation LS-WVL";
++	compatible = "buffalo,lswvl","marvell,kirkwood-88f6282", "marvell,kirkwood";
++
++	memory { /* 256 MB */
++		device_type = "memory";
++		reg = <0x00000000 0x10000000>;
++	};
++
++	ocp at f1000000 {
++		pinctrl: pin-controller at 10000 {
++			pmx_power_hdd1: pmx-power-hdd1 {
++				marvell,pins = "mpp9";
++				marvell,function = "gpio";
++			};
++			pmx_led_hdderr0: pmx-led-hdderr0 {
++				marvell,pins = "mpp34";
++				marvell,function = "gpio";
++			};
++			pmx_led_hdderr1: pmx-led-hdderr1 {
++				marvell,pins = "mpp35";
++				marvell,function = "gpio";
++			};
++		};
++
++		sata at 80000 {
++			nr-ports = <2>;
++		};
++	};
++
++	gpio_leds {
++		pinctrl-0 = <&pmx_led_function_red &pmx_led_alarm
++			     &pmx_led_info &pmx_led_power
++			     &pmx_led_function_blue
++			     &pmx_led_hdderr0
++			     &pmx_led_hdderr1>;
++
++		red-hdderr0-led {
++			label = "linkstation:red:hdderr0";
++			gpios = <&gpio1 2 GPIO_ACTIVE_HIGH>;
++		};
++
++		red-hdderr1-led {
++			label = "linkstation:red:hdderr1";
++			gpios = <&gpio1 3 GPIO_ACTIVE_HIGH>;
++		};
++	};
++
++	regulators {
++		pinctrl-0 = <&pmx_power_hdd0 &pmx_power_hdd1 &pmx_usb_vbus>;
++
++		hdd_power1: regulator at 3 {
++			compatible = "regulator-fixed";
++			reg = <3>;
++			regulator-name = "HDD1 Power";
++			regulator-min-microvolt = <5000000>;
++			regulator-max-microvolt = <5000000>;
++			enable-active-high;
++			regulator-always-on;
++			regulator-boot-on;
++			gpio = <&gpio0 9 GPIO_ACTIVE_HIGH>;
++		};
++	};
++};
+diff --git a/arch/arm/boot/dts/kirkwood-lswvl.dts b/arch/arm/boot/dts/kirkwood-lswvl.dts
+deleted file mode 100644
+index 04bdc4f19a9f..000000000000
+--- a/arch/arm/boot/dts/kirkwood-lswvl.dts
++++ /dev/null
+@@ -1,335 +0,0 @@
+-/*
+- * Device Tree file for Buffalo Linkstation LS-WVL/VL
+- *
+- * Copyright (C) 2015, 2016
+- * Roger Shimizu <rogershimizu at gmail.com>
+- *
+- * This file is dual-licensed: you can use it either under the terms
+- * of the GPL or the X11 license, at your option. Note that this dual
+- * licensing only applies to this file, and not this project as a
+- * whole.
+- *
+- *  a) This file is free software; you can redistribute it and/or
+- *     modify it under the terms of the GNU General Public License as
+- *     published by the Free Software Foundation; either version 2 of the
+- *     License, or (at your option) any later version.
+- *
+- *     This file is distributed in the hope that it will be useful
+- *     but WITHOUT ANY WARRANTY; without even the implied warranty of
+- *     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+- *     GNU General Public License for more details.
+- *
+- * Or, alternatively
+- *
+- *  b) Permission is hereby granted, free of charge, to any person
+- *     obtaining a copy of this software and associated documentation
+- *     files (the "Software"), to deal in the Software without
+- *     restriction, including without limitation the rights to use
+- *     copy, modify, merge, publish, distribute, sublicense, and/or
+- *     sell copies of the Software, and to permit persons to whom the
+- *     Software is furnished to do so, subject to the following
+- *     conditions:
+- *
+- *     The above copyright notice and this permission notice shall be
+- *     included in all copies or substantial portions of the Software.
+- *
+- *     THE SOFTWARE IS PROVIDED , WITHOUT WARRANTY OF ANY KIND
+- *     EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
+- *     OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+- *     NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
+- *     HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY
+- *     WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+- *     FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+- *     OTHER DEALINGS IN THE SOFTWARE.
+- */
+-
+-/dts-v1/;
+-
+-#include "kirkwood.dtsi"
+-#include "kirkwood-6282.dtsi"
+-
+-/ {
+-	model = "Buffalo Linkstation LS-WVL/VL";
+-	compatible = "buffalo,lswvl", "buffalo,lsvl", "marvell,kirkwood-88f6282", "marvell,kirkwood";
+-
+-	memory { /* 256 MB */
+-		device_type = "memory";
+-		reg = <0x00000000 0x10000000>;
+-	};
+-
+-	chosen {
+-		bootargs = "console=ttyS0,115200n8 earlyprintk";
+-		stdout-path = &uart0;
+-	};
+-
+-	mbus {
+-		pcie-controller {
+-			status = "okay";
+-			pcie at 1,0 {
+-				status = "okay";
+-			};
+-		};
+-	};
+-
+-	ocp at f1000000 {
+-		pinctrl: pin-controller at 10000 {
+-			pmx_power_hdd0: pmx-power-hdd0 {
+-				marvell,pins = "mpp8";
+-				marvell,function = "gpio";
+-			};
+-			pmx_power_hdd1: pmx-power-hdd1 {
+-				marvell,pins = "mpp9";
+-				marvell,function = "gpio";
+-			};
+-			pmx_usb_vbus: pmx-usb-vbus {
+-				marvell,pins = "mpp12";
+-				marvell,function = "gpio";
+-			};
+-			pmx_fan_high: pmx-fan-high {
+-				marvell,pins = "mpp16";
+-				marvell,function = "gpio";
+-			};
+-			pmx_fan_low: pmx-fan-low {
+-				marvell,pins = "mpp17";
+-				marvell,function = "gpio";
+-			};
+-			pmx_led_hdderr0: pmx-led-hdderr0 {
+-				marvell,pins = "mpp34";
+-				marvell,function = "gpio";
+-			};
+-			pmx_led_hdderr1: pmx-led-hdderr1 {
+-				marvell,pins = "mpp35";
+-				marvell,function = "gpio";
+-			};
+-			pmx_led_alarm: pmx-led-alarm {
+-				marvell,pins = "mpp36";
+-				marvell,function = "gpio";
+-			};
+-			pmx_led_function_red: pmx-led-function-red {
+-				marvell,pins = "mpp37";
+-				marvell,function = "gpio";
+-			};
+-			pmx_led_info: pmx-led-info {
+-				marvell,pins = "mpp38";
+-				marvell,function = "gpio";
+-			};
+-			pmx_led_function_blue: pmx-led-function-blue {
+-				marvell,pins = "mpp39";
+-				marvell,function = "gpio";
+-			};
+-			pmx_led_power: pmx-led-power {
+-				marvell,pins = "mpp40";
+-				marvell,function = "gpio";
+-			};
+-			pmx_fan_lock: pmx-fan-lock {
+-				marvell,pins = "mpp43";
+-				marvell,function = "gpio";
+-			};
+-			pmx_button_function: pmx-button-function {
+-				marvell,pins = "mpp45";
+-				marvell,function = "gpio";
+-			};
+-			pmx_power_switch: pmx-power-switch {
+-				marvell,pins = "mpp46";
+-				marvell,function = "gpio";
+-			};
+-			pmx_power_auto_switch: pmx-power-auto-switch {
+-				marvell,pins = "mpp47";
+-				marvell,function = "gpio";
+-			};
+-		};
+-
+-		serial at 12000 {
+-			status = "okay";
+-		};
+-
+-		sata at 80000 {
+-			status = "okay";
+-			nr-ports = <2>;
+-		};
+-
+-		spi at 10600 {
+-			status = "okay";
+-
+-			m25p40 at 0 {
+-				#address-cells = <1>;
+-				#size-cells = <1>;
+-				compatible = "st,m25p40", "jedec,spi-nor";
+-				reg = <0>;
+-				spi-max-frequency = <25000000>;
+-				mode = <0>;
+-
+-				partition at 0 {
+-					reg = <0x0 0x60000>;
+-					label = "uboot";
+-					read-only;
+-				};
+-
+-				partition at 60000 {
+-					reg = <0x60000 0x10000>;
+-					label = "dtb";
+-					read-only;
+-				};
+-
+-				partition at 70000 {
+-					reg = <0x70000 0x10000>;
+-					label = "uboot_env";
+-				};
+-			};
+-		};
+-	};
+-
+-	gpio_keys {
+-		compatible = "gpio-keys";
+-		#address-cells = <1>;
+-		#size-cells = <0>;
+-		pinctrl-0 = <&pmx_button_function &pmx_power_switch
+-			     &pmx_power_auto_switch>;
+-		pinctrl-names = "default";
+-
+-		button at 1 {
+-			label = "Function Button";
+-			linux,code = <KEY_OPTION>;
+-			gpios = <&gpio1 13 GPIO_ACTIVE_LOW>;
+-		};
+-
+-		button at 2 {
+-			label = "Power-on Switch";
+-			linux,code = <KEY_RESERVED>;
+-			linux,input-type = <5>;
+-			gpios = <&gpio1 14 GPIO_ACTIVE_LOW>;
+-		};
+-
+-		button at 3 {
+-			label = "Power-auto Switch";
+-			linux,code = <KEY_ESC>;
+-			linux,input-type = <5>;
+-			gpios = <&gpio1 15 GPIO_ACTIVE_LOW>;
+-		};
+-	};
+-
+-	gpio_leds {
+-		compatible = "gpio-leds";
+-		pinctrl-0 = <&pmx_led_function_red &pmx_led_alarm
+-			     &pmx_led_info &pmx_led_power
+-			     &pmx_led_function_blue
+-			     &pmx_led_hdderr0
+-			     &pmx_led_hdderr1>;
+-		pinctrl-names = "default";
+-
+-		led at 1 {
+-			label = "lswvl:red:alarm";
+-			gpios = <&gpio1 4 GPIO_ACTIVE_HIGH>;
+-		};
+-
+-		led at 2 {
+-			label = "lswvl:red:func";
+-			gpios = <&gpio1 5 GPIO_ACTIVE_HIGH>;
+-		};
+-
+-		led at 3 {
+-			label = "lswvl:amber:info";
+-			gpios = <&gpio1 6 GPIO_ACTIVE_HIGH>;
+-		};
+-
+-		led at 4 {
+-			label = "lswvl:blue:func";
+-			gpios = <&gpio1 7 GPIO_ACTIVE_HIGH>;
+-		};
+-
+-		led at 5 {
+-			label = "lswvl:blue:power";
+-			gpios = <&gpio1 8 GPIO_ACTIVE_LOW>;
+-			default-state = "keep";
+-		};
+-
+-		led at 6 {
+-			label = "lswvl:red:hdderr0";
+-			gpios = <&gpio1 2 GPIO_ACTIVE_HIGH>;
+-		};
+-
+-		led at 7 {
+-			label = "lswvl:red:hdderr1";
+-			gpios = <&gpio1 3 GPIO_ACTIVE_HIGH>;
+-		};
+-	};
+-
+-	gpio_fan {
+-		compatible = "gpio-fan";
+-		pinctrl-0 = <&pmx_fan_low &pmx_fan_high &pmx_fan_lock>;
+-		pinctrl-names = "default";
+-
+-		gpios = <&gpio0 17 GPIO_ACTIVE_LOW
+-			 &gpio0 16 GPIO_ACTIVE_LOW>;
+-
+-		gpio-fan,speed-map = <0 3
+-				1500 2
+-				3250 1
+-				5000 0>;
+-
+-		alarm-gpios = <&gpio1 11 GPIO_ACTIVE_HIGH>;
+-	};
+-
+-	restart_poweroff {
+-		compatible = "restart-poweroff";
+-	};
+-
+-	regulators {
+-		compatible = "simple-bus";
+-		#address-cells = <1>;
+-		#size-cells = <0>;
+-		pinctrl-0 = <&pmx_power_hdd0 &pmx_power_hdd1 &pmx_usb_vbus>;
+-		pinctrl-names = "default";
+-
+-		usb_power: regulator at 1 {
+-			compatible = "regulator-fixed";
+-			reg = <1>;
+-			regulator-name = "USB Power";
+-			regulator-min-microvolt = <5000000>;
+-			regulator-max-microvolt = <5000000>;
+-			enable-active-high;
+-			regulator-always-on;
+-			regulator-boot-on;
+-			gpio = <&gpio0 12 GPIO_ACTIVE_HIGH>;
+-		};
+-		hdd_power0: regulator at 2 {
+-			compatible = "regulator-fixed";
+-			reg = <2>;
+-			regulator-name = "HDD0 Power";
+-			regulator-min-microvolt = <5000000>;
+-			regulator-max-microvolt = <5000000>;
+-			enable-active-high;
+-			regulator-always-on;
+-			regulator-boot-on;
+-			gpio = <&gpio0 8 GPIO_ACTIVE_HIGH>;
+-		};
+-		hdd_power1: regulator at 3 {
+-			compatible = "regulator-fixed";
+-			reg = <3>;
+-			regulator-name = "HDD1 Power";
+-			regulator-min-microvolt = <5000000>;
+-			regulator-max-microvolt = <5000000>;
+-			enable-active-high;
+-			regulator-always-on;
+-			regulator-boot-on;
+-			gpio = <&gpio0 9 GPIO_ACTIVE_HIGH>;
+-		};
+-	};
+-};
+-
+-&mdio {
+-	status = "okay";
+-
+-	ethphy0: ethernet-phy at 0 {
+-		device_type = "ethernet-phy";
+-		reg = <0>;
+-	};
+-};
+-
+-&eth0 {
+-	status = "okay";
+-
+-	ethernet0-port at 0 {
+-		phy-handle = <&ethphy0>;
+-	};
+-};
diff --git a/debian/patches/features/arm/device-tree/ARM-dts-kirkwood-split-lswxl-dts-to-linkstation-lswsxl-an.patch b/debian/patches/features/arm/device-tree/ARM-dts-kirkwood-split-lswxl-dts-to-linkstation-lswsxl-an.patch
new file mode 100644
index 0000000..d979d6f
--- /dev/null
+++ b/debian/patches/features/arm/device-tree/ARM-dts-kirkwood-split-lswxl-dts-to-linkstation-lswsxl-an.patch
@@ -0,0 +1,994 @@
+From: Roger Shimizu <rogershimizu at gmail.com>
+Date: Thu, 21 Jan 2016 23:38:49 +0900
+Subject: ARM: dts: kirkwood: split lswxl dts to linkstation lswsxl and lswxl
+Origin: https://git.kernel.org/cgit/linux/kernel/git/next/linux-next.git/commit/?id=b05465ff5b5e90d6d25d3f6c4e8ac6b2b3159435
+
+LS-WXL/WSXL are both kirkwood-6281 based 2-Bay NAS devices, which share
+many MPP pins. However they are slightly different:
+  - There're two red LED indicator on LS-WXL to show when HDD fails,
+    but there's no such on LS-WSXL.
+  - There's 4-level speed adjustable FAN on LS-WXL, but not LS-WSXL.
+
+So after the split, common part goes into .dtsi file:
+  - kirkwood-linkstation.dtsi
+  - kirkwood-linkstation-duo-6281.dtsi
+while all rest part goes into device specific .dts file:
+  - kirkwood-linkstation-lswsxl.dts
+  - kirkwood-linkstation-lswxl.dts
+
+Signed-off-by: Roger Shimizu <rogershimizu at gmail.com>
+Reviewed-by: Andrew Lunn <andrew at lunn.ch>
+Signed-off-by: Gregory CLEMENT <gregory.clement at free-electrons.com>
+---
+ .../devicetree/bindings/arm/marvell,kirkwood.txt   |   3 +-
+ arch/arm/boot/dts/Makefile                         |   3 +-
+ .../boot/dts/kirkwood-linkstation-duo-6281.dtsi    | 186 ++++++++++++
+ arch/arm/boot/dts/kirkwood-linkstation-lswsxl.dts  |  57 ++++
+ arch/arm/boot/dts/kirkwood-linkstation-lswxl.dts   | 116 +++++++
+ arch/arm/boot/dts/kirkwood-linkstation.dtsi        | 202 +++++++++++++
+ arch/arm/boot/dts/kirkwood-lswxl.dts               | 335 ---------------------
+ 7 files changed, 565 insertions(+), 337 deletions(-)
+ create mode 100644 arch/arm/boot/dts/kirkwood-linkstation-duo-6281.dtsi
+ create mode 100644 arch/arm/boot/dts/kirkwood-linkstation-lswsxl.dts
+ create mode 100644 arch/arm/boot/dts/kirkwood-linkstation-lswxl.dts
+ create mode 100644 arch/arm/boot/dts/kirkwood-linkstation.dtsi
+ delete mode 100644 arch/arm/boot/dts/kirkwood-lswxl.dts
+
+diff --git a/Documentation/devicetree/bindings/arm/marvell,kirkwood.txt b/Documentation/devicetree/bindings/arm/marvell,kirkwood.txt
+index ab0c9cdf388e..f68bdec8e111 100644
+--- a/Documentation/devicetree/bindings/arm/marvell,kirkwood.txt
++++ b/Documentation/devicetree/bindings/arm/marvell,kirkwood.txt
+@@ -19,9 +19,10 @@ SoC. Currently known SoC compatibles are:
+ And in addition, the compatible shall be extended with the specific
+ board. Currently known boards are:
+ 
++"buffalo,linkstation-lswsxl"
++"buffalo,linkstation-lswxl"
+ "buffalo,lschlv2"
+ "buffalo,lswvl"
+-"buffalo,lswxl"
+ "buffalo,lsxhl"
+ "buffalo,lsxl"
+ "dlink,dns-320"
+diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
+index a4a6d70e8b26..6771d0b5dc2a 100644
+--- a/arch/arm/boot/dts/Makefile
++++ b/arch/arm/boot/dts/Makefile
+@@ -184,9 +184,10 @@ dtb-$(CONFIG_MACH_KIRKWOOD) += \
+ 	kirkwood-is2.dtb \
+ 	kirkwood-km_kirkwood.dtb \
+ 	kirkwood-laplug.dtb \
++	kirkwood-linkstation-lswsxl.dtb \
++	kirkwood-linkstation-lswxl.dtb \
+ 	kirkwood-lschlv2.dtb \
+ 	kirkwood-lswvl.dtb \
+-	kirkwood-lswxl.dtb \
+ 	kirkwood-lsxhl.dtb \
+ 	kirkwood-mplcec4.dtb \
+ 	kirkwood-mv88f6281gtw-ge.dtb \
+diff --git a/arch/arm/boot/dts/kirkwood-linkstation-duo-6281.dtsi b/arch/arm/boot/dts/kirkwood-linkstation-duo-6281.dtsi
+new file mode 100644
+index 000000000000..cf2e69f0d54f
+--- /dev/null
++++ b/arch/arm/boot/dts/kirkwood-linkstation-duo-6281.dtsi
+@@ -0,0 +1,186 @@
++/*
++ * Device Tree common file for kirkwood-6281 based 2-Bay Buffalo Linkstation
++ *
++ * Copyright (C) 2015, 2016
++ * Roger Shimizu <rogershimizu at gmail.com>
++ *
++ * This file is dual-licensed: you can use it either under the terms
++ * of the GPL or the X11 license, at your option. Note that this dual
++ * licensing only applies to this file, and not this project as a
++ * whole.
++ *
++ *  a) This file is free software; you can redistribute it and/or
++ *     modify it under the terms of the GNU General Public License as
++ *     published by the Free Software Foundation; either version 2 of the
++ *     License, or (at your option) any later version.
++ *
++ *     This file is distributed in the hope that it will be useful
++ *     but WITHOUT ANY WARRANTY; without even the implied warranty of
++ *     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
++ *     GNU General Public License for more details.
++ *
++ * Or, alternatively
++ *
++ *  b) Permission is hereby granted, free of charge, to any person
++ *     obtaining a copy of this software and associated documentation
++ *     files (the "Software"), to deal in the Software without
++ *     restriction, including without limitation the rights to use
++ *     copy, modify, merge, publish, distribute, sublicense, and/or
++ *     sell copies of the Software, and to permit persons to whom the
++ *     Software is furnished to do so, subject to the following
++ *     conditions:
++ *
++ *     The above copyright notice and this permission notice shall be
++ *     included in all copies or substantial portions of the Software.
++ *
++ *     THE SOFTWARE IS PROVIDED , WITHOUT WARRANTY OF ANY KIND
++ *     EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
++ *     OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
++ *     NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
++ *     HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY
++ *     WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
++ *     FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
++ *     OTHER DEALINGS IN THE SOFTWARE.
++ */
++
++#include "kirkwood.dtsi"
++#include "kirkwood-6281.dtsi"
++#include "kirkwood-linkstation.dtsi"
++
++/ {
++	ocp at f1000000 {
++		pinctrl: pin-controller at 10000 {
++			pmx_power_hdd0: pmx-power-hdd0 {
++				marvell,pins = "mpp28";
++				marvell,function = "gpio";
++			};
++			pmx_power_hdd1: pmx-power-hdd1 {
++				marvell,pins = "mpp29";
++				marvell,function = "gpio";
++			};
++			pmx_usb_vbus: pmx-usb-vbus {
++				marvell,pins = "mpp37";
++				marvell,function = "gpio";
++			};
++			pmx_led_alarm: pmx-led-alarm {
++				marvell,pins = "mpp49";
++				marvell,function = "gpio";
++			};
++			pmx_led_function_red: pmx-led-function-red {
++				marvell,pins = "mpp34";
++				marvell,function = "gpio";
++			};
++			pmx_led_function_blue: pmx-led-function-blue {
++				marvell,pins = "mpp36";
++				marvell,function = "gpio";
++			};
++			pmx_led_info: pmx-led-info {
++				marvell,pins = "mpp38";
++				marvell,function = "gpio";
++			};
++			pmx_led_power: pmx-led-power {
++				marvell,pins = "mpp39";
++				marvell,function = "gpio";
++			};
++			pmx_button_function: pmx-button-function {
++				marvell,pins = "mpp41";
++				marvell,function = "gpio";
++			};
++			pmx_power_switch: pmx-power-switch {
++				marvell,pins = "mpp42";
++				marvell,function = "gpio";
++			};
++			pmx_power_auto_switch: pmx-power-auto-switch {
++				marvell,pins = "mpp43";
++				marvell,function = "gpio";
++			};
++		};
++
++		sata at 80000 {
++			nr-ports = <2>;
++		};
++	};
++
++	gpio_keys {
++		function-button {
++			gpios = <&gpio1 9 GPIO_ACTIVE_LOW>;
++		};
++
++		power-on-switch {
++			gpios = <&gpio1 10 GPIO_ACTIVE_LOW>;
++		};
++
++		power-auto-switch {
++			gpios = <&gpio1 11 GPIO_ACTIVE_LOW>;
++		};
++	};
++
++	gpio_leds {
++		red-alarm-led {
++			label = "linkstation:red:alarm";
++			gpios = <&gpio1 17 GPIO_ACTIVE_LOW>;
++		};
++
++		red-function-led {
++			label = "linkstation:red:function";
++			gpios = <&gpio1 2 GPIO_ACTIVE_HIGH>;
++		};
++
++		amber-info-led {
++			label = "linkstation:amber:info";
++			gpios = <&gpio1 6 GPIO_ACTIVE_LOW>;
++		};
++
++		blue-function-led {
++			label = "linkstation:blue:function";
++			gpios = <&gpio1 4 GPIO_ACTIVE_LOW>;
++		};
++
++		blue-power-led {
++			label = "linkstation:blue:power";
++			gpios = <&gpio1 7 GPIO_ACTIVE_HIGH>;
++			default-state = "keep";
++		};
++	};
++
++	regulators {
++		pinctrl-0 = <&pmx_power_hdd0 &pmx_power_hdd1 &pmx_usb_vbus>;
++
++		usb_power: regulator at 1 {
++			gpio = <&gpio1 5 GPIO_ACTIVE_HIGH>;
++		};
++
++		hdd_power0: regulator at 2 {
++			gpio = <&gpio0 28 GPIO_ACTIVE_HIGH>;
++		};
++
++		hdd_power1: regulator at 3 {
++			compatible = "regulator-fixed";
++			reg = <3>;
++			regulator-name = "HDD1 Power";
++			regulator-min-microvolt = <5000000>;
++			regulator-max-microvolt = <5000000>;
++			enable-active-high;
++			regulator-always-on;
++			regulator-boot-on;
++			gpio = <&gpio0 29 GPIO_ACTIVE_HIGH>;
++		};
++	};
++};
++
++&mdio {
++	status = "okay";
++
++	ethphy1: ethernet-phy at 8 {
++		device_type = "ethernet-phy";
++		reg = <8>;
++	};
++};
++
++&eth1 {
++	status = "okay";
++
++	ethernet1-port at 0 {
++		phy-handle = <&ethphy1>;
++	};
++};
+diff --git a/arch/arm/boot/dts/kirkwood-linkstation-lswsxl.dts b/arch/arm/boot/dts/kirkwood-linkstation-lswsxl.dts
+new file mode 100644
+index 000000000000..4b6450186af5
+--- /dev/null
++++ b/arch/arm/boot/dts/kirkwood-linkstation-lswsxl.dts
+@@ -0,0 +1,57 @@
++/*
++ * Device Tree file for Buffalo Linkstation LS-WSXL
++ *
++ * Copyright (C) 2015, 2016
++ * Roger Shimizu <rogershimizu at gmail.com>
++ *
++ * This file is dual-licensed: you can use it either under the terms
++ * of the GPL or the X11 license, at your option. Note that this dual
++ * licensing only applies to this file, and not this project as a
++ * whole.
++ *
++ *  a) This file is free software; you can redistribute it and/or
++ *     modify it under the terms of the GNU General Public License as
++ *     published by the Free Software Foundation; either version 2 of the
++ *     License, or (at your option) any later version.
++ *
++ *     This file is distributed in the hope that it will be useful
++ *     but WITHOUT ANY WARRANTY; without even the implied warranty of
++ *     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
++ *     GNU General Public License for more details.
++ *
++ * Or, alternatively
++ *
++ *  b) Permission is hereby granted, free of charge, to any person
++ *     obtaining a copy of this software and associated documentation
++ *     files (the "Software"), to deal in the Software without
++ *     restriction, including without limitation the rights to use
++ *     copy, modify, merge, publish, distribute, sublicense, and/or
++ *     sell copies of the Software, and to permit persons to whom the
++ *     Software is furnished to do so, subject to the following
++ *     conditions:
++ *
++ *     The above copyright notice and this permission notice shall be
++ *     included in all copies or substantial portions of the Software.
++ *
++ *     THE SOFTWARE IS PROVIDED , WITHOUT WARRANTY OF ANY KIND
++ *     EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
++ *     OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
++ *     NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
++ *     HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY
++ *     WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
++ *     FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
++ *     OTHER DEALINGS IN THE SOFTWARE.
++ */
++
++/dts-v1/;
++#include "kirkwood-linkstation-duo-6281.dtsi"
++
++/ {
++	model = "Buffalo Linkstation LS-WSXL";
++	compatible = "buffalo,lswsxl", "marvell,kirkwood-88f6281", "marvell,kirkwood";
++
++	memory { /* 128 MB */
++		device_type = "memory";
++		reg = <0x00000000 0x8000000>;
++	};
++};
+diff --git a/arch/arm/boot/dts/kirkwood-linkstation-lswxl.dts b/arch/arm/boot/dts/kirkwood-linkstation-lswxl.dts
+new file mode 100644
+index 000000000000..ecd5c12a805d
+--- /dev/null
++++ b/arch/arm/boot/dts/kirkwood-linkstation-lswxl.dts
+@@ -0,0 +1,116 @@
++/*
++ * Device Tree file for Buffalo Linkstation LS-WXL
++ *
++ * Copyright (C) 2015, 2016
++ * Roger Shimizu <rogershimizu at gmail.com>
++ *
++ * This file is dual-licensed: you can use it either under the terms
++ * of the GPL or the X11 license, at your option. Note that this dual
++ * licensing only applies to this file, and not this project as a
++ * whole.
++ *
++ *  a) This file is free software; you can redistribute it and/or
++ *     modify it under the terms of the GNU General Public License as
++ *     published by the Free Software Foundation; either version 2 of the
++ *     License, or (at your option) any later version.
++ *
++ *     This file is distributed in the hope that it will be useful
++ *     but WITHOUT ANY WARRANTY; without even the implied warranty of
++ *     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
++ *     GNU General Public License for more details.
++ *
++ * Or, alternatively
++ *
++ *  b) Permission is hereby granted, free of charge, to any person
++ *     obtaining a copy of this software and associated documentation
++ *     files (the "Software"), to deal in the Software without
++ *     restriction, including without limitation the rights to use
++ *     copy, modify, merge, publish, distribute, sublicense, and/or
++ *     sell copies of the Software, and to permit persons to whom the
++ *     Software is furnished to do so, subject to the following
++ *     conditions:
++ *
++ *     The above copyright notice and this permission notice shall be
++ *     included in all copies or substantial portions of the Software.
++ *
++ *     THE SOFTWARE IS PROVIDED , WITHOUT WARRANTY OF ANY KIND
++ *     EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
++ *     OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
++ *     NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
++ *     HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY
++ *     WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
++ *     FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
++ *     OTHER DEALINGS IN THE SOFTWARE.
++ */
++
++/dts-v1/;
++#include "kirkwood-linkstation-duo-6281.dtsi"
++
++/ {
++	model = "Buffalo Linkstation LS-WXL";
++	compatible = "buffalo,lswxl", "marvell,kirkwood-88f6281", "marvell,kirkwood";
++
++	memory { /* 128 MB */
++		device_type = "memory";
++		reg = <0x00000000 0x8000000>;
++	};
++
++	ocp at f1000000 {
++		pinctrl: pin-controller at 10000 {
++			pmx_led_hdderr0: pmx-led-hdderr0 {
++				marvell,pins = "mpp8";
++				marvell,function = "gpio";
++			};
++			pmx_led_hdderr1: pmx-led-hdderr1 {
++				marvell,pins = "mpp46";
++				marvell,function = "gpio";
++			};
++			pmx_fan_lock: pmx-fan-lock {
++				marvell,pins = "mpp40";
++				marvell,function = "gpio";
++			};
++			pmx_fan_high: pmx-fan-high {
++				marvell,pins = "mpp47";
++				marvell,function = "gpio";
++			};
++			pmx_fan_low: pmx-fan-low {
++				marvell,pins = "mpp48";
++				marvell,function = "gpio";
++			};
++		};
++	};
++
++	gpio_leds {
++		pinctrl-0 = <&pmx_led_function_red &pmx_led_alarm
++			     &pmx_led_info &pmx_led_power
++			     &pmx_led_function_blue
++			     &pmx_led_hdderr0
++			     &pmx_led_hdderr1>;
++
++		red-hdderr0-led {
++			label = "linkstation:red:hdderr0";
++			gpios = <&gpio0 8 GPIO_ACTIVE_HIGH>;
++		};
++
++		red-hdderr1-led {
++			label = "linkstation:red:hdderr1";
++			gpios = <&gpio1 14 GPIO_ACTIVE_HIGH>;
++		};
++	};
++
++	gpio_fan {
++		compatible = "gpio-fan";
++		pinctrl-0 = <&pmx_fan_low &pmx_fan_high &pmx_fan_lock>;
++		pinctrl-names = "default";
++
++		gpios = <&gpio1 16 GPIO_ACTIVE_LOW
++			 &gpio1 15 GPIO_ACTIVE_LOW>;
++
++		gpio-fan,speed-map = <0 3
++				1500 2
++				3250 1
++				5000 0>;
++
++		alarm-gpios = <&gpio1 8 GPIO_ACTIVE_HIGH>;
++	};
++};
+diff --git a/arch/arm/boot/dts/kirkwood-linkstation.dtsi b/arch/arm/boot/dts/kirkwood-linkstation.dtsi
+new file mode 100644
+index 000000000000..69061b6e987b
+--- /dev/null
++++ b/arch/arm/boot/dts/kirkwood-linkstation.dtsi
+@@ -0,0 +1,202 @@
++/*
++ * Device Tree common file for kirkwood based Buffalo Linkstation
++ *
++ * Copyright (C) 2015, 2016
++ * Roger Shimizu <rogershimizu at gmail.com>
++ *
++ * This file is dual-licensed: you can use it either under the terms
++ * of the GPL or the X11 license, at your option. Note that this dual
++ * licensing only applies to this file, and not this project as a
++ * whole.
++ *
++ *  a) This file is free software; you can redistribute it and/or
++ *     modify it under the terms of the GNU General Public License as
++ *     published by the Free Software Foundation; either version 2 of the
++ *     License, or (at your option) any later version.
++ *
++ *     This file is distributed in the hope that it will be useful
++ *     but WITHOUT ANY WARRANTY; without even the implied warranty of
++ *     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
++ *     GNU General Public License for more details.
++ *
++ * Or, alternatively
++ *
++ *  b) Permission is hereby granted, free of charge, to any person
++ *     obtaining a copy of this software and associated documentation
++ *     files (the "Software"), to deal in the Software without
++ *     restriction, including without limitation the rights to use
++ *     copy, modify, merge, publish, distribute, sublicense, and/or
++ *     sell copies of the Software, and to permit persons to whom the
++ *     Software is furnished to do so, subject to the following
++ *     conditions:
++ *
++ *     The above copyright notice and this permission notice shall be
++ *     included in all copies or substantial portions of the Software.
++ *
++ *     THE SOFTWARE IS PROVIDED , WITHOUT WARRANTY OF ANY KIND
++ *     EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
++ *     OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
++ *     NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
++ *     HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY
++ *     WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
++ *     FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
++ *     OTHER DEALINGS IN THE SOFTWARE.
++ */
++
++/ {
++	chosen {
++		bootargs = "console=ttyS0,115200n8 earlyprintk";
++		stdout-path = &uart0;
++	};
++
++	mbus {
++		pcie-controller {
++			status = "okay";
++			pcie at 1,0 {
++				status = "okay";
++			};
++		};
++	};
++
++	ocp at f1000000 {
++		pinctrl: pin-controller at 10000 {
++			pmx_power_hdd0: pmx-power-hdd0 {
++				marvell,function = "gpio";
++			};
++			pmx_usb_vbus: pmx-usb-vbus {
++				marvell,function = "gpio";
++			};
++			pmx_led_alarm: pmx-led-alarm {
++				marvell,function = "gpio";
++			};
++			pmx_led_function_red: pmx-led-function-red {
++				marvell,function = "gpio";
++			};
++			pmx_led_function_blue: pmx-led-function-blue {
++				marvell,function = "gpio";
++			};
++			pmx_led_info: pmx-led-info {
++				marvell,function = "gpio";
++			};
++			pmx_led_power: pmx-led-power {
++				marvell,function = "gpio";
++			};
++			pmx_button_function: pmx-button-function {
++				marvell,function = "gpio";
++			};
++			pmx_power_switch: pmx-power-switch {
++				marvell,function = "gpio";
++			};
++			pmx_power_auto_switch: pmx-power-auto-switch {
++				marvell,function = "gpio";
++			};
++		};
++
++		serial at 12000 {
++			status = "okay";
++		};
++
++		sata at 80000 {
++			status = "okay";
++			nr-ports = <1>;
++		};
++
++		spi at 10600 {
++			status = "okay";
++
++			m25p40 at 0 {
++				#address-cells = <1>;
++				#size-cells = <1>;
++				compatible = "st,m25p40", "jedec,spi-nor";
++				reg = <0>;
++				spi-max-frequency = <25000000>;
++				mode = <0>;
++
++				partition at 0 {
++					reg = <0x0 0x60000>;
++					label = "uboot";
++					read-only;
++				};
++
++				partition at 60000 {
++					reg = <0x60000 0x10000>;
++					label = "dtb";
++					read-only;
++				};
++
++				partition at 70000 {
++					reg = <0x70000 0x10000>;
++					label = "uboot_env";
++				};
++			};
++		};
++	};
++
++	gpio_keys {
++		compatible = "gpio-keys";
++		#address-cells = <1>;
++		#size-cells = <0>;
++		pinctrl-0 = <&pmx_button_function &pmx_power_switch
++			     &pmx_power_auto_switch>;
++		pinctrl-names = "default";
++
++		function-button {
++			label = "Function Button";
++			linux,code = <KEY_OPTION>;
++		};
++
++		power-on-switch {
++			label = "Power-on Switch";
++			linux,code = <KEY_RESERVED>;
++			linux,input-type = <5>;
++		};
++
++		power-auto-switch {
++			label = "Power-auto Switch";
++			linux,code = <KEY_ESC>;
++			linux,input-type = <5>;
++		};
++	};
++
++	gpio_leds {
++		compatible = "gpio-leds";
++		pinctrl-0 = <&pmx_led_function_red &pmx_led_alarm
++			     &pmx_led_info &pmx_led_power
++			     &pmx_led_function_blue>;
++		pinctrl-names = "default";
++	};
++
++	restart_poweroff {
++		compatible = "restart-poweroff";
++	};
++
++	regulators {
++		compatible = "simple-bus";
++		#address-cells = <1>;
++		#size-cells = <0>;
++		pinctrl-0 = <&pmx_power_hdd0 &pmx_usb_vbus>;
++		pinctrl-names = "default";
++
++		usb_power: regulator at 1 {
++			compatible = "regulator-fixed";
++			reg = <1>;
++			regulator-name = "USB Power";
++			regulator-min-microvolt = <5000000>;
++			regulator-max-microvolt = <5000000>;
++			enable-active-high;
++			regulator-always-on;
++			regulator-boot-on;
++		};
++
++		hdd_power0: regulator at 2 {
++			compatible = "regulator-fixed";
++			reg = <2>;
++			regulator-name = "HDD0 Power";
++			regulator-min-microvolt = <5000000>;
++			regulator-max-microvolt = <5000000>;
++			enable-active-high;
++			regulator-always-on;
++			regulator-boot-on;
++		};
++	};
++};
+diff --git a/arch/arm/boot/dts/kirkwood-lswxl.dts b/arch/arm/boot/dts/kirkwood-lswxl.dts
+deleted file mode 100644
+index 930899d13c5d..000000000000
+--- a/arch/arm/boot/dts/kirkwood-lswxl.dts
++++ /dev/null
+@@ -1,335 +0,0 @@
+-/*
+- * Device Tree file for Buffalo Linkstation LS-WXL/WSXL
+- *
+- * Copyright (C) 2015, 2016
+- * Roger Shimizu <rogershimizu at gmail.com>
+- *
+- * This file is dual-licensed: you can use it either under the terms
+- * of the GPL or the X11 license, at your option. Note that this dual
+- * licensing only applies to this file, and not this project as a
+- * whole.
+- *
+- *  a) This file is free software; you can redistribute it and/or
+- *     modify it under the terms of the GNU General Public License as
+- *     published by the Free Software Foundation; either version 2 of the
+- *     License, or (at your option) any later version.
+- *
+- *     This file is distributed in the hope that it will be useful
+- *     but WITHOUT ANY WARRANTY; without even the implied warranty of
+- *     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+- *     GNU General Public License for more details.
+- *
+- * Or, alternatively
+- *
+- *  b) Permission is hereby granted, free of charge, to any person
+- *     obtaining a copy of this software and associated documentation
+- *     files (the "Software"), to deal in the Software without
+- *     restriction, including without limitation the rights to use
+- *     copy, modify, merge, publish, distribute, sublicense, and/or
+- *     sell copies of the Software, and to permit persons to whom the
+- *     Software is furnished to do so, subject to the following
+- *     conditions:
+- *
+- *     The above copyright notice and this permission notice shall be
+- *     included in all copies or substantial portions of the Software.
+- *
+- *     THE SOFTWARE IS PROVIDED , WITHOUT WARRANTY OF ANY KIND
+- *     EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
+- *     OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+- *     NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
+- *     HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY
+- *     WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+- *     FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+- *     OTHER DEALINGS IN THE SOFTWARE.
+- */
+-
+-/dts-v1/;
+-
+-#include "kirkwood.dtsi"
+-#include "kirkwood-6281.dtsi"
+-
+-/ {
+-	model = "Buffalo Linkstation LS-WXL/WSXL";
+-	compatible = "buffalo,lswxl", "marvell,kirkwood-88f6281", "marvell,kirkwood";
+-
+-	memory { /* 128 MB */
+-		device_type = "memory";
+-		reg = <0x00000000 0x8000000>;
+-	};
+-
+-	chosen {
+-		bootargs = "console=ttyS0,115200n8 earlyprintk";
+-		stdout-path = &uart0;
+-	};
+-
+-	mbus {
+-		pcie-controller {
+-			status = "okay";
+-			pcie at 1,0 {
+-				status = "okay";
+-			};
+-		};
+-	};
+-
+-	ocp at f1000000 {
+-		pinctrl: pin-controller at 10000 {
+-			pmx_power_hdd0: pmx-power-hdd0 {
+-				marvell,pins = "mpp28";
+-				marvell,function = "gpio";
+-			};
+-			pmx_power_hdd1: pmx-power-hdd1 {
+-				marvell,pins = "mpp29";
+-				marvell,function = "gpio";
+-			};
+-			pmx_usb_vbus: pmx-usb-vbus {
+-				marvell,pins = "mpp37";
+-				marvell,function = "gpio";
+-			};
+-			pmx_fan_high: pmx-fan-high {
+-				marvell,pins = "mpp47";
+-				marvell,function = "gpio";
+-			};
+-			pmx_fan_low: pmx-fan-low {
+-				marvell,pins = "mpp48";
+-				marvell,function = "gpio";
+-			};
+-			pmx_led_hdderr0: pmx-led-hdderr0 {
+-				marvell,pins = "mpp8";
+-				marvell,function = "gpio";
+-			};
+-			pmx_led_hdderr1: pmx-led-hdderr1 {
+-				marvell,pins = "mpp46";
+-				marvell,function = "gpio";
+-			};
+-			pmx_led_alarm: pmx-led-alarm {
+-				marvell,pins = "mpp49";
+-				marvell,function = "gpio";
+-			};
+-			pmx_led_function_red: pmx-led-function-red {
+-				marvell,pins = "mpp34";
+-				marvell,function = "gpio";
+-			};
+-			pmx_led_function_blue: pmx-led-function-blue {
+-				marvell,pins = "mpp36";
+-				marvell,function = "gpio";
+-			};
+-			pmx_led_info: pmx-led-info {
+-				marvell,pins = "mpp38";
+-				marvell,function = "gpio";
+-			};
+-			pmx_led_power: pmx-led-power {
+-				marvell,pins = "mpp39";
+-				marvell,function = "gpio";
+-			};
+-			pmx_fan_lock: pmx-fan-lock {
+-				marvell,pins = "mpp40";
+-				marvell,function = "gpio";
+-			};
+-			pmx_button_function: pmx-button-function {
+-				marvell,pins = "mpp41";
+-				marvell,function = "gpio";
+-			};
+-			pmx_power_switch: pmx-power-switch {
+-				marvell,pins = "mpp42";
+-				marvell,function = "gpio";
+-			};
+-			pmx_power_auto_switch: pmx-power-auto-switch {
+-				marvell,pins = "mpp43";
+-				marvell,function = "gpio";
+-			};
+-		};
+-
+-		serial at 12000 {
+-			status = "okay";
+-		};
+-
+-		sata at 80000 {
+-			status = "okay";
+-			nr-ports = <2>;
+-		};
+-
+-		spi at 10600 {
+-			status = "okay";
+-
+-			m25p40 at 0 {
+-				#address-cells = <1>;
+-				#size-cells = <1>;
+-				compatible = "st,m25p40", "jedec,spi-nor";
+-				reg = <0>;
+-				spi-max-frequency = <25000000>;
+-				mode = <0>;
+-
+-				partition at 0 {
+-					reg = <0x0 0x60000>;
+-					label = "uboot";
+-					read-only;
+-				};
+-
+-				partition at 60000 {
+-					reg = <0x60000 0x10000>;
+-					label = "dtb";
+-					read-only;
+-				};
+-
+-				partition at 70000 {
+-					reg = <0x70000 0x10000>;
+-					label = "uboot_env";
+-				};
+-			};
+-		};
+-	};
+-
+-	gpio_keys {
+-		compatible = "gpio-keys";
+-		#address-cells = <1>;
+-		#size-cells = <0>;
+-		pinctrl-0 = <&pmx_button_function &pmx_power_switch
+-			     &pmx_power_auto_switch>;
+-		pinctrl-names = "default";
+-
+-		button at 1 {
+-			label = "Function Button";
+-			linux,code = <KEY_OPTION>;
+-			gpios = <&gpio1 9 GPIO_ACTIVE_LOW>;
+-		};
+-
+-		button at 2 {
+-			label = "Power-on Switch";
+-			linux,code = <KEY_RESERVED>;
+-			linux,input-type = <5>;
+-			gpios = <&gpio1 10 GPIO_ACTIVE_LOW>;
+-		};
+-
+-		button at 3 {
+-			label = "Power-auto Switch";
+-			linux,code = <KEY_ESC>;
+-			linux,input-type = <5>;
+-			gpios = <&gpio1 11 GPIO_ACTIVE_LOW>;
+-		};
+-	};
+-
+-	gpio_leds {
+-		compatible = "gpio-leds";
+-		pinctrl-0 = <&pmx_led_function_red &pmx_led_alarm
+-			     &pmx_led_info &pmx_led_power
+-			     &pmx_led_function_blue
+-			     &pmx_led_hdderr0
+-			     &pmx_led_hdderr1>;
+-		pinctrl-names = "default";
+-
+-		led at 1 {
+-			label = "lswxl:blue:func";
+-			gpios = <&gpio1 4 GPIO_ACTIVE_LOW>;
+-		};
+-
+-		led at 2 {
+-			label = "lswxl:red:alarm";
+-			gpios = <&gpio1 17 GPIO_ACTIVE_LOW>;
+-		};
+-
+-		led at 3 {
+-			label = "lswxl:amber:info";
+-			gpios = <&gpio1 6 GPIO_ACTIVE_LOW>;
+-		};
+-
+-		led at 4 {
+-			label = "lswxl:blue:power";
+-			gpios = <&gpio1 7 GPIO_ACTIVE_HIGH>;
+-			default-state = "keep";
+-		};
+-
+-		led at 5 {
+-			label = "lswxl:red:func";
+-			gpios = <&gpio1 2 GPIO_ACTIVE_HIGH>;
+-		};
+-
+-		led at 6 {
+-			label = "lswxl:red:hdderr0";
+-			gpios = <&gpio0 8 GPIO_ACTIVE_HIGH>;
+-		};
+-
+-		led at 7 {
+-			label = "lswxl:red:hdderr1";
+-			gpios = <&gpio1 14 GPIO_ACTIVE_HIGH>;
+-		};
+-	};
+-
+-	gpio_fan {
+-		compatible = "gpio-fan";
+-		pinctrl-0 = <&pmx_fan_low &pmx_fan_high &pmx_fan_lock>;
+-		pinctrl-names = "default";
+-
+-		gpios = <&gpio1 16 GPIO_ACTIVE_LOW
+-			 &gpio1 15 GPIO_ACTIVE_LOW>;
+-
+-		gpio-fan,speed-map = <0 3
+-				1500 2
+-				3250 1
+-				5000 0>;
+-
+-		alarm-gpios = <&gpio1 8 GPIO_ACTIVE_HIGH>;
+-	};
+-
+-	restart_poweroff {
+-		compatible = "restart-poweroff";
+-	};
+-
+-	regulators {
+-		compatible = "simple-bus";
+-		#address-cells = <1>;
+-		#size-cells = <0>;
+-		pinctrl-0 = <&pmx_power_hdd0 &pmx_power_hdd1 &pmx_usb_vbus>;
+-		pinctrl-names = "default";
+-
+-		usb_power: regulator at 1 {
+-			compatible = "regulator-fixed";
+-			reg = <1>;
+-			regulator-name = "USB Power";
+-			regulator-min-microvolt = <5000000>;
+-			regulator-max-microvolt = <5000000>;
+-			enable-active-high;
+-			regulator-always-on;
+-			regulator-boot-on;
+-			gpio = <&gpio1 5 GPIO_ACTIVE_HIGH>;
+-		};
+-		hdd_power0: regulator at 2 {
+-			compatible = "regulator-fixed";
+-			reg = <2>;
+-			regulator-name = "HDD0 Power";
+-			regulator-min-microvolt = <5000000>;
+-			regulator-max-microvolt = <5000000>;
+-			enable-active-high;
+-			regulator-always-on;
+-			regulator-boot-on;
+-			gpio = <&gpio0 28 GPIO_ACTIVE_HIGH>;
+-		};
+-		hdd_power1: regulator at 3 {
+-			compatible = "regulator-fixed";
+-			reg = <3>;
+-			regulator-name = "HDD1 Power";
+-			regulator-min-microvolt = <5000000>;
+-			regulator-max-microvolt = <5000000>;
+-			enable-active-high;
+-			regulator-always-on;
+-			regulator-boot-on;
+-			gpio = <&gpio0 29 GPIO_ACTIVE_HIGH>;
+-		};
+-	};
+-};
+-
+-&mdio {
+-	status = "okay";
+-
+-	ethphy1: ethernet-phy at 8 {
+-		device_type = "ethernet-phy";
+-		reg = <8>;
+-	};
+-};
+-
+-&eth1 {
+-	status = "okay";
+-
+-	ethernet1-port at 0 {
+-		phy-handle = <&ethphy1>;
+-	};
+-};
diff --git a/debian/patches/features/arm/device-tree/ARM-dts-orion5x-add-for-buffalo-linkstation-ls-gl.patch b/debian/patches/features/arm/device-tree/ARM-dts-orion5x-add-for-buffalo-linkstation-ls-gl.patch
new file mode 100644
index 0000000..8b9049e
--- /dev/null
+++ b/debian/patches/features/arm/device-tree/ARM-dts-orion5x-add-for-buffalo-linkstation-ls-gl.patch
@@ -0,0 +1,132 @@
+From: Roger Shimizu <rogershimizu at gmail.com>
+Date: Sat, 6 Feb 2016 14:59:53 +0900
+Subject: ARM: dts: orion5x: add device tree for buffalo linkstation ls-gl
+Origin: https://git.kernel.org/cgit/linux/kernel/git/next/linux-next.git/commit/?id=b1742ffa9ddb347a8bcb8e5f7dcf4d3a790f9041
+
+Add dts file to support Buffalo Linkstation LS-GL
+(a.k.a Buffalo Linkstation Pro/Live), which is marvell orion5x based
+3.5" HDD NAS.
+
+Product info:
+  - (JPN) http://buffalo.jp/products/catalog/item/l/ls-gl/
+  - (ENG) http://www.buffalotech.com/products/network-storage/linkstation/linkstation-pro
+
+This device tree is based on the board file:
+  arch/arm/mach-orion5x/kurobox_pro-setup.c
+However, that board file also support Kurobox Pro, which is not supported by
+device tree yet. So the board file is not removed.
+
+Signed-off-by: Roger Shimizu <rogershimizu at gmail.com>
+Reviewed-by: Andrew Lunn <andrew at lunn.ch>
+Signed-off-by: Gregory CLEMENT <gregory.clement at free-electrons.com>
+---
+ arch/arm/boot/dts/Makefile                     |  1 +
+ arch/arm/boot/dts/orion5x-linkstation-lsgl.dts | 87 ++++++++++++++++++++++++++
+ 2 files changed, 88 insertions(+)
+ create mode 100644 arch/arm/boot/dts/orion5x-linkstation-lsgl.dts
+
+diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
+index 30d316dc050f..66f464dd814a 100644
+--- a/arch/arm/boot/dts/Makefile
++++ b/arch/arm/boot/dts/Makefile
+@@ -517,6 +517,7 @@ dtb-$(CONFIG_SOC_DRA7XX) += \
+ dtb-$(CONFIG_ARCH_ORION5X) += \
+ 	orion5x-lacie-d2-network.dtb \
+ 	orion5x-lacie-ethernet-disk-mini-v2.dtb \
++	orion5x-linkstation-lsgl.dtb \
+ 	orion5x-linkstation-lswtgl.dtb \
+ 	orion5x-lswsgl.dtb \
+ 	orion5x-maxtor-shared-storage-2.dtb \
+diff --git a/arch/arm/boot/dts/orion5x-linkstation-lsgl.dts b/arch/arm/boot/dts/orion5x-linkstation-lsgl.dts
+new file mode 100644
+index 000000000000..1cf644bfd7ea
+--- /dev/null
++++ b/arch/arm/boot/dts/orion5x-linkstation-lsgl.dts
+@@ -0,0 +1,87 @@
++/*
++ * Device Tree file for Buffalo Linkstation LS-GL
++ *       (also known as Buffalo Linkstation Pro/Live)
++ *
++ * Copyright (C) 2016
++ * Roger Shimizu <rogershimizu at gmail.com>
++ *
++ * Based on the board file arch/arm/mach-orion5x/kurobox_pro-setup.c
++ * Copyright (C) Ronen Shitrit <rshitrit at marvell.com>
++ *
++ * This file is dual-licensed: you can use it either under the terms
++ * of the GPL or the X11 license, at your option. Note that this dual
++ * licensing only applies to this file, and not this project as a
++ * whole.
++ *
++ *  a) This file is free software; you can redistribute it and/or
++ *     modify it under the terms of the GNU General Public License as
++ *     published by the Free Software Foundation; either version 2 of the
++ *     License, or (at your option) any later version.
++ *
++ *     This file is distributed in the hope that it will be useful
++ *     but WITHOUT ANY WARRANTY; without even the implied warranty of
++ *     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
++ *     GNU General Public License for more details.
++ *
++ * Or, alternatively
++ *
++ *  b) Permission is hereby granted, free of charge, to any person
++ *     obtaining a copy of this software and associated documentation
++ *     files (the "Software"), to deal in the Software without
++ *     restriction, including without limitation the rights to use
++ *     copy, modify, merge, publish, distribute, sublicense, and/or
++ *     sell copies of the Software, and to permit persons to whom the
++ *     Software is furnished to do so, subject to the following
++ *     conditions:
++ *
++ *     The above copyright notice and this permission notice shall be
++ *     included in all copies or substantial portions of the Software.
++ *
++ *     THE SOFTWARE IS PROVIDED , WITHOUT WARRANTY OF ANY KIND
++ *     EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
++ *     OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
++ *     NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
++ *     HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY
++ *     WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
++ *     FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
++ *     OTHER DEALINGS IN THE SOFTWARE.
++ */
++
++/dts-v1/;
++
++#include "orion5x-linkstation.dtsi"
++#include <dt-bindings/gpio/gpio.h>
++
++/ {
++	model = "Buffalo Linkstation Pro/Live";
++	compatible = "buffalo,lsgl", "marvell,orion5x-88f5182", "marvell,orion5x";
++
++	memory { /* 128 MB */
++		device_type = "memory";
++		reg = <0x00000000 0x8000000>;
++	};
++};
++
++&pinctrl {
++	pmx_power_hdd: pmx-power-hdd {
++		marvell,pins = "mpp1";
++		marvell,function = "gpio";
++	};
++
++	pmx_power_usb: pmx-power-usb {
++		marvell,pins = "mpp9";
++		marvell,function = "gpio";
++	};
++};
++
++&hdd_power {
++	gpios = <&gpio0 1 GPIO_ACTIVE_HIGH>;
++};
++
++&usb_power {
++	gpios = <&gpio0 9 GPIO_ACTIVE_HIGH>;
++};
++
++&ehci1 {
++	status = "okay";
++};
diff --git a/debian/patches/features/arm/device-tree/ARM-dts-orion5x-fix-missing-mtdflash-linkstation-lswtgl.patch b/debian/patches/features/arm/device-tree/ARM-dts-orion5x-fix-missing-mtdflash-linkstation-lswtgl.patch
new file mode 100644
index 0000000..2b2b89a
--- /dev/null
+++ b/debian/patches/features/arm/device-tree/ARM-dts-orion5x-fix-missing-mtdflash-linkstation-lswtgl.patch
@@ -0,0 +1,58 @@
+From: Roger Shimizu <rogershimizu at gmail.com>
+Date: Sat, 6 Feb 2016 14:59:51 +0900
+Subject: ARM: dts: orion5x: fix the missing mtd flash on linkstation lswtgl
+Origin: https://git.kernel.org/cgit/linux/kernel/git/next/linux-next.git/commit/?id=44361a2cc13493fc41216d33bb9a562ec3a9cc4e
+
+MTD flash stores u-boot and u-boot environment on linkstation lswtgl.
+The latter one can be easily read/write by u-boot-tools package in Debian.
+
+Fixes: dc57844a736f ("ARM: dts: orion5x: add buffalo linkstation ls-wtgl")
+Signed-off-by: Roger Shimizu <rogershimizu at gmail.com>
+Reviewed-by: Andrew Lunn <andrew at lunn.ch>
+Signed-off-by: Gregory CLEMENT <gregory.clement at free-electrons.com>
+---
+ arch/arm/boot/dts/orion5x-linkstation-lswtgl.dts | 31 ++++++++++++++++++++++++
+ 1 file changed, 31 insertions(+)
+
+diff --git a/arch/arm/boot/dts/orion5x-linkstation-lswtgl.dts b/arch/arm/boot/dts/orion5x-linkstation-lswtgl.dts
+index 420788229e6f..aae8a7aceab7 100644
+--- a/arch/arm/boot/dts/orion5x-linkstation-lswtgl.dts
++++ b/arch/arm/boot/dts/orion5x-linkstation-lswtgl.dts
+@@ -228,6 +228,37 @@
+ 	};
+ };
+ 
++&devbus_bootcs {
++	status = "okay";
++	devbus,keep-config;
++
++	flash at 0 {
++		compatible = "jedec-flash";
++		reg = <0 0x40000>;
++		bank-width = <1>;
++
++		partitions {
++			compatible = "fixed-partitions";
++			#address-cells = <1>;
++			#size-cells = <1>;
++
++			header at 0 {
++				reg = <0 0x30000>;
++				read-only;
++			};
++
++			uboot at 30000 {
++				reg = <0x30000 0xF000>;
++				read-only;
++			};
++
++			uboot_env at 3F000 {
++				reg = <0x3F000 0x1000>;
++			};
++		};
++	};
++};
++
+ &mdio {
+ 	status = "okay";
+ 
diff --git a/debian/patches/features/arm/device-tree/ARM-dts-orion5x-gpio-pin-fixes-for-linkstation-lswtgl.patch b/debian/patches/features/arm/device-tree/ARM-dts-orion5x-gpio-pin-fixes-for-linkstation-lswtgl.patch
new file mode 100644
index 0000000..83d7014
--- /dev/null
+++ b/debian/patches/features/arm/device-tree/ARM-dts-orion5x-gpio-pin-fixes-for-linkstation-lswtgl.patch
@@ -0,0 +1,59 @@
+From: Roger Shimizu <rogershimizu at gmail.com>
+Date: Fri, 22 Jan 2016 00:00:36 +0900
+Subject: ARM: dts: orion5x: gpio pin fixes for linkstation lswtgl
+Origin: https://git.kernel.org/linus/ff61ee84e7aa5842d9e33c0b442f0b43a6a44eaf
+
+Here're a few gpio pin related fixes:
+  - remove pinctrl-0 definition from pinctrl, since those pins are used
+    in other places such as gpio-fan and regulators.
+  - keep initial state of power led
+  - fix for alarm pin of gpio-fan.
+
+Fixes: dc57844a736f ("ARM: dts: orion5x: add buffalo linkstation ls-wtgl")
+Signed-off-by: Roger Shimizu <rogershimizu at gmail.com>
+Reviewed-by: Andrew Lunn <andrew at lunn.ch>
+Signed-off-by: Gregory CLEMENT <gregory.clement at free-electrons.com>
+---
+ arch/arm/boot/dts/orion5x-linkstation-lswtgl.dts | 8 ++++----
+ 1 file changed, 4 insertions(+), 4 deletions(-)
+
+diff --git a/arch/arm/boot/dts/orion5x-linkstation-lswtgl.dts b/arch/arm/boot/dts/orion5x-linkstation-lswtgl.dts
+index 3daec912b4bf..420788229e6f 100644
+--- a/arch/arm/boot/dts/orion5x-linkstation-lswtgl.dts
++++ b/arch/arm/boot/dts/orion5x-linkstation-lswtgl.dts
+@@ -1,7 +1,8 @@
+ /*
+  * Device Tree file for Buffalo Linkstation LS-WTGL
+  *
+- * Copyright (C) 2015, Roger Shimizu <rogershimizu at gmail.com>
++ * Copyright (C) 2015, 2016
++ * Roger Shimizu <rogershimizu at gmail.com>
+  *
+  * This file is dual-licensed: you can use it either under the terms
+  * of the GPL or the X11 license, at your option. Note that this dual
+@@ -69,8 +70,6 @@
+ 
+ 		internal-regs {
+ 			pinctrl: pinctrl at 10000 {
+-				pinctrl-0 = <&pmx_usb_power &pmx_power_hdd
+-					&pmx_fan_low &pmx_fan_high &pmx_fan_lock>;
+ 				pinctrl-names = "default";
+ 
+ 				pmx_led_power: pmx-leds {
+@@ -162,6 +161,7 @@
+ 		led at 1 {
+ 			label = "lswtgl:blue:power";
+ 			gpios = <&gpio0 0 GPIO_ACTIVE_LOW>;
++			default-state = "keep";
+ 		};
+ 
+ 		led at 2 {
+@@ -188,7 +188,7 @@
+ 				3250 1
+ 				5000 0>;
+ 
+-		alarm-gpios = <&gpio0 2 GPIO_ACTIVE_HIGH>;
++		alarm-gpios = <&gpio0 6 GPIO_ACTIVE_HIGH>;
+ 	};
+ 
+ 	restart_poweroff {
diff --git a/debian/patches/features/arm/device-tree/ARM-dts-orion5x-split-linkstation-lswtgl-into-common-and-.patch b/debian/patches/features/arm/device-tree/ARM-dts-orion5x-split-linkstation-lswtgl-into-common-and-.patch
new file mode 100644
index 0000000..d2dc64d
--- /dev/null
+++ b/debian/patches/features/arm/device-tree/ARM-dts-orion5x-split-linkstation-lswtgl-into-common-and-.patch
@@ -0,0 +1,710 @@
+From: Roger Shimizu <rogershimizu at gmail.com>
+Date: Sat, 6 Feb 2016 14:59:52 +0900
+Subject: ARM: dts: orion5x: split linkstation lswtgl into common and device parts
+Origin: https://git.kernel.org/cgit/linux/kernel/git/next/linux-next.git/commit/?id=305e0b2a7a85e8bd65818cb3636b205f784ed377
+
+In order to support more linkstation devices, common part of current
+.dts file goes into .dtsi file. Some .dtsi start with "mvebu-" prefix
+because other kirkwood based linkstation devices are similar, and
+will be migrated to use these .dtsi some time later.
+  - orion5x-linkstation.dtsi
+  - mvebu-linkstation-fan.dtsi
+  - mvebu-linkstation-gpio-simple.dtsi
+while all rest part remains in device specific .dts file:
+  - orion5x-linkstation-lswtgl.dts
+
+Signed-off-by: Roger Shimizu <rogershimizu at gmail.com>
+Reviewed-by: Andrew Lunn <andrew at lunn.ch>
+Signed-off-by: Gregory CLEMENT <gregory.clement at free-electrons.com>
+---
+ arch/arm/boot/dts/mvebu-linkstation-fan.dtsi       |  72 ++++++
+ .../boot/dts/mvebu-linkstation-gpio-simple.dtsi    | 105 +++++++++
+ arch/arm/boot/dts/orion5x-linkstation-lswtgl.dts   | 243 ++++-----------------
+ arch/arm/boot/dts/orion5x-linkstation.dtsi         | 180 +++++++++++++++
+ 4 files changed, 402 insertions(+), 198 deletions(-)
+ create mode 100644 arch/arm/boot/dts/mvebu-linkstation-fan.dtsi
+ create mode 100644 arch/arm/boot/dts/mvebu-linkstation-gpio-simple.dtsi
+ create mode 100644 arch/arm/boot/dts/orion5x-linkstation.dtsi
+
+diff --git a/arch/arm/boot/dts/mvebu-linkstation-fan.dtsi b/arch/arm/boot/dts/mvebu-linkstation-fan.dtsi
+new file mode 100644
+index 000000000000..e211a3c47a76
+--- /dev/null
++++ b/arch/arm/boot/dts/mvebu-linkstation-fan.dtsi
+@@ -0,0 +1,72 @@
++/*
++ * Device Tree common file for gpio-fan on Buffalo Linkstation
++ *
++ * Copyright (C) 2015, 2016
++ * Roger Shimizu <rogershimizu at gmail.com>
++ *
++ * This file is dual-licensed: you can use it either under the terms
++ * of the GPL or the X11 license, at your option. Note that this dual
++ * licensing only applies to this file, and not this project as a
++ * whole.
++ *
++ *  a) This file is free software; you can redistribute it and/or
++ *     modify it under the terms of the GNU General Public License as
++ *     published by the Free Software Foundation; either version 2 of the
++ *     License, or (at your option) any later version.
++ *
++ *     This file is distributed in the hope that it will be useful
++ *     but WITHOUT ANY WARRANTY; without even the implied warranty of
++ *     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
++ *     GNU General Public License for more details.
++ *
++ * Or, alternatively
++ *
++ *  b) Permission is hereby granted, free of charge, to any person
++ *     obtaining a copy of this software and associated documentation
++ *     files (the "Software"), to deal in the Software without
++ *     restriction, including without limitation the rights to use
++ *     copy, modify, merge, publish, distribute, sublicense, and/or
++ *     sell copies of the Software, and to permit persons to whom the
++ *     Software is furnished to do so, subject to the following
++ *     conditions:
++ *
++ *     The above copyright notice and this permission notice shall be
++ *     included in all copies or substantial portions of the Software.
++ *
++ *     THE SOFTWARE IS PROVIDED , WITHOUT WARRANTY OF ANY KIND
++ *     EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
++ *     OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
++ *     NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
++ *     HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY
++ *     WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
++ *     FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
++ *     OTHER DEALINGS IN THE SOFTWARE.
++ */
++
++/ {
++	gpio_fan {
++		compatible = "gpio-fan";
++		pinctrl-0 = <&pmx_fan_low &pmx_fan_high &pmx_fan_lock>;
++		pinctrl-names = "default";
++
++		gpio-fan,speed-map =
++			<0		3
++			1500	2
++			3250	1
++			5000	0>;
++	};
++};
++
++&pinctrl {
++	pmx_fan_low: pmx-fan-low {
++		marvell,function = "gpio";
++	};
++
++	pmx_fan_high: pmx-fan-high {
++		marvell,function = "gpio";
++	};
++
++	pmx_fan_lock: pmx-fan-lock {
++		marvell,function = "gpio";
++	};
++};
+diff --git a/arch/arm/boot/dts/mvebu-linkstation-gpio-simple.dtsi b/arch/arm/boot/dts/mvebu-linkstation-gpio-simple.dtsi
+new file mode 100644
+index 000000000000..68d75e79a360
+--- /dev/null
++++ b/arch/arm/boot/dts/mvebu-linkstation-gpio-simple.dtsi
+@@ -0,0 +1,105 @@
++/*
++ * Device Tree common file for gpio-{keys,leds} on Buffalo Linkstation
++ *
++ * Copyright (C) 2015, 2016
++ * Roger Shimizu <rogershimizu at gmail.com>
++ *
++ * This file is dual-licensed: you can use it either under the terms
++ * of the GPL or the X11 license, at your option. Note that this dual
++ * licensing only applies to this file, and not this project as a
++ * whole.
++ *
++ *  a) This file is free software; you can redistribute it and/or
++ *     modify it under the terms of the GNU General Public License as
++ *     published by the Free Software Foundation; either version 2 of the
++ *     License, or (at your option) any later version.
++ *
++ *     This file is distributed in the hope that it will be useful
++ *     but WITHOUT ANY WARRANTY; without even the implied warranty of
++ *     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
++ *     GNU General Public License for more details.
++ *
++ * Or, alternatively
++ *
++ *  b) Permission is hereby granted, free of charge, to any person
++ *     obtaining a copy of this software and associated documentation
++ *     files (the "Software"), to deal in the Software without
++ *     restriction, including without limitation the rights to use
++ *     copy, modify, merge, publish, distribute, sublicense, and/or
++ *     sell copies of the Software, and to permit persons to whom the
++ *     Software is furnished to do so, subject to the following
++ *     conditions:
++ *
++ *     The above copyright notice and this permission notice shall be
++ *     included in all copies or substantial portions of the Software.
++ *
++ *     THE SOFTWARE IS PROVIDED , WITHOUT WARRANTY OF ANY KIND
++ *     EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
++ *     OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
++ *     NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
++ *     HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY
++ *     WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
++ *     FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
++ *     OTHER DEALINGS IN THE SOFTWARE.
++ */
++
++#include <dt-bindings/input/input.h>
++
++/ {
++	gpio_keys {
++		compatible = "gpio-keys";
++		#address-cells = <1>;
++		#size-cells = <0>;
++		pinctrl-0 = <&pmx_power_switch>;
++		pinctrl-names = "default";
++
++		power-on-switch {
++			label = "Power-on Switch";
++			linux,code = <KEY_RESERVED>;
++			linux,input-type = <5>;
++		};
++
++		power-auto-switch {
++			label = "Power-auto Switch";
++			linux,code = <KEY_ESC>;
++			linux,input-type = <5>;
++		};
++	};
++
++	gpio_leds {
++		compatible = "gpio-leds";
++		pinctrl-0 = <&pmx_led_power &pmx_led_alarm &pmx_led_info>;
++		pinctrl-names = "default";
++
++		blue-power-led {
++			label = "linkstation:blue:power";
++			default-state = "keep";
++		};
++
++		red-alarm-led {
++			label = "linkstation:red:alarm";
++		};
++
++		amber-info-led {
++			label = "linkstation:amber:info";
++		};
++	};
++};
++
++&pinctrl {
++	pmx_power_switch: pmx-power-switch {
++		marvell,function = "gpio";
++	};
++
++	pmx_led_power: pmx-leds {
++		marvell,function = "gpio";
++	};
++
++	pmx_led_alarm: pmx-leds {
++		marvell,function = "gpio";
++	};
++
++	pmx_led_info: pmx-leds {
++		marvell,function = "gpio";
++	};
++};
+diff --git a/arch/arm/boot/dts/orion5x-linkstation-lswtgl.dts b/arch/arm/boot/dts/orion5x-linkstation-lswtgl.dts
+index aae8a7aceab7..0eead400f427 100644
+--- a/arch/arm/boot/dts/orion5x-linkstation-lswtgl.dts
++++ b/arch/arm/boot/dts/orion5x-linkstation-lswtgl.dts
+@@ -45,9 +45,10 @@
+ 
+ /dts-v1/;
+ 
++#include "orion5x-linkstation.dtsi"
++#include "mvebu-linkstation-gpio-simple.dtsi"
++#include "mvebu-linkstation-fan.dtsi"
+ #include <dt-bindings/gpio/gpio.h>
+-#include <dt-bindings/input/input.h>
+-#include "orion5x-mv88f5182.dtsi"
+ 
+ / {
+ 	model = "Buffalo Linkstation LS-WTGL";
+@@ -58,247 +59,93 @@
+ 		reg = <0x00000000 0x4000000>;
+ 	};
+ 
+-	chosen {
+-		bootargs = "console=ttyS0,115200n8 earlyprintk";
+-		linux,stdout-path = &uart0;
+-	};
+-
+-	soc {
+-		ranges = <MBUS_ID(0xf0, 0x01) 0 0xf1000000 0x100000>,
+-		         <MBUS_ID(0x09, 0x00) 0 0xf2200000 0x800>,
+-			 <MBUS_ID(0x01, 0x0f) 0 0xf4000000 0x40000>;
+-
+-		internal-regs {
+-			pinctrl: pinctrl at 10000 {
+-				pinctrl-names = "default";
+-
+-				pmx_led_power: pmx-leds {
+-					marvell,pins = "mpp0";
+-					marvell,function = "gpio";
+-				};
+-
+-				pmx_led_alarm: pmx-leds {
+-					marvell,pins = "mpp2";
+-					marvell,function = "gpio";
+-				};
+-
+-				pmx_led_info: pmx-leds {
+-					marvell,pins = "mpp3";
+-					marvell,function = "gpio";
+-				};
+-
+-				pmx_power_hdd: pmx-power-hdd {
+-					marvell,pins = "mpp1";
+-					marvell,function = "gpio";
+-				};
+-
+-				pmx_usb_power: pmx-usb-power {
+-					marvell,pins = "mpp9";
+-					marvell,function = "gpio";
+-				};
+-
+-				pmx_sata0: pmx-sata0 {
+-					marvell,pins = "mpp12";
+-					marvell,function = "sata0";
+-				};
+-
+-				pmx_sata1: pmx-sata1 {
+-					marvell,pins = "mpp13";
+-					marvell,function = "sata1";
+-				};
+-
+-				pmx_fan_high: pmx-fan-high {
+-					marvell,pins = "mpp14";
+-					marvell,function = "gpio";
+-				};
+-
+-				pmx_fan_low: pmx-fan-low {
+-					marvell,pins = "mpp17";
+-					marvell,function = "gpio";
+-				};
+-
+-				pmx_fan_lock: pmx-fan-lock {
+-					marvell,pins = "mpp6";
+-					marvell,function = "gpio";
+-				};
+-
+-				pmx_power_switch: pmx-power-switch {
+-					marvell,pins = "mpp8", "mpp10";
+-					marvell,function = "gpio";
+-				};
+-			};
+-		};
+-	};
+-
+ 	gpio_keys {
+-		compatible = "gpio-keys";
+-		#address-cells = <1>;
+-		#size-cells = <0>;
+-		pinctrl-0 = <&pmx_power_switch>;
+-		pinctrl-names = "default";
+-
+-		button at 1 {
+-			label = "Power-on Switch";
+-			linux,code = <KEY_RESERVED>;
+-			linux,input-type = <5>;
++		power-on-switch {
+ 			gpios = <&gpio0 8 GPIO_ACTIVE_LOW>;
+ 		};
+ 
+-		button at 2 {
+-			label = "Power-auto Switch";
+-			linux,code = <KEY_ESC>;
+-			linux,input-type = <5>;
++		power-auto-switch {
+ 			gpios = <&gpio0 10 GPIO_ACTIVE_LOW>;
+ 		};
+ 	};
+ 
+ 	gpio_leds {
+-		compatible = "gpio-leds";
+-		pinctrl-0 = <&pmx_led_power &pmx_led_alarm
+-			     &pmx_led_info>;
+-		pinctrl-names = "default";
+-
+-		led at 1 {
+-			label = "lswtgl:blue:power";
++		blue-power-led {
+ 			gpios = <&gpio0 0 GPIO_ACTIVE_LOW>;
+-			default-state = "keep";
+ 		};
+ 
+-		led at 2 {
+-			label = "lswtgl:red:alarm";
++		red-alarm-led {
+ 			gpios = <&gpio0 2 GPIO_ACTIVE_LOW>;
+ 		};
+ 
+-		led at 3 {
+-			label = "lswtgl:amber:info";
++		amber-info-led {
+ 			gpios = <&gpio0 3 GPIO_ACTIVE_LOW>;
+ 		};
+ 	};
+ 
+ 	gpio_fan {
+-		compatible = "gpio-fan";
+-		pinctrl-0 = <&pmx_fan_low &pmx_fan_high &pmx_fan_lock>;
+-		pinctrl-names = "default";
+-
+ 		gpios = <&gpio0 14 GPIO_ACTIVE_LOW
+ 			 &gpio0 17 GPIO_ACTIVE_LOW>;
+ 
+-		gpio-fan,speed-map = <0 3
+-				1500 2
+-				3250 1
+-				5000 0>;
+-
+ 		alarm-gpios = <&gpio0 6 GPIO_ACTIVE_HIGH>;
+ 	};
++};
+ 
+-	restart_poweroff {
+-		compatible = "restart-poweroff";
++&pinctrl {
++	pmx_led_power: pmx-leds {
++		marvell,pins = "mpp0";
++		marvell,function = "gpio";
+ 	};
+ 
+-	regulators {
+-		compatible = "simple-bus";
+-		#address-cells = <1>;
+-		#size-cells = <0>;
+-		pinctrl-0 = <&pmx_power_hdd &pmx_usb_power>;
+-		pinctrl-names = "default";
+-
+-		usb_power: regulator at 1 {
+-			compatible = "regulator-fixed";
+-			reg = <1>;
+-			regulator-name = "USB Power";
+-			regulator-min-microvolt = <5000000>;
+-			regulator-max-microvolt = <5000000>;
+-			enable-active-high;
+-			regulator-always-on;
+-			regulator-boot-on;
+-			gpios = <&gpio0 9 GPIO_ACTIVE_HIGH>;
+-		};
+-
+-		hdd_power: regulator at 2 {
+-			compatible = "regulator-fixed";
+-			reg = <2>;
+-			regulator-name = "HDD Power";
+-			regulator-min-microvolt = <5000000>;
+-			regulator-max-microvolt = <5000000>;
+-			enable-active-high;
+-			regulator-always-on;
+-			regulator-boot-on;
+-			gpios = <&gpio0 1 GPIO_ACTIVE_HIGH>;
+-		};
++	pmx_power_hdd: pmx-power-hdd {
++		marvell,pins = "mpp1";
++		marvell,function = "gpio";
+ 	};
+-};
+-
+-&devbus_bootcs {
+-	status = "okay";
+-	devbus,keep-config;
+ 
+-	flash at 0 {
+-		compatible = "jedec-flash";
+-		reg = <0 0x40000>;
+-		bank-width = <1>;
+-
+-		partitions {
+-			compatible = "fixed-partitions";
+-			#address-cells = <1>;
+-			#size-cells = <1>;
+-
+-			header at 0 {
+-				reg = <0 0x30000>;
+-				read-only;
+-			};
+-
+-			uboot at 30000 {
+-				reg = <0x30000 0xF000>;
+-				read-only;
+-			};
++	pmx_led_alarm: pmx-leds {
++		marvell,pins = "mpp2";
++		marvell,function = "gpio";
++	};
+ 
+-			uboot_env at 3F000 {
+-				reg = <0x3F000 0x1000>;
+-			};
+-		};
++	pmx_led_info: pmx-leds {
++		marvell,pins = "mpp3";
++		marvell,function = "gpio";
+ 	};
+-};
+ 
+-&mdio {
+-	status = "okay";
++	pmx_fan_lock: pmx-fan-lock {
++		marvell,pins = "mpp6";
++		marvell,function = "gpio";
++	};
+ 
+-	ethphy: ethernet-phy {
+-		reg = <8>;
++	pmx_power_switch: pmx-power-switch {
++		marvell,pins = "mpp8", "mpp10";
++		marvell,function = "gpio";
+ 	};
+-};
+ 
+-&eth {
+-	status = "okay";
++	pmx_power_usb: pmx-power-usb {
++		marvell,pins = "mpp9";
++		marvell,function = "gpio";
++	};
+ 
+-	ethernet-port at 0 {
+-		phy-handle = <&ethphy>;
++	pmx_fan_high: pmx-fan-high {
++		marvell,pins = "mpp14";
++		marvell,function = "gpio";
+ 	};
+-};
+ 
+-&ehci0 {
+-	status = "okay";
++	pmx_fan_low: pmx-fan-low {
++		marvell,pins = "mpp17";
++		marvell,function = "gpio";
++	};
+ };
+ 
+-&i2c {
+-	status = "okay";
+-
+-	rtc {
+-		compatible = "ricoh,rs5c372a";
+-		reg = <0x32>;
+-	};
++&hdd_power {
++	gpios = <&gpio0 1 GPIO_ACTIVE_HIGH>;
+ };
+ 
+-&wdt {
+-	status = "disabled";
++&usb_power {
++	gpios = <&gpio0 9 GPIO_ACTIVE_HIGH>;
+ };
+ 
+ &sata {
+-	pinctrl-0 = <&pmx_sata0 &pmx_sata1>;
+-	pinctrl-names = "default";
+-	status = "okay";
+ 	nr-ports = <2>;
+ };
+-
+-&uart0 {
+-	status = "okay";
+-};
+diff --git a/arch/arm/boot/dts/orion5x-linkstation.dtsi b/arch/arm/boot/dts/orion5x-linkstation.dtsi
+new file mode 100644
+index 000000000000..ed456ab35fd8
+--- /dev/null
++++ b/arch/arm/boot/dts/orion5x-linkstation.dtsi
+@@ -0,0 +1,180 @@
++/*
++ * Device Tree common file for orion5x based Buffalo Linkstation
++ *
++ * Copyright (C) 2015, 2016
++ * Roger Shimizu <rogershimizu at gmail.com>
++ *
++ * This file is dual-licensed: you can use it either under the terms
++ * of the GPL or the X11 license, at your option. Note that this dual
++ * licensing only applies to this file, and not this project as a
++ * whole.
++ *
++ *  a) This file is free software; you can redistribute it and/or
++ *     modify it under the terms of the GNU General Public License as
++ *     published by the Free Software Foundation; either version 2 of the
++ *     License, or (at your option) any later version.
++ *
++ *     This file is distributed in the hope that it will be useful
++ *     but WITHOUT ANY WARRANTY; without even the implied warranty of
++ *     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
++ *     GNU General Public License for more details.
++ *
++ * Or, alternatively
++ *
++ *  b) Permission is hereby granted, free of charge, to any person
++ *     obtaining a copy of this software and associated documentation
++ *     files (the "Software"), to deal in the Software without
++ *     restriction, including without limitation the rights to use
++ *     copy, modify, merge, publish, distribute, sublicense, and/or
++ *     sell copies of the Software, and to permit persons to whom the
++ *     Software is furnished to do so, subject to the following
++ *     conditions:
++ *
++ *     The above copyright notice and this permission notice shall be
++ *     included in all copies or substantial portions of the Software.
++ *
++ *     THE SOFTWARE IS PROVIDED , WITHOUT WARRANTY OF ANY KIND
++ *     EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
++ *     OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
++ *     NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
++ *     HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY
++ *     WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
++ *     FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
++ *     OTHER DEALINGS IN THE SOFTWARE.
++ */
++
++#include "orion5x-mv88f5182.dtsi"
++
++/ {
++	chosen {
++		bootargs = "console=ttyS0,115200n8 earlyprintk";
++		linux,stdout-path = &uart0;
++	};
++
++	soc {
++		ranges = <MBUS_ID(0xf0, 0x01) 0 0xf1000000 0x100000>,
++				 <MBUS_ID(0x09, 0x00) 0 0xf2200000 0x800>,
++				 <MBUS_ID(0x01, 0x0f) 0 0xf4000000 0x40000>;
++	};
++
++	restart_poweroff {
++		compatible = "restart-poweroff";
++	};
++
++	regulators {
++		compatible = "simple-bus";
++		#address-cells = <1>;
++		#size-cells = <0>;
++		pinctrl-0 = <&pmx_power_usb &pmx_power_hdd>;
++		pinctrl-names = "default";
++
++		usb_power: regulator at 1 {
++			compatible = "regulator-fixed";
++			reg = <1>;
++			regulator-name = "USB Power";
++			regulator-min-microvolt = <5000000>;
++			regulator-max-microvolt = <5000000>;
++			enable-active-high;
++			regulator-always-on;
++			regulator-boot-on;
++		};
++
++		hdd_power: regulator at 2 {
++			compatible = "regulator-fixed";
++			reg = <2>;
++			regulator-name = "HDD Power";
++			regulator-min-microvolt = <5000000>;
++			regulator-max-microvolt = <5000000>;
++			enable-active-high;
++			regulator-always-on;
++			regulator-boot-on;
++		};
++	};
++};
++
++&pinctrl {
++	pmx_power_hdd: pmx-power-hdd {
++		marvell,function = "gpio";
++	};
++
++	pmx_power_usb: pmx-power-usb {
++		marvell,function = "gpio";
++	};
++};
++
++&devbus_bootcs {
++	status = "okay";
++	devbus,keep-config;
++
++	flash at 0 {
++		compatible = "jedec-flash";
++		reg = <0 0x40000>;
++		bank-width = <1>;
++
++		partitions {
++			compatible = "fixed-partitions";
++			#address-cells = <1>;
++			#size-cells = <1>;
++
++			header at 0 {
++				reg = <0 0x30000>;
++				read-only;
++			};
++
++			uboot at 30000 {
++				reg = <0x30000 0xF000>;
++				read-only;
++			};
++
++			uboot_env at 3F000 {
++				reg = <0x3F000 0x1000>;
++			};
++		};
++	};
++};
++
++&mdio {
++	status = "okay";
++
++	ethphy: ethernet-phy {
++		reg = <8>;
++	};
++};
++
++&eth {
++	status = "okay";
++
++	ethernet-port at 0 {
++		phy-handle = <&ethphy>;
++	};
++};
++
++&ehci0 {
++	status = "okay";
++};
++
++&i2c {
++	status = "okay";
++
++	rtc {
++		compatible = "ricoh,rs5c372a";
++		reg = <0x32>;
++	};
++};
++
++&wdt {
++	status = "disabled";
++};
++
++&sata {
++	status = "okay";
++	nr-ports = <1>;
++};
++
++&uart0 {
++	status = "okay";
++};
++
++&uart1 {
++	status = "okay";
++};
diff --git a/debian/patches/series b/debian/patches/series
index 6a7a982..d40378e 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -84,6 +84,18 @@ features/arm/arm-orion-use-sparse_irq-everywhere.patch
 features/arm/arm-orion5x-clean-up-mach-.h-headers.patch
 features/arm/arm-orion5x-multiplatform-support.patch
 features/arm/device-tree/ARM-dts-imx6dlq-wandboard-revb1.dts-use-unique-model-id.patch
+features/arm/device-tree/ARM-dts-kirkwood-gpio-pin-fixes-for-linkstation-ls-wvl-vl.patch
+features/arm/device-tree/ARM-dts-kirkwood-gpio-pin-fixes-for-linkstation-ls-wxl-ws.patch
+features/arm/device-tree/ARM-dts-kirkwood-gpio-leds-fixes-for-linkstation-ls-wxl-w.patch
+features/arm/device-tree/ARM-dts-kirkwood-gpio-leds-fixes-for-linkstation-ls-wvl-v.patch
+features/arm/device-tree/ARM-dts-orion5x-gpio-pin-fixes-for-linkstation-lswtgl.patch
+features/arm/device-tree/ARM-dts-orion5x-fix-missing-mtdflash-linkstation-lswtgl.patch
+features/arm/device-tree/ARM-dts-kirkwood-relicense-dts-of-ls-wvl-vl-and-ls-wxl-ws.patch
+features/arm/device-tree/ARM-dts-kirkwood-split-lswxl-dts-to-linkstation-lswsxl-an.patch
+features/arm/device-tree/ARM-dts-kirkwood-split-lswvl-dts-to-linkstation-lsvl-and-.patch
+features/arm/device-tree/ARM-dts-kirkwood-add-for-buffalo-linkstation-ls-qvl.patch
+features/arm/device-tree/ARM-dts-orion5x-split-linkstation-lswtgl-into-common-and-.patch
+features/arm/device-tree/ARM-dts-orion5x-add-for-buffalo-linkstation-ls-gl.patch
 
 # Miscellaneous bug fixes
 bugfix/all/misc-bmp085-Enable-building-as-a-module.patch

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/kernel/linux.git



More information about the Kernel-svn-changes mailing list