Skip to contentSkip to conversation

ARM: dts: kirkwood: split lswxl and lswvl with fixes

PATCH New Roger Shimizu 4 participants 40 messages Jan 19, 2016 – Jan 25, 2016

Subsystems (2)
lore
Share & tools
lore
#0 lore raw

cover ARM: dts: kirkwood: split lswxl and lswvl with fixes

In order to support more buffalo linkstation devices in convenient way, I split current 2 dts files into a few comoon dtsi files and device specific dts files.

And I also fixed a few gpio/led pin, including fix for the issue mentioned in Debian BTS #810894.

Roger Shimizu (2):
ARM: dts: kirkwood: split lswxl into linkstation lswsxl and lswxl
ARM: dts: kirkwood: split lswvl into linkstation lsvl and lswvl

 .../devicetree/bindings/arm/marvell,kirkwood.txt   |   6 +-
 arch/arm/boot/dts/Makefile                         |   6 +-
 arch/arm/boot/dts/kirkwood-linkstation-6282.dtsi   | 190 +++++++++++++
 .../boot/dts/kirkwood-linkstation-duo-6281.dtsi    | 185 +++++++++++++
 arch/arm/boot/dts/kirkwood-linkstation-lsvl.dts    |  57 ++++
 arch/arm/boot/dts/kirkwood-linkstation-lswsxl.dts  |  57 ++++
 arch/arm/boot/dts/kirkwood-linkstation-lswvl.dts   | 112 ++++++++
 arch/arm/boot/dts/kirkwood-linkstation-lswxl.dts   | 113 ++++++++
 arch/arm/boot/dts/kirkwood-linkstation.dtsi        | 202 ++++++++++++++
 arch/arm/boot/dts/kirkwood-lswvl.dts               | 301 ---------------------
 arch/arm/boot/dts/kirkwood-lswxl.dts               | 301 ---------------------
 11 files changed, 924 insertions(+), 606 deletions(-)
 create mode 100644 arch/arm/boot/dts/kirkwood-linkstation-6282.dtsi
 create mode 100644 arch/arm/boot/dts/kirkwood-linkstation-duo-6281.dtsi
 create mode 100644 arch/arm/boot/dts/kirkwood-linkstation-lsvl.dts
 create mode 100644 arch/arm/boot/dts/kirkwood-linkstation-lswsxl.dts
 create mode 100644 arch/arm/boot/dts/kirkwood-linkstation-lswvl.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-lswvl.dts
 delete mode 100644 arch/arm/boot/dts/kirkwood-lswxl.dts
Signature · 1 line
2.1.4
#1 lore raw

PATCH 1/2 ARM: dts: kirkwood: split lswxl into linkstation lswsxl and lswxl

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

With a few gpio/led-pin changes, including fix for the issue mentioned in Debian BTS #810894.

License all newly created files under GPLv2/X11.

---
 .../devicetree/bindings/arm/marvell,kirkwood.txt   |   3 +-
 arch/arm/boot/dts/Makefile                         |   4 +-
 .../boot/dts/kirkwood-linkstation-duo-6281.dtsi    | 185 +++++++++++++
 arch/arm/boot/dts/kirkwood-linkstation-lswsxl.dts  |  57 ++++
 arch/arm/boot/dts/kirkwood-linkstation-lswxl.dts   | 113 ++++++++
 arch/arm/boot/dts/kirkwood-linkstation.dtsi        | 202 ++++++++++++++
 arch/arm/boot/dts/kirkwood-lswxl.dts               | 301 ---------------------
 7 files changed, 561 insertions(+), 304 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
Documentation/devicetree/bindings/arm/marvell,kirkwood.txt +2 -1
index 5171ad8..c7f8e3e 100644
@@ -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"
arch/arm/boot/dts/Makefile +2 -2
index 30bbc37..6dff6af 100644
@@ -183,9 +183,9 @@ 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 \
arch/arm/boot/dts/kirkwood-linkstation-duo-6281.dtsi new file +185 -0

185 lines not on this page · raw message

arch/arm/boot/dts/kirkwood-linkstation-lswsxl.dts new file +57 -0

57 lines not on this page · raw message

arch/arm/boot/dts/kirkwood-linkstation-lswxl.dts new file +113 -0

113 lines not on this page · raw message

arch/arm/boot/dts/kirkwood-linkstation.dtsi new file +202 -0

202 lines not on this page · raw message

arch/arm/boot/dts/kirkwood-lswxl.dts deleted +0 -301

301 lines not on this page · raw message

Signature · 1 line
2.1.4
#2 lore raw

PATCH 1/2 ARM: dts: kirkwood: split lswxl into linkstation lswsxl and lswxl

Quoted 13 lines · Roger Shimizu

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

Quoted 2 lines

With a few gpio/led-pin changes, including fix for the issue mentioned in Debian BTS #810894.

Hi Roger

This fix should be a separate patch. We can then get it applied to stable, so it makes its way back to older kernels.

Andrew

Quoted 942 lines

License all newly created files under GPLv2/X11.

---
 .../devicetree/bindings/arm/marvell,kirkwood.txt   |   3 +-
 arch/arm/boot/dts/Makefile                         |   4 +-
 .../boot/dts/kirkwood-linkstation-duo-6281.dtsi    | 185 +++++++++++++
 arch/arm/boot/dts/kirkwood-linkstation-lswsxl.dts  |  57 ++++
 arch/arm/boot/dts/kirkwood-linkstation-lswxl.dts   | 113 ++++++++
 arch/arm/boot/dts/kirkwood-linkstation.dtsi        | 202 ++++++++++++++
 arch/arm/boot/dts/kirkwood-lswxl.dts               | 301 ---------------------
 7 files changed, 561 insertions(+), 304 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
Documentation/devicetree/bindings/arm/marvell,kirkwood.txt +2 -1
index 5171ad8..c7f8e3e 100644
@@ -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"
arch/arm/boot/dts/Makefile +2 -2
index 30bbc37..6dff6af 100644
@@ -183,9 +183,9 @@ 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 \
arch/arm/boot/dts/kirkwood-linkstation-duo-6281.dtsi new file +185 -0
new file mode 100644
index 0000000..d83ae8e
@@ -0,0 +1,185 @@
+/*
+ * Device Tree common file for kirkwood-6281 based 2-Bay Buffalo Linkstation
+ *
+ * Copyright (C) 2015, 2016
+ * Roger Shimizu <[email protected]>
+ *
+ * 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 = "red:alarm";
+			gpios = <&gpio1 17 GPIO_ACTIVE_LOW>;
+		};
+
+		red-function-led {
+			label = "red:function";
+			gpios = <&gpio1 2 GPIO_ACTIVE_HIGH>;
+		};
+
+		amber-info-led {
+			label = "amber:info";
+			gpios = <&gpio1 6 GPIO_ACTIVE_LOW>;
+		};
+
+		blue-function-led {
+			label = "blue:function";
+			gpios = <&gpio1 4 GPIO_ACTIVE_LOW>;
+		};
+
+		blue-power-led {
+			label = "blue:power";
+			gpios = <&gpio1 7 GPIO_ACTIVE_LOW>;
+		};
+	};
+
+	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>;
+	};
+};
arch/arm/boot/dts/kirkwood-linkstation-lswsxl.dts new file +57 -0
new file mode 100644
index 0000000..4b64501
@@ -0,0 +1,57 @@
+/*
+ * Device Tree file for Buffalo Linkstation LS-WSXL
+ *
+ * Copyright (C) 2015, 2016
+ * Roger Shimizu <[email protected]>
+ *
+ * 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>;
+	};
+};
arch/arm/boot/dts/kirkwood-linkstation-lswxl.dts new file +113 -0
new file mode 100644
index 0000000..027f622
@@ -0,0 +1,113 @@
+/*
+ * Device Tree file for Buffalo Linkstation LS-WXL
+ *
+ * Copyright (C) 2015, 2016
+ * Roger Shimizu <[email protected]>
+ *
+ * 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 = "red:hdderr0";
+			gpios = <&gpio0 8 GPIO_ACTIVE_HIGH>;
+		};
+
+		red-hdderr1-led {
+			label = "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>;
+	};
+};
arch/arm/boot/dts/kirkwood-linkstation.dtsi new file +202 -0
new file mode 100644
index 0000000..69061b6
@@ -0,0 +1,202 @@
+/*
+ * Device Tree common file for kirkwood based Buffalo Linkstation
+ *
+ * Copyright (C) 2015, 2016
+ * Roger Shimizu <[email protected]>
+ *
+ * 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;
+		};
+	};
+};
arch/arm/boot/dts/kirkwood-lswxl.dts deleted +0 -301
deleted file mode 100644
index f5db16a..0000000
@@ -1,301 +0,0 @@
-/*
- * Device Tree file for Buffalo Linkstation LS-WXL/WSXL
- *
- * Copyright (C) 2015, 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.
- */
-
-/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 41 GPIO_ACTIVE_LOW>;
-		};
-
-		button at 2 {
-			label = "Power-on Switch";
-			linux,code = <KEY_RESERVED>;
-			linux,input-type = <5>;
-			gpios = <&gpio1 42 GPIO_ACTIVE_LOW>;
-		};
-
-		button at 3 {
-			label = "Power-auto Switch";
-			linux,code = <KEY_ESC>;
-			linux,input-type = <5>;
-			gpios = <&gpio1 43 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 36 GPIO_ACTIVE_LOW>;
-		};
-
-		led at 2 {
-			label = "lswxl:red:alarm";
-			gpios = <&gpio1 49 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 8 GPIO_ACTIVE_LOW>;
-		};
-
-		led at 5 {
-			label = "lswxl:red:func";
-			gpios = <&gpio1 5 GPIO_ACTIVE_LOW>;
-			default-state = "keep";
-		};
-
-		led at 6 {
-			label = "lswxl:red:hdderr0";
-			gpios = <&gpio1 2 GPIO_ACTIVE_LOW>;
-		};
-
-		led at 7 {
-			label = "lswxl:red:hdderr1";
-			gpios = <&gpio1 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 47 GPIO_ACTIVE_LOW
-			 &gpio0 48 GPIO_ACTIVE_LOW>;
-
-		gpio-fan,speed-map = <0 3
-				1500 2
-				3250 1
-				5000 0>;
-
-		alarm-gpios = <&gpio1 49 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 37 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>;
-	};
-};
Signature · 1 line
2.1.4
#3 lore raw

PATCH 1/2 ARM: dts: kirkwood: split lswxl into linkstation lswsxl and lswxl

Quoted 8 lines · Andrew Lunn
Quoted 2 lines · Roger Shimizu

With a few gpio/led-pin changes, including fix for the issue mentioned in Debian BTS #810894.

Hi Roger

This fix should be a separate patch. We can then get it applied to stable, so it makes its way back to older kernels.

Dear Andrew,

So this patchset would be reviewed or not?
Or I have to create another patchset including both fix for "kirkwood-lswxl.dts" and the dts split?

Cheers,
Roger

#4 lore raw

PATCH 1/2 ARM: dts: kirkwood: split lswxl into linkstation lswsxl and lswxl

Quoted 5 lines · Roger Shimizu
Quoted 4 lines · Andrew Lunn
Quoted 2 lines · Roger Shimizu

With a few gpio/led-pin changes, including fix for the issue mentioned in Debian BTS #810894.

Quoted 8 lines
Quoted 4 lines

Hi Roger

This fix should be a separate patch. We can then get it applied to stable, so it makes its way back to older kernels.

Dear Andrew,

So this patchset would be reviewed or not?

I will review it and give comments, but won't accept it.

Quoted 2 lines

Or I have to create another patchset including both fix for "kirkwood-lswxl.dts" and the dts split?

Yes please. And the fix patch should come first, and have a fixes:
tag.

As a general rule of thumb, it is better to have lots of small, easy to review patches, than an couple of big patch. So i would probably have:

1) Fix
2) License change.
3) Split patch LS-WXL/WSXL
4) Split patch LS-WVL/VL

The license change needs a different sort of review to the other patches, so having it as a separate patch helps with the review process.

Andrew

#5 lore raw

PATCH 1/2 ARM: dts: kirkwood: split lswxl into linkstation lswsxl and lswxl

Quoted 8 lines · Andrew Lunn
Quoted 7 lines · Roger Shimizu
Quoted 6 lines · Andrew Lunn
Quoted 2 lines · Roger Shimizu

With a few gpio/led-pin changes, including fix for the issue mentioned in Debian BTS #810894.

Hi Roger

Quoted 8 lines
Quoted 6 lines
Quoted 2 lines

This fix should be a separate patch. We can then get it applied to stable, so it makes its way back to older kernels.

Dear Andrew,

So this patchset would be reviewed or not?

I will review it and give comments, but won't accept it.

Please do.
I'll modify accordingly and include it in v2 patchset.

Quoted 10 lines
Quoted 2 lines

Or I have to create another patchset including both fix for "kirkwood-lswxl.dts" and the dts split?

Yes please. And the fix patch should come first, and have a fixes:
tag.

As a general rule of thumb, it is better to have lots of small, easy to review patches, than an couple of big patch. So i would probably have:

Quoted 8 lines

1) Fix
2) License change.
3) Split patch LS-WXL/WSXL
4) Split patch LS-WVL/VL

The license change needs a different sort of review to the other patches, so having it as a separate patch helps with the review process.

Thanks for your clarify!
Now I understand how to proceed.
Will send out my v2 patchset within this week.

Cheers,
Roger

#6 lore raw

PATCH 1/2 ARM: dts: kirkwood: split lswxl into linkstation lswsxl and lswxl

In reply to Roger Shimizu

arch/arm/boot/dts/kirkwood-linkstation-duo-6281.dtsi line 120

Quoted 3 lines
arch/arm/boot/dts/kirkwood-linkstation-duo-6281.dtsi new file +3 -0
+	gpio_leds {
+		red-alarm-led {
+			label = "red:alarm";

Led labels are supposed to have the machine name in them. This used to be "lswxl:red:alarm". It cannot be so specific now that it is in a dtsi file. So i would suggest "linkstation:red:alarm".

Otherwise, these changes look O.K.

Andrew

#7 lore raw

PATCH 2/2 ARM: dts: kirkwood: split lswvl into linkstation lsvl and lswvl

In reply to Roger Shimizu

LS-WVL/VL are both kirkwood-6282 based NAS devices, which share many MPP pins. However they are slightly different:
- 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.
- LS-WVL is 2-Bay NAS, and LS-VL is only 1-Bay.

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

License all newly created files under GPLv2/X11.

---
 .../devicetree/bindings/arm/marvell,kirkwood.txt   |   3 +-
 arch/arm/boot/dts/Makefile                         |   2 +
 arch/arm/boot/dts/kirkwood-linkstation-6282.dtsi   | 190 +++++++++++++
 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               | 301 ---------------------
 6 files changed, 363 insertions(+), 302 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
Documentation/devicetree/bindings/arm/marvell,kirkwood.txt +2 -1
index c7f8e3e..0d5d0f6 100644
@@ -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"
arch/arm/boot/dts/Makefile +2 -0
index 6dff6af..3e2cf27 100644
@@ -183,7 +183,9 @@ 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-lsxhl.dtb \
arch/arm/boot/dts/kirkwood-linkstation-6282.dtsi new file +190 -0

190 lines not on this page · raw message

arch/arm/boot/dts/kirkwood-linkstation-lsvl.dts new file +57 -0

57 lines not on this page · raw message

arch/arm/boot/dts/kirkwood-linkstation-lswvl.dts new file +112 -0

112 lines not on this page · raw message

arch/arm/boot/dts/kirkwood-lswvl.dts deleted +0 -301

301 lines not on this page · raw message

Signature · 1 line
2.1.4
#8 lore raw

v2 cover ARM: dts: kirkwood: fixes and split of linkstation dts for ls-wvl/vl and ls-wxl/wsxl

In reply to Roger Shimizu

Dear kirkwood maintainers,

Linkstation dts for ls-wxl and ls-wvl need some fixes:
- [patch 1/7] and [patch 2/7] are fixes for gpio pin
- [patch 3/7] and [patch 4/7] are fixes for gpio led
Above 4 patches can be safely backported to 4.3/4.4 stable kernel.

And in order to support more buffalo linkstation devices in convenient way, I split current 2 dts files into a few comoon dtsi files and device specific dts files.
- [patch 5/7] relicense dts under GPLv2/X11
- [patch 6/7] split dts for lswxl
- [patch 7/7] split dts for lswvl

Changes in v2:
- separate the fix and relicense patch
- add "linkstation:" to all led labels

Cheers.

Roger Shimizu (7):
ARM: dts: kirkwood: gpio pin fixes for linkstation ls-wxl/wsxl
ARM: dts: kirkwood: gpio pin fixes for linkstation ls-wvl/vl
ARM: dts: kirkwood: gpio-leds fixes for linkstation ls-wxl/wsxl
ARM: dts: kirkwood: gpio-leds fixes for linkstation ls-wvl/vl
ARM: dts: kirkwood: relicense dts of ls-wvl/vl and ls-wxl/wsxl under

    GPLv2/X11

ARM: dts: kirkwood: split lswxl dts to linkstation lswsxl and lswxl
ARM: dts: kirkwood: split lswvl dts to linkstation lsvl and lswvl

 .../devicetree/bindings/arm/marvell,kirkwood.txt   |   6 +-
 arch/arm/boot/dts/Makefile                         |   6 +-
 arch/arm/boot/dts/kirkwood-linkstation-6282.dtsi   | 191 +++++++++++++
 .../boot/dts/kirkwood-linkstation-duo-6281.dtsi    | 185 +++++++++++++
 arch/arm/boot/dts/kirkwood-linkstation-lsvl.dts    |  57 ++++
 arch/arm/boot/dts/kirkwood-linkstation-lswsxl.dts  |  57 ++++
 arch/arm/boot/dts/kirkwood-linkstation-lswvl.dts   | 112 ++++++++
 arch/arm/boot/dts/kirkwood-linkstation-lswxl.dts   | 116 ++++++++
 arch/arm/boot/dts/kirkwood-linkstation.dtsi        | 202 ++++++++++++++
 arch/arm/boot/dts/kirkwood-lswvl.dts               | 301 ---------------------
 arch/arm/boot/dts/kirkwood-lswxl.dts               | 301 ---------------------
 11 files changed, 928 insertions(+), 606 deletions(-)
 create mode 100644 arch/arm/boot/dts/kirkwood-linkstation-6282.dtsi
 create mode 100644 arch/arm/boot/dts/kirkwood-linkstation-duo-6281.dtsi
 create mode 100644 arch/arm/boot/dts/kirkwood-linkstation-lsvl.dts
 create mode 100644 arch/arm/boot/dts/kirkwood-linkstation-lswsxl.dts
 create mode 100644 arch/arm/boot/dts/kirkwood-linkstation-lswvl.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-lswvl.dts
 delete mode 100644 arch/arm/boot/dts/kirkwood-lswxl.dts
Signature · 1 line
2.1.4
#9 lore raw

PATCH v2 1/7 ARM: dts: kirkwood: gpio pin fixes for linkstation ls-wxl/wsxl

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")
---
 arch/arm/boot/dts/kirkwood-lswxl.dts | 29 +++++++++++++++--------------
 1 file changed, 15 insertions(+), 14 deletions(-)
arch/arm/boot/dts/kirkwood-lswxl.dts +15 -14
index f5db16a08597..0e93f6d19259 100644
@@ -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 <[email protected]>
  *
  * 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";
Signature · 1 line
2.1.4
#10 lore raw

PATCH v2 1/7 ARM: dts: kirkwood: gpio pin fixes for linkstation ls-wxl/wsxl

Quoted 12 lines · Roger Shimizu

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

Quoted 6 lines

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")

Thanks
Andrew

#11 lore raw

PATCH v2 2/7 ARM: dts: kirkwood: gpio pin fixes for linkstation ls-wvl/vl

In reply to Roger Shimizu

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")
---
 arch/arm/boot/dts/kirkwood-lswvl.dts | 25 +++++++++++++------------
 1 file changed, 13 insertions(+), 12 deletions(-)
arch/arm/boot/dts/kirkwood-lswvl.dts +13 -12
index 09eed3cea0af..28fd9abd7a57 100644
@@ -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 <[email protected]>
  *
  * 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 {
Signature · 1 line
2.1.4
#12 lore raw

PATCH v2 2/7 ARM: dts: kirkwood: gpio pin fixes for linkstation ls-wvl/vl

Quoted 10 lines · Roger Shimizu

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")

Thanks
Andrew

#13 lore raw

PATCH v2 3/7 ARM: dts: kirkwood: gpio-leds fixes for linkstation ls-wxl/wsxl

In reply to Roger Shimizu

Make all leds initially to "off" state except power indicator, so pins below change from active_low to active_high:
- gpio-leds: "lswxl:red:func" pin
- gpio-leds: "lswxl:red:hdderr{0,1}" pin

Fixes e54e4b1b622e ("ARM: dts: add buffalo linkstation ls-wxl/wsxl")
---
 arch/arm/boot/dts/kirkwood-lswxl.dts | 7 +++----
 1 file changed, 3 insertions(+), 4 deletions(-)
arch/arm/boot/dts/kirkwood-lswxl.dts +3 -4
index 0e93f6d19259..f4700a60065b 100644
@@ -206,18 +206,17 @@
 
 		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>;
 		};
 	};
 
Signature · 1 line
2.1.4
#14 lore raw

PATCH v2 3/7 ARM: dts: kirkwood: gpio-leds fixes for linkstation ls-wxl/wsxl

Quoted 2 lines · Roger Shimizu

Make all leds initially to "off" state except power indicator, so pins below change from active_low to active_high:

So what happens when you echo 1 to /sys/class/led/lswxl:red:func/brightness ?

1 should turn the LED on, 0 off. This is what GPIO_ACTIVE_LOW/GPIO_ACTIVE_HIGH is about, and these are independent of the initial off/on state.

Andrew

Quoted 38 lines

- gpio-leds: "lswxl:red:func" pin
- gpio-leds: "lswxl:red:hdderr{0,1}" pin

Fixes e54e4b1b622e ("ARM: dts: add buffalo linkstation ls-wxl/wsxl")
---
 arch/arm/boot/dts/kirkwood-lswxl.dts | 7 +++----
 1 file changed, 3 insertions(+), 4 deletions(-)
arch/arm/boot/dts/kirkwood-lswxl.dts +3 -4
index 0e93f6d19259..f4700a60065b 100644
@@ -206,18 +206,17 @@
 
 		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>;
 		};
 	};
 
Signature · 1 line
2.1.4
#15 lore raw

PATCH v2 3/7 ARM: dts: kirkwood: gpio-leds fixes for linkstation ls-wxl/wsxl

Quoted 9 lines · Andrew Lunn
Quoted 2 lines · Roger Shimizu

Make all leds initially to "off" state except power indicator, so pins below change from active_low to active_high:

So what happens when you echo 1 to /sys/class/led/lswxl:red:func/brightness ?

1 should turn the LED on, 0 off. This is what GPIO_ACTIVE_LOW/GPIO_ACTIVE_HIGH is about, and these are independent of the initial off/on state.

after reboot,

# cat /sys/class/leds/lswxl\:red\:func/brightness
0
# echo 1 > /sys/class/leds/lswxl\:red\:func/brightness

1st command shows the initial value is 0.
2nd command will turn the LED to on state.

I guess board will set the value to 0 when boot, so as GPIO_ACTIVE_LOW/GPIO_ACTIVE_HIGH can change the initial state of LED.

Cheers,
Roger

#16 lore raw

PATCH v2 3/7 ARM: dts: kirkwood: gpio-leds fixes for linkstation ls-wxl/wsxl

In reply to Roger Shimizu
Quoted 4 lines · Roger Shimizu

Make all leds initially to "off" state except power indicator, so pins below change from active_low to active_high:
- gpio-leds: "lswxl:red:func" pin
- gpio-leds: "lswxl:red:hdderr{0,1}" pin

Hi Roger

So the patch is correct, but the changelog is not really correct. Better to say:

The GPIOs controlling the LEDs are active high, not low.

Please resend, and add my:

Andrew

Quoted 36 lines
Fixes e54e4b1b622e ("ARM: dts: add buffalo linkstation ls-wxl/wsxl")
---
 arch/arm/boot/dts/kirkwood-lswxl.dts | 7 +++----
 1 file changed, 3 insertions(+), 4 deletions(-)
arch/arm/boot/dts/kirkwood-lswxl.dts +3 -4
index 0e93f6d19259..f4700a60065b 100644
@@ -206,18 +206,17 @@
 
 		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>;
 		};
 	};
 
Signature · 1 line
2.1.4
#17 lore raw

PATCH v2 4/7 ARM: dts: kirkwood: gpio-leds fixes for linkstation ls-wvl/vl

In reply to Roger Shimizu

Make all leds initially to "off" state except power indicator, so pins below change from active_low to active_high:
- 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:blue:power" pin
- gpio-leds: "lswvl:red:hdderr{0,1}" pin

Fixes c43379e150aa ("ARM: dts: add buffalo linkstation ls-wvl/vl")
---
 arch/arm/boot/dts/kirkwood-lswvl.dts | 15 +++++++--------
 1 file changed, 7 insertions(+), 8 deletions(-)
arch/arm/boot/dts/kirkwood-lswvl.dts +7 -8
index 28fd9abd7a57..20b6b0c8b3ec 100644
@@ -186,38 +186,37 @@
 
 		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 {
 			label = "lswvl:blue:power";
-			gpios = <&gpio1 8 GPIO_ACTIVE_LOW>;
-			default-state = "keep";
+			gpios = <&gpio1 8 GPIO_ACTIVE_HIGH>;
 		};
 
 		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>;
 		};
 	};
 
Signature · 1 line
2.1.4
#18 lore raw

PATCH v2 4/7 ARM: dts: kirkwood: gpio-leds fixes for linkstation ls-wvl/vl

Quoted 8 lines · Roger Shimizu

Make all leds initially to "off" state except power indicator, so pins below change from active_low to active_high:
- 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:blue:power" pin
- gpio-leds: "lswvl:red:hdderr{0,1}" pin

Hi Roger

So the comments want changes, but otherwise:

Thanks
Andrew

Quoted 60 lines
Fixes c43379e150aa ("ARM: dts: add buffalo linkstation ls-wvl/vl")
---
 arch/arm/boot/dts/kirkwood-lswvl.dts | 15 +++++++--------
 1 file changed, 7 insertions(+), 8 deletions(-)
arch/arm/boot/dts/kirkwood-lswvl.dts +7 -8
index 28fd9abd7a57..20b6b0c8b3ec 100644
@@ -186,38 +186,37 @@
 
 		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 {
 			label = "lswvl:blue:power";
-			gpios = <&gpio1 8 GPIO_ACTIVE_LOW>;
-			default-state = "keep";
+			gpios = <&gpio1 8 GPIO_ACTIVE_HIGH>;
 		};
 
 		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>;
 		};
 	};
 
Signature · 1 line
2.1.4
#19 lore raw

PATCH v2 5/7 ARM: dts: kirkwood: relicense dts of ls-wvl/vl and ls-wxl/wsxl under GPLv2/X11

In reply to Roger Shimizu
---
 arch/arm/boot/dts/kirkwood-lswvl.dts | 41 ++++++++++++++++++++++++++++++++----
 arch/arm/boot/dts/kirkwood-lswxl.dts | 41 ++++++++++++++++++++++++++++++++----
 2 files changed, 74 insertions(+), 8 deletions(-)
arch/arm/boot/dts/kirkwood-lswvl.dts +37 -4
index 20b6b0c8b3ec..59ac94cc93e9 100644
@@ -4,10 +4,43 @@
  * Copyright (C) 2015, 2016
  * Roger Shimizu <[email protected]>
  *
- * 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/;
arch/arm/boot/dts/kirkwood-lswxl.dts +37 -4

47 lines not on this page · raw message

Signature · 1 line
2.1.4
#20 lore raw

PATCH v2 5/7 ARM: dts: kirkwood: relicense dts of ls-wvl/vl and ls-wxl/wsxl under GPLv2/X11

Quoted 1 line · Roger Shimizu

Roger is the sole contributor to these files, according to git log.

Andrew

Quoted 112 lines
---
 arch/arm/boot/dts/kirkwood-lswvl.dts | 41 ++++++++++++++++++++++++++++++++----
 arch/arm/boot/dts/kirkwood-lswxl.dts | 41 ++++++++++++++++++++++++++++++++----
 2 files changed, 74 insertions(+), 8 deletions(-)
arch/arm/boot/dts/kirkwood-lswvl.dts +37 -4
index 20b6b0c8b3ec..59ac94cc93e9 100644
@@ -4,10 +4,43 @@
  * Copyright (C) 2015, 2016
  * Roger Shimizu <[email protected]>
  *
- * 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/;
arch/arm/boot/dts/kirkwood-lswxl.dts +37 -4
index f4700a60065b..5bc0b597c9c2 100644
@@ -4,10 +4,43 @@
  * Copyright (C) 2015, 2016
  * Roger Shimizu <[email protected]>
  *
- * 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/;
Signature · 1 line
2.1.4
#21 lore raw

PATCH v2 6/7 ARM: dts: kirkwood: split lswxl dts to linkstation lswsxl and lswxl

In reply to Roger Shimizu

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

---
 .../devicetree/bindings/arm/marvell,kirkwood.txt   |   3 +-
 arch/arm/boot/dts/Makefile                         |   3 +-
 .../boot/dts/kirkwood-linkstation-duo-6281.dtsi    | 185 ++++++++++++
 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               | 334 ---------------------
 7 files changed, 564 insertions(+), 336 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
Documentation/devicetree/bindings/arm/marvell,kirkwood.txt +2 -1
index 5171ad8f48ff..c7f8e3e97c78 100644
@@ -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"
arch/arm/boot/dts/Makefile +2 -1
index 30bbc3746130..788c75a69364 100644
@@ -183,9 +183,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 \
arch/arm/boot/dts/kirkwood-linkstation-duo-6281.dtsi new file +185 -0

185 lines not on this page · raw message

arch/arm/boot/dts/kirkwood-linkstation-lswsxl.dts new file +57 -0

57 lines not on this page · raw message

arch/arm/boot/dts/kirkwood-linkstation-lswxl.dts new file +116 -0

116 lines not on this page · raw message

arch/arm/boot/dts/kirkwood-linkstation.dtsi new file +202 -0

202 lines not on this page · raw message

arch/arm/boot/dts/kirkwood-lswxl.dts deleted +0 -334

334 lines not on this page · raw message

Signature · 1 line
2.1.4
#22 lore raw

PATCH v2 6/7 ARM: dts: kirkwood: split lswxl dts to linkstation lswsxl and lswxl

Quoted 15 lines · Roger Shimizu

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

---

[...]

Quoted 6 lines
arch/arm/boot/dts/kirkwood-linkstation-duo-6281.dtsi new file +0 -0
new file mode 100644
index 000000000000..47b8f185839d
@@ -0,0 +1,185 @@

[...]

arch/arm/boot/dts/kirkwood-linkstation-duo-6281.dtsi line 52

Quoted 3 lines
arch/arm/boot/dts/kirkwood-linkstation-duo-6281.dtsi new file +3 -0
+/ {
+	ocp at f1000000 {
+		pinctrl: pin-controller at 10000 {

Roger,

nice series! Mind to send another patch moving pinctrl stuff and sata below to node references for both boards?

Kirkwood has &pinctrl and &sata labels, it helps to keep the bus structure out of the board files. &mdio is an example for that.

I might be easier not to squash that into this series but send another one later.

Sebastian

Quoted 4 lines
arch/arm/boot/dts/kirkwood-linkstation-duo-6281.dtsi new file +4 -0
+			pmx_power_hdd0: pmx-power-hdd0 {
+				marvell,pins = "mpp28";
+				marvell,function = "gpio";
+			};

[...]

Quoted 6 lines
arch/arm/boot/dts/kirkwood-linkstation-duo-6281.dtsi new file +6 -0
+		};
+
+		sata at 80000 {
+			nr-ports = <2>;
+		};
+	};

[...]

Quoted 18 lines
arch/arm/boot/dts/kirkwood-linkstation-duo-6281.dtsi new file +18 -0
+};
+
+&mdio {
+	status = "okay";
+
+	ethphy1: ethernet-phy at 8 {
+		device_type = "ethernet-phy";
+		reg = <8>;
+	};
+};
+
+&eth1 {
+	status = "okay";
+
+	ethernet1-port at 0 {
+		phy-handle = <&ethphy1>;
+	};
+};
#23 lore raw

PATCH v2 6/7 ARM: dts: kirkwood: split lswxl dts to linkstation lswsxl and lswxl

Quoted 37 lines · Sebastian Hesselbarth
Quoted 16 lines · Roger Shimizu

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

---

[...]

Quoted 8 lines
arch/arm/boot/dts/kirkwood-linkstation-duo-6281.dtsi new file +0 -0
new file mode 100644
index 000000000000..47b8f185839d
@@ -0,0 +1,185 @@

[...]

arch/arm/boot/dts/kirkwood-linkstation-duo-6281.dtsi line 52

Quoted 4 lines
arch/arm/boot/dts/kirkwood-linkstation-duo-6281.dtsi new file +3 -0
+/ {
+       ocp at f1000000 {
+               pinctrl: pin-controller at 10000 {

Roger,

Quoted 8 lines

nice series! Mind to send another patch moving pinctrl stuff and sata below to node references for both boards?

Kirkwood has &pinctrl and &sata labels, it helps to keep the bus structure out of the board files. &mdio is an example for that.

I might be easier not to squash that into this series but send another one later.

Dear Sebastian,

Understand your point.
I'll create a patch by your suggestion, when this series get committed. Thanks for your advice!

Cheers,
Roger

#24 lore raw

PATCH v2 6/7 ARM: dts: kirkwood: split lswxl dts to linkstation lswsxl and lswxl

In reply to Roger Shimizu
Quoted 6 lines · Roger Shimizu

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.

Quoted 8 lines

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

Thanks
Andrew

Quoted 974 lines
---
 .../devicetree/bindings/arm/marvell,kirkwood.txt   |   3 +-
 arch/arm/boot/dts/Makefile                         |   3 +-
 .../boot/dts/kirkwood-linkstation-duo-6281.dtsi    | 185 ++++++++++++
 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               | 334 ---------------------
 7 files changed, 564 insertions(+), 336 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
Documentation/devicetree/bindings/arm/marvell,kirkwood.txt +2 -1
index 5171ad8f48ff..c7f8e3e97c78 100644
@@ -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"
arch/arm/boot/dts/Makefile +2 -1
index 30bbc3746130..788c75a69364 100644
@@ -183,9 +183,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 \
arch/arm/boot/dts/kirkwood-linkstation-duo-6281.dtsi new file +185 -0
new file mode 100644
index 000000000000..47b8f185839d
@@ -0,0 +1,185 @@
+/*
+ * Device Tree common file for kirkwood-6281 based 2-Bay Buffalo Linkstation
+ *
+ * Copyright (C) 2015, 2016
+ * Roger Shimizu <[email protected]>
+ *
+ * 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_LOW>;
+		};
+	};
+
+	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>;
+	};
+};
arch/arm/boot/dts/kirkwood-linkstation-lswsxl.dts new file +57 -0
new file mode 100644
index 000000000000..4b6450186af5
@@ -0,0 +1,57 @@
+/*
+ * Device Tree file for Buffalo Linkstation LS-WSXL
+ *
+ * Copyright (C) 2015, 2016
+ * Roger Shimizu <[email protected]>
+ *
+ * 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>;
+	};
+};
arch/arm/boot/dts/kirkwood-linkstation-lswxl.dts new file +116 -0
new file mode 100644
index 000000000000..ecd5c12a805d
@@ -0,0 +1,116 @@
+/*
+ * Device Tree file for Buffalo Linkstation LS-WXL
+ *
+ * Copyright (C) 2015, 2016
+ * Roger Shimizu <[email protected]>
+ *
+ * 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>;
+	};
+};
arch/arm/boot/dts/kirkwood-linkstation.dtsi new file +202 -0
new file mode 100644
index 000000000000..69061b6e987b
@@ -0,0 +1,202 @@
+/*
+ * Device Tree common file for kirkwood based Buffalo Linkstation
+ *
+ * Copyright (C) 2015, 2016
+ * Roger Shimizu <[email protected]>
+ *
+ * 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;
+		};
+	};
+};
arch/arm/boot/dts/kirkwood-lswxl.dts deleted +0 -334
deleted file mode 100644
index 5bc0b597c9c2..000000000000
@@ -1,334 +0,0 @@
-/*
- * Device Tree file for Buffalo Linkstation LS-WXL/WSXL
- *
- * Copyright (C) 2015, 2016
- * Roger Shimizu <[email protected]>
- *
- * 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_LOW>;
-		};
-
-		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>;
-	};
-};
Signature · 1 line
2.1.4
#25 lore raw

PATCH v2 7/7 ARM: dts: kirkwood: split lswvl dts to linkstation lsvl and lswvl

In reply to Roger Shimizu

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

---
 .../devicetree/bindings/arm/marvell,kirkwood.txt   |   3 +-
 arch/arm/boot/dts/Makefile                         |   3 +-
 arch/arm/boot/dts/kirkwood-linkstation-6282.dtsi   | 191 ++++++++++++
 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               | 334 ---------------------
 6 files changed, 364 insertions(+), 336 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
Documentation/devicetree/bindings/arm/marvell,kirkwood.txt +2 -1
index c7f8e3e97c78..0d5d0f607d6c 100644
@@ -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"
arch/arm/boot/dts/Makefile +2 -1
index 788c75a69364..3e2cf27d2368 100644
@@ -183,10 +183,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 \
arch/arm/boot/dts/kirkwood-linkstation-6282.dtsi new file +191 -0

191 lines not on this page · raw message

arch/arm/boot/dts/kirkwood-linkstation-lsvl.dts new file +57 -0

57 lines not on this page · raw message

arch/arm/boot/dts/kirkwood-linkstation-lswvl.dts new file +112 -0

112 lines not on this page · raw message

arch/arm/boot/dts/kirkwood-lswvl.dts deleted +0 -334

334 lines not on this page · raw message

Signature · 1 line
2.1.4
#26 lore raw

PATCH v2 7/7 ARM: dts: kirkwood: split lswvl dts to linkstation lsvl and lswvl

Quoted 6 lines · Roger Shimizu

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.

Quoted 7 lines

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

Andrew

#27 lore raw

v3 cover ARM: dts: kirkwood: fixes and split of linkstation dts for ls-wvl/vl and ls-wxl/wsxl

In reply to Roger Shimizu

Dear kirkwood maintainers,

Linkstation dts for ls-wxl and ls-wvl need some fixes:
- [patch 1/7] and [patch 2/7] are fixes for gpio pin
- [patch 3/7] and [patch 4/7] are fixes for gpio led
Above 4 patches can be safely backported to 4.3/4.4 stable kernel.

And in order to support more buffalo linkstation devices in convenient way, I split current 2 dts files into a few comoon dtsi files and device specific dts files.
- [patch 5/7] relicense dts under GPLv2/X11
- [patch 6/7] split dts for lswxl
- [patch 7/7] split dts for lswvl

Changes in v2:
- separate the fix and relicense patch
- add "linkstation:" to all led labels
Changes in v3:
- address Andrew Lunn's suggestion to change commit message

    for [patch 3/7] and [patch 4/7]

- add Andrew Lunn's "Reviewed-by"
- address active high/low for the power LED

Cheers.

Roger Shimizu (7):
ARM: dts: kirkwood: gpio pin fixes for linkstation ls-wxl/wsxl
ARM: dts: kirkwood: gpio pin fixes for linkstation ls-wvl/vl
ARM: dts: kirkwood: gpio-leds fixes for linkstation ls-wxl/wsxl
ARM: dts: kirkwood: gpio-leds fixes for linkstation ls-wvl/vl
ARM: dts: kirkwood: relicense dts of ls-wvl/vl and ls-wxl/wsxl under

    GPLv2/X11

ARM: dts: kirkwood: split lswxl dts to linkstation lswsxl and lswxl
ARM: dts: kirkwood: split lswvl dts to linkstation lsvl and lswvl

 .../devicetree/bindings/arm/marvell,kirkwood.txt   |   6 +-
 arch/arm/boot/dts/Makefile                         |   6 +-
 arch/arm/boot/dts/kirkwood-linkstation-6282.dtsi   | 192 +++++++++++++
 .../boot/dts/kirkwood-linkstation-duo-6281.dtsi    | 186 +++++++++++++
 arch/arm/boot/dts/kirkwood-linkstation-lsvl.dts    |  57 ++++
 arch/arm/boot/dts/kirkwood-linkstation-lswsxl.dts  |  57 ++++
 arch/arm/boot/dts/kirkwood-linkstation-lswvl.dts   | 112 ++++++++
 arch/arm/boot/dts/kirkwood-linkstation-lswxl.dts   | 116 ++++++++
 arch/arm/boot/dts/kirkwood-linkstation.dtsi        | 202 ++++++++++++++
 arch/arm/boot/dts/kirkwood-lswvl.dts               | 301 ---------------------
 arch/arm/boot/dts/kirkwood-lswxl.dts               | 301 ---------------------
 11 files changed, 930 insertions(+), 606 deletions(-)
 create mode 100644 arch/arm/boot/dts/kirkwood-linkstation-6282.dtsi
 create mode 100644 arch/arm/boot/dts/kirkwood-linkstation-duo-6281.dtsi
 create mode 100644 arch/arm/boot/dts/kirkwood-linkstation-lsvl.dts
 create mode 100644 arch/arm/boot/dts/kirkwood-linkstation-lswsxl.dts
 create mode 100644 arch/arm/boot/dts/kirkwood-linkstation-lswvl.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-lswvl.dts
 delete mode 100644 arch/arm/boot/dts/kirkwood-lswxl.dts
Signature · 1 line
2.1.4
#28 lore raw

PATCH v3 1/7 ARM: dts: kirkwood: gpio pin fixes for linkstation ls-wxl/wsxl

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")
---
 arch/arm/boot/dts/kirkwood-lswxl.dts | 29 +++++++++++++++--------------
 1 file changed, 15 insertions(+), 14 deletions(-)
arch/arm/boot/dts/kirkwood-lswxl.dts +15 -14
index f5db16a08597..0e93f6d19259 100644
@@ -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 <[email protected]>
  *
  * 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";
Signature · 1 line
2.1.4
#29 lore raw

PATCH v3 2/7 ARM: dts: kirkwood: gpio pin fixes for linkstation ls-wvl/vl

In reply to Roger Shimizu

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")
---
 arch/arm/boot/dts/kirkwood-lswvl.dts | 25 +++++++++++++------------
 1 file changed, 13 insertions(+), 12 deletions(-)
arch/arm/boot/dts/kirkwood-lswvl.dts +13 -12
index 09eed3cea0af..28fd9abd7a57 100644
@@ -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 <[email protected]>
  *
  * 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 {
Signature · 1 line
2.1.4
#30 lore raw

PATCH v3 3/7 ARM: dts: kirkwood: gpio-leds fixes for linkstation ls-wxl/wsxl

In reply to Roger Shimizu

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")
---
 arch/arm/boot/dts/kirkwood-lswxl.dts | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)
arch/arm/boot/dts/kirkwood-lswxl.dts +5 -5
index 0e93f6d19259..b13ec20a7088 100644
@@ -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>;
 		};
 	};
 
Signature · 1 line
2.1.4
#31 lore raw

PATCH v3 4/7 ARM: dts: kirkwood: gpio-leds fixes for linkstation ls-wvl/vl

In reply to Roger Shimizu

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")
---
 arch/arm/boot/dts/kirkwood-lswvl.dts | 12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)
arch/arm/boot/dts/kirkwood-lswvl.dts +6 -6
index 28fd9abd7a57..36eec7392ab4 100644
@@ -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>;
 		};
 	};
 
Signature · 1 line
2.1.4
#32 lore raw

PATCH v3 5/7 ARM: dts: kirkwood: relicense dts of ls-wvl/vl and ls-wxl/wsxl under GPLv2/X11

In reply to Roger Shimizu
---
 arch/arm/boot/dts/kirkwood-lswvl.dts | 41 ++++++++++++++++++++++++++++++++----
 arch/arm/boot/dts/kirkwood-lswxl.dts | 41 ++++++++++++++++++++++++++++++++----
 2 files changed, 74 insertions(+), 8 deletions(-)
arch/arm/boot/dts/kirkwood-lswvl.dts +37 -4
index 36eec7392ab4..04bdc4f19a9f 100644
@@ -4,10 +4,43 @@
  * Copyright (C) 2015, 2016
  * Roger Shimizu <[email protected]>
  *
- * 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/;
arch/arm/boot/dts/kirkwood-lswxl.dts +37 -4

47 lines not on this page · raw message

Signature · 1 line
2.1.4
#33 lore raw

PATCH v3 6/7 ARM: dts: kirkwood: split lswxl dts to linkstation lswsxl and lswxl

In reply to Roger Shimizu

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

---
 .../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
Documentation/devicetree/bindings/arm/marvell,kirkwood.txt +2 -1
index 5171ad8f48ff..c7f8e3e97c78 100644
@@ -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"
arch/arm/boot/dts/Makefile +2 -1
index 30bbc3746130..788c75a69364 100644
@@ -183,9 +183,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 \
arch/arm/boot/dts/kirkwood-linkstation-duo-6281.dtsi new file +186 -0

186 lines not on this page · raw message

arch/arm/boot/dts/kirkwood-linkstation-lswsxl.dts new file +57 -0

57 lines not on this page · raw message

arch/arm/boot/dts/kirkwood-linkstation-lswxl.dts new file +116 -0

116 lines not on this page · raw message

arch/arm/boot/dts/kirkwood-linkstation.dtsi new file +202 -0

202 lines not on this page · raw message

arch/arm/boot/dts/kirkwood-lswxl.dts deleted +0 -335

335 lines not on this page · raw message

Signature · 1 line
2.1.4
#34 lore raw

PATCH v3 7/7 ARM: dts: kirkwood: split lswvl dts to linkstation lsvl and lswvl

In reply to Roger Shimizu

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

---
 .../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
Documentation/devicetree/bindings/arm/marvell,kirkwood.txt +2 -1
index c7f8e3e97c78..0d5d0f607d6c 100644
@@ -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"
arch/arm/boot/dts/Makefile +2 -1
index 788c75a69364..3e2cf27d2368 100644
@@ -183,10 +183,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 \
arch/arm/boot/dts/kirkwood-linkstation-6282.dtsi new file +192 -0

192 lines not on this page · raw message

arch/arm/boot/dts/kirkwood-linkstation-lsvl.dts new file +57 -0

57 lines not on this page · raw message

arch/arm/boot/dts/kirkwood-linkstation-lswvl.dts new file +112 -0

112 lines not on this page · raw message

arch/arm/boot/dts/kirkwood-lswvl.dts deleted +0 -335

335 lines not on this page · raw message

Signature · 1 line
2.1.4
#35 lore raw

v3 cover ARM: dts: kirkwood: fixes and split of linkstation dts for ls-wvl/vl and ls-wxl/wsxl

In reply to Roger Shimizu

Hi Roger,

Quoted 14 lines · Roger Shimizu

Dear kirkwood maintainers,

Linkstation dts for ls-wxl and ls-wvl need some fixes:
- [patch 1/7] and [patch 2/7] are fixes for gpio pin
- [patch 3/7] and [patch 4/7] are fixes for gpio led
Above 4 patches can be safely backported to 4.3/4.4 stable kernel.

And in order to support more buffalo linkstation devices in convenient way, I split current 2 dts files into a few comoon dtsi files and device specific dts files.
- [patch 5/7] relicense dts under GPLv2/X11
- [patch 6/7] split dts for lswxl
- [patch 7/7] split dts for lswvl

Quoted 8 lines

Changes in v2:
- separate the fix and relicense patch
- add "linkstation:" to all led labels
Changes in v3:
- address Andrew Lunn's suggestion to change commit message

    for [patch 3/7] and [patch 4/7]

- add Andrew Lunn's "Reviewed-by"
- address active high/low for the power LED

I will apply this series on the mvebu branches when v4.5-rc1 will be released (so it should be the next week).

Thanks,

Greogry

Quoted 38 lines

Cheers.

Roger Shimizu (7):
ARM: dts: kirkwood: gpio pin fixes for linkstation ls-wxl/wsxl
ARM: dts: kirkwood: gpio pin fixes for linkstation ls-wvl/vl
ARM: dts: kirkwood: gpio-leds fixes for linkstation ls-wxl/wsxl
ARM: dts: kirkwood: gpio-leds fixes for linkstation ls-wvl/vl
ARM: dts: kirkwood: relicense dts of ls-wvl/vl and ls-wxl/wsxl under

    GPLv2/X11

ARM: dts: kirkwood: split lswxl dts to linkstation lswsxl and lswxl
ARM: dts: kirkwood: split lswvl dts to linkstation lsvl and lswvl

 .../devicetree/bindings/arm/marvell,kirkwood.txt   |   6 +-
 arch/arm/boot/dts/Makefile                         |   6 +-
 arch/arm/boot/dts/kirkwood-linkstation-6282.dtsi   | 192 +++++++++++++
 .../boot/dts/kirkwood-linkstation-duo-6281.dtsi    | 186 +++++++++++++
 arch/arm/boot/dts/kirkwood-linkstation-lsvl.dts    |  57 ++++
 arch/arm/boot/dts/kirkwood-linkstation-lswsxl.dts  |  57 ++++
 arch/arm/boot/dts/kirkwood-linkstation-lswvl.dts   | 112 ++++++++
 arch/arm/boot/dts/kirkwood-linkstation-lswxl.dts   | 116 ++++++++
 arch/arm/boot/dts/kirkwood-linkstation.dtsi        | 202 ++++++++++++++
 arch/arm/boot/dts/kirkwood-lswvl.dts               | 301 ---------------------
 arch/arm/boot/dts/kirkwood-lswxl.dts               | 301 ---------------------
 11 files changed, 930 insertions(+), 606 deletions(-)
 create mode 100644 arch/arm/boot/dts/kirkwood-linkstation-6282.dtsi
 create mode 100644 arch/arm/boot/dts/kirkwood-linkstation-duo-6281.dtsi
 create mode 100644 arch/arm/boot/dts/kirkwood-linkstation-lsvl.dts
 create mode 100644 arch/arm/boot/dts/kirkwood-linkstation-lswsxl.dts
 create mode 100644 arch/arm/boot/dts/kirkwood-linkstation-lswvl.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-lswvl.dts
 delete mode 100644 arch/arm/boot/dts/kirkwood-lswxl.dts
Signature · 1 line
2.1.4
Signature · 4 lines
Gregory Clement, Free Electrons
Kernel, drivers, real-time and embedded Linux
development, consulting, training and support.
http://free-electrons.com
#36 lore raw

v3 cover ARM: dts: kirkwood: fixes and split of linkstation dts for ls-wvl/vl and ls-wxl/wsxl

Quoted 27 lines · Gregory CLEMENT

Hi Roger,

Quoted 14 lines · Roger Shimizu

Dear kirkwood maintainers,

Linkstation dts for ls-wxl and ls-wvl need some fixes:
- [patch 1/7] and [patch 2/7] are fixes for gpio pin
- [patch 3/7] and [patch 4/7] are fixes for gpio led
Above 4 patches can be safely backported to 4.3/4.4 stable kernel.

And in order to support more buffalo linkstation devices in convenient way, I split current 2 dts files into a few comoon dtsi files and device specific dts files.
- [patch 5/7] relicense dts under GPLv2/X11
- [patch 6/7] split dts for lswxl
- [patch 7/7] split dts for lswvl

Quoted 8 lines

Changes in v2:
- separate the fix and relicense patch
- add "linkstation:" to all led labels
Changes in v3:
- address Andrew Lunn's suggestion to change commit message

    for [patch 3/7] and [patch 4/7]

- add Andrew Lunn's "Reviewed-by"
- address active high/low for the power LED

Quoted 2 lines

I will apply this series on the mvebu branches when v4.5-rc1 will be released (so it should be the next week).

Dear Gregory,

Thanks for your feedback!

Just curious,
since patch 0001~0004 are fixes, could it be applied earlier?

Cheers,
Roger

#37 lore raw

v3 cover ARM: dts: kirkwood: fixes and split of linkstation dts for ls-wvl/vl and ls-wxl/wsxl

Hi Roger,

Quoted 32 lines · Roger Shimizu
Quoted 27 lines · Gregory CLEMENT

Hi Roger,

Quoted 14 lines · Roger Shimizu

Dear kirkwood maintainers,

Linkstation dts for ls-wxl and ls-wvl need some fixes:
- [patch 1/7] and [patch 2/7] are fixes for gpio pin
- [patch 3/7] and [patch 4/7] are fixes for gpio led
Above 4 patches can be safely backported to 4.3/4.4 stable kernel.

And in order to support more buffalo linkstation devices in convenient way, I split current 2 dts files into a few comoon dtsi files and device specific dts files.
- [patch 5/7] relicense dts under GPLv2/X11
- [patch 6/7] split dts for lswxl
- [patch 7/7] split dts for lswvl

Quoted 8 lines

Changes in v2:
- separate the fix and relicense patch
- add "linkstation:" to all led labels
Changes in v3:
- address Andrew Lunn's suggestion to change commit message

    for [patch 3/7] and [patch 4/7]

- add Andrew Lunn's "Reviewed-by"
- address active high/low for the power LED

Quoted 2 lines

I will apply this series on the mvebu branches when v4.5-rc1 will be released (so it should be the next week).

Quoted 6 lines

Dear Gregory,

Thanks for your feedback!

Just curious,
since patch 0001~0004 are fixes, could it be applied earlier?

Our branches go to Linus tree through the arm-soc tree. As they have just did a pull request I doubt a new one will be done this week.

Moreover all our patches are based on the rc1: having a single refrence helps the arm-soc subsystem to merge all the contributions, that's why I am waiting for next week.

And finally for this patch it is obviously too late for for 4.4 but we have plenty of time for 4.5. However, I plan to send these fixes to arm-soc early next week so it should be in 4.5-rc2, and as soon it will be in Linus tree then it should be backported to 4.4 and 4.3 by the stable team.

Gregory

Quoted 3 lines

Cheers,
Roger

Signature · 4 lines
Gregory Clement, Free Electrons
Kernel, drivers, real-time and embedded Linux
development, consulting, training and support.
http://free-electrons.com
#38 lore raw

v3 cover ARM: dts: kirkwood: fixes and split of linkstation dts for ls-wvl/vl and ls-wxl/wsxl

Quoted 11 lines · Gregory CLEMENT
Quoted 2 lines · Roger Shimizu

Just curious,
since patch 0001~0004 are fixes, could it be applied earlier?

Our branches go to Linus tree through the arm-soc tree. As they have just did a pull request I doubt a new one will be done this week.

Moreover all our patches are based on the rc1: having a single refrence helps the arm-soc subsystem to merge all the contributions, that's why I am waiting for next week.

Quoted 5 lines

And finally for this patch it is obviously too late for for 4.4 but we have plenty of time for 4.5. However, I plan to send these fixes to arm-soc early next week so it should be in 4.5-rc2, and as soon it will be in Linus tree then it should be backported to 4.4 and 4.3 by the stable team.

Dear Gregory,

Understand the status. Will wait for the merge next week. Thank you!

Cheers,
Roger

#39 lore raw

v3 cover ARM: dts: kirkwood: fixes and split of linkstation dts for ls-wvl/vl and ls-wxl/wsxl

In reply to Roger Shimizu

Hi Roger,

Quoted 6 lines · Roger Shimizu

Dear kirkwood maintainers,

Linkstation dts for ls-wxl and ls-wvl need some fixes:
- [patch 1/7] and [patch 2/7] are fixes for gpio pin
- [patch 3/7] and [patch 4/7] are fixes for gpio led
Above 4 patches can be safely backported to 4.3/4.4 stable kernel.

Paches 1-4 are applied on mvebu/fixes

Quoted 7 lines

And in order to support more buffalo linkstation devices in convenient way, I split current 2 dts files into a few comoon dtsi files and device specific dts files.
- [patch 5/7] relicense dts under GPLv2/X11
- [patch 6/7] split dts for lswxl
- [patch 7/7] split dts for lswvl

Paches 5-7 are applied on mvebu/dt

Thanks,

Gregory

Quoted 47 lines

Changes in v2:
- separate the fix and relicense patch
- add "linkstation:" to all led labels
Changes in v3:
- address Andrew Lunn's suggestion to change commit message

    for [patch 3/7] and [patch 4/7]

- add Andrew Lunn's "Reviewed-by"
- address active high/low for the power LED

Cheers.

Roger Shimizu (7):
ARM: dts: kirkwood: gpio pin fixes for linkstation ls-wxl/wsxl
ARM: dts: kirkwood: gpio pin fixes for linkstation ls-wvl/vl
ARM: dts: kirkwood: gpio-leds fixes for linkstation ls-wxl/wsxl
ARM: dts: kirkwood: gpio-leds fixes for linkstation ls-wvl/vl
ARM: dts: kirkwood: relicense dts of ls-wvl/vl and ls-wxl/wsxl under

    GPLv2/X11

ARM: dts: kirkwood: split lswxl dts to linkstation lswsxl and lswxl
ARM: dts: kirkwood: split lswvl dts to linkstation lsvl and lswvl

 .../devicetree/bindings/arm/marvell,kirkwood.txt   |   6 +-
 arch/arm/boot/dts/Makefile                         |   6 +-
 arch/arm/boot/dts/kirkwood-linkstation-6282.dtsi   | 192 +++++++++++++
 .../boot/dts/kirkwood-linkstation-duo-6281.dtsi    | 186 +++++++++++++
 arch/arm/boot/dts/kirkwood-linkstation-lsvl.dts    |  57 ++++
 arch/arm/boot/dts/kirkwood-linkstation-lswsxl.dts  |  57 ++++
 arch/arm/boot/dts/kirkwood-linkstation-lswvl.dts   | 112 ++++++++
 arch/arm/boot/dts/kirkwood-linkstation-lswxl.dts   | 116 ++++++++
 arch/arm/boot/dts/kirkwood-linkstation.dtsi        | 202 ++++++++++++++
 arch/arm/boot/dts/kirkwood-lswvl.dts               | 301 ---------------------
 arch/arm/boot/dts/kirkwood-lswxl.dts               | 301 ---------------------
 11 files changed, 930 insertions(+), 606 deletions(-)
 create mode 100644 arch/arm/boot/dts/kirkwood-linkstation-6282.dtsi
 create mode 100644 arch/arm/boot/dts/kirkwood-linkstation-duo-6281.dtsi
 create mode 100644 arch/arm/boot/dts/kirkwood-linkstation-lsvl.dts
 create mode 100644 arch/arm/boot/dts/kirkwood-linkstation-lswsxl.dts
 create mode 100644 arch/arm/boot/dts/kirkwood-linkstation-lswvl.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-lswvl.dts
 delete mode 100644 arch/arm/boot/dts/kirkwood-lswxl.dts
Signature · 1 line
2.1.4
Signature · 4 lines
Gregory Clement, Free Electrons
Kernel, drivers, real-time and embedded Linux
development, consulting, training and support.
http://free-electrons.com