All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/2] ARM: dts: add buffalo linkstation ls-wxl/wsxl & ls-wvl/vl
@ 2015-06-19 11:28 Roger Shimizu
  2015-06-19 11:28 ` [PATCH 1/2] ARM: dts: add buffalo linkstation ls-wxl/wsxl Roger Shimizu
  2015-06-19 11:28 ` [PATCH 2/2] ARM: dts: add buffalo linkstation ls-wvl/vl Roger Shimizu
  0 siblings, 2 replies; 21+ messages in thread
From: Roger Shimizu @ 2015-06-19 11:28 UTC (permalink / raw)
  To: linux-arm-kernel

Here's the dts-patch support for 2 series of NAS products from Buffalo.

  kirkwood-lswxl.dtsi to support:
    - http://buffalo.jp/product/hdd/network/ls-wxl_r1/
    - http://buffalo.jp/products/catalog/storage/ls-wsxl_r1/

  kirkwood-lswvl.dtsi to support:
    - http://buffalo.jp/product/hdd/network/ls-wvl_r1/
    - http://buffalo.jp/product/hdd/network/ls-vl/

I have tested the patches againt latest next/dt branch (commit: 
1647e3c73ce54fc32536bb3a834eccad39b23572) and found they're booting and working 
fine on the real Buffalo NAS boxes.

These two dts patches are encouraged and reviewed by Iwamatsu-san from Debian 
project. Here I'd like to appreciate his kindness help. 

Since I'm merely a newbie contributor to kernel, if there's any mistake or 
something need to be adjusted, please just let know.

It'd be great if you could consider to merge the patches. Thank you!

Roger Shimizu (2):
  ARM: dts: add buffalo linkstation ls-wxl/wsxl
  ARM: dts: add buffalo linkstation ls-wvl/vl

 .../devicetree/bindings/arm/marvell,kirkwood.txt   |   2 +
 arch/arm/boot/dts/Makefile                         |   2 +
 arch/arm/boot/dts/kirkwood-lswvl.dts               | 307 ++++++++++++++++++++
 arch/arm/boot/dts/kirkwood-lswxl.dts               | 312 +++++++++++++++++++++
 4 files changed, 623 insertions(+)
 create mode 100644 arch/arm/boot/dts/kirkwood-lswvl.dts
 create mode 100644 arch/arm/boot/dts/kirkwood-lswxl.dts

-- 
1.9.1

^ permalink raw reply	[flat|nested] 21+ messages in thread

* [PATCH 1/2] ARM: dts: add buffalo linkstation ls-wxl/wsxl
  2015-06-19 11:28 [PATCH 0/2] ARM: dts: add buffalo linkstation ls-wxl/wsxl & ls-wvl/vl Roger Shimizu
@ 2015-06-19 11:28 ` Roger Shimizu
  2015-06-19 22:14   ` Andrew Lunn
  2015-06-22 15:00   ` [PATCH v2 " Roger Shimizu
  2015-06-19 11:28 ` [PATCH 2/2] ARM: dts: add buffalo linkstation ls-wvl/vl Roger Shimizu
  1 sibling, 2 replies; 21+ messages in thread
From: Roger Shimizu @ 2015-06-19 11:28 UTC (permalink / raw)
  To: linux-arm-kernel

Add dts file to support Buffalo Linkstation LS-WXL and LS-WSXL,
which are 2-bay NAS with 3.5" and 2.5" HDD respectively.

Signed-off-by: Roger Shimizu <rogershimizu@gmail.com>
Reviewed-by: Nobuhiro Iwamatsu <iwamatsu@nigauri.org>
---
 .../devicetree/bindings/arm/marvell,kirkwood.txt   |   1 +
 arch/arm/boot/dts/Makefile                         |   1 +
 arch/arm/boot/dts/kirkwood-lswxl.dts               | 312 +++++++++++++++++++++
 3 files changed, 314 insertions(+)
 create mode 100644 arch/arm/boot/dts/kirkwood-lswxl.dts

diff --git a/Documentation/devicetree/bindings/arm/marvell,kirkwood.txt b/Documentation/devicetree/bindings/arm/marvell,kirkwood.txt
index 4f40ff3..f541506 100644
--- a/Documentation/devicetree/bindings/arm/marvell,kirkwood.txt
+++ b/Documentation/devicetree/bindings/arm/marvell,kirkwood.txt
@@ -22,6 +22,7 @@ board. Currently known boards are:
 "buffalo,lschlv2"
 "buffalo,lsxhl"
 "buffalo,lsxl"
+"buffalo,lswxl"
 "dlink,dns-320"
 "dlink,dns-320-a1"
 "dlink,dns-325"
diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
index a8bf702..e0ebd59 100644
--- a/arch/arm/boot/dts/Makefile
+++ b/arch/arm/boot/dts/Makefile
@@ -177,6 +177,7 @@ dtb-$(CONFIG_MACH_KIRKWOOD) += \
 	kirkwood-laplug.dtb \
 	kirkwood-lschlv2.dtb \
 	kirkwood-lsxhl.dtb \
+	kirkwood-lswxl.dtb \
 	kirkwood-mplcec4.dtb \
 	kirkwood-mv88f6281gtw-ge.dtb \
 	kirkwood-nas2big.dtb \
diff --git a/arch/arm/boot/dts/kirkwood-lswxl.dts b/arch/arm/boot/dts/kirkwood-lswxl.dts
new file mode 100644
index 0000000..3dcf6fd
--- /dev/null
+++ b/arch/arm/boot/dts/kirkwood-lswxl.dts
@@ -0,0 +1,312 @@
+/*
+ * 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,linkstation,lswxl", "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 {
+			pinctrl-0 = <&pmx_uart0>;
+			pinctrl-names = "default";
+			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 = "m25p40";
+				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>;
+			default-state = "keep";
+		};
+
+		led at 5 {
+			label = "lswxl:red:func";
+			gpios = <&gpio1 5 GPIO_ACTIVE_LOW>;
+			default-state = "keep";
+			linux,default-trigger = "heartbeat";
+		};
+
+		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";
+
+	ethphy0: ethernet-phy at 0 {
+		device_type = "ethernet-phy";
+		reg = <0>;
+	};
+
+	ethphy1: ethernet-phy at 8 {
+		device_type = "ethernet-phy";
+		reg = <8>;
+	};
+};
+
+&eth0 {
+	status = "okay";
+	reg = <0x76000 0x4000>;
+	clocks = <&gate_clk 19>;
+	ethernet0-port at 0 {
+		phy-handle = <&ethphy1>;
+		interrupts = <15>;
+	};
+};
-- 
1.9.1

^ permalink raw reply related	[flat|nested] 21+ messages in thread

* [PATCH 2/2] ARM: dts: add buffalo linkstation ls-wvl/vl
  2015-06-19 11:28 [PATCH 0/2] ARM: dts: add buffalo linkstation ls-wxl/wsxl & ls-wvl/vl Roger Shimizu
  2015-06-19 11:28 ` [PATCH 1/2] ARM: dts: add buffalo linkstation ls-wxl/wsxl Roger Shimizu
@ 2015-06-19 11:28 ` Roger Shimizu
  2015-06-19 22:22   ` Andrew Lunn
  2015-06-22 15:02   ` [PATCH v2 " Roger Shimizu
  1 sibling, 2 replies; 21+ messages in thread
From: Roger Shimizu @ 2015-06-19 11:28 UTC (permalink / raw)
  To: linux-arm-kernel

Add dts file to support Buffalo Linkstation LS-WVL and LS-VL,
which are 3.5" HDD NAS in 2-bay and 1-bay respectively.

Signed-off-by: Roger Shimizu <rogershimizu@gmail.com>
Reviewed-by: Nobuhiro Iwamatsu <iwamatsu@nigauri.org>
---
 .../devicetree/bindings/arm/marvell,kirkwood.txt   |   1 +
 arch/arm/boot/dts/Makefile                         |   1 +
 arch/arm/boot/dts/kirkwood-lswvl.dts               | 307 +++++++++++++++++++++
 3 files changed, 309 insertions(+)
 create mode 100644 arch/arm/boot/dts/kirkwood-lswvl.dts

diff --git a/Documentation/devicetree/bindings/arm/marvell,kirkwood.txt b/Documentation/devicetree/bindings/arm/marvell,kirkwood.txt
index f541506..c7c9243 100644
--- a/Documentation/devicetree/bindings/arm/marvell,kirkwood.txt
+++ b/Documentation/devicetree/bindings/arm/marvell,kirkwood.txt
@@ -23,6 +23,7 @@ board. Currently known boards are:
 "buffalo,lsxhl"
 "buffalo,lsxl"
 "buffalo,lswxl"
+"buffalo,lswvl"
 "dlink,dns-320"
 "dlink,dns-320-a1"
 "dlink,dns-325"
diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
index e0ebd59..a16cfca 100644
--- a/arch/arm/boot/dts/Makefile
+++ b/arch/arm/boot/dts/Makefile
@@ -178,6 +178,7 @@ dtb-$(CONFIG_MACH_KIRKWOOD) += \
 	kirkwood-lschlv2.dtb \
 	kirkwood-lsxhl.dtb \
 	kirkwood-lswxl.dtb \
+	kirkwood-lswvl.dtb \
 	kirkwood-mplcec4.dtb \
 	kirkwood-mv88f6281gtw-ge.dtb \
 	kirkwood-nas2big.dtb \
diff --git a/arch/arm/boot/dts/kirkwood-lswvl.dts b/arch/arm/boot/dts/kirkwood-lswvl.dts
new file mode 100644
index 0000000..a12941a
--- /dev/null
+++ b/arch/arm/boot/dts/kirkwood-lswvl.dts
@@ -0,0 +1,307 @@
+/*
+ * Device Tree file for Buffalo Linkstation LS-WVL/VL
+ *
+ * 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-6282.dtsi"
+
+/ {
+	model = "Buffalo Linkstation LS-WVL/VL";
+	compatible = "buffalo,linkstation,lswvl", "buffalo,lswvl", "buffalo,linkstation,lsvl", "buffalo,lsvl", "marvell,kirkwood-88f6282", "marvell,kirkwood";
+
+	memory { /* 256 MB */
+		device_type = "memory";
+		reg = <0x00000000 0x10000000>;
+	};
+
+	chosen {
+		bootargs = "console=ttyS0,115200n8 earlyprintk";
+		stdout-path = &uart0;
+	};
+
+	mbus {
+		pcie-controller {
+			status = "okay";
+			pcie at 1,0 {
+				status = "okay";
+			};
+		};
+	};
+
+	ocp at f1000000 {
+		pinctrl: pin-controller at 10000 {
+			pmx_power_hdd0: pmx-power-hdd0 {
+				marvell,pins = "mpp8";
+				marvell,function = "gpio";
+			};
+			pmx_power_hdd1: pmx-power-hdd1 {
+				marvell,pins = "mpp9";
+				marvell,function = "gpio";
+			};
+			pmx_usb_vbus: pmx-usb-vbus {
+				marvell,pins = "mpp12";
+				marvell,function = "gpio";
+			};
+			pmx_fan_high: pmx-fan-high {
+				marvell,pins = "mpp16";
+				marvell,function = "gpio";
+			};
+			pmx_fan_low: pmx-fan-low {
+				marvell,pins = "mpp17";
+				marvell,function = "gpio";
+			};
+			pmx_led_hdderr0: pmx-led-hdderr0 {
+				marvell,pins = "mpp34";
+				marvell,function = "gpio";
+			};
+			pmx_led_hdderr1: pmx-led-hdderr1 {
+				marvell,pins = "mpp35";
+				marvell,function = "gpio";
+			};
+			pmx_led_alarm: pmx-led-alarm {
+				marvell,pins = "mpp36";
+				marvell,function = "gpio";
+			};
+			pmx_led_function_red: pmx-led-function_red {
+				marvell,pins = "mpp37";
+				marvell,function = "gpio";
+			};
+			pmx_led_info: pmx-led-info {
+				marvell,pins = "mpp38";
+				marvell,function = "gpio";
+			};
+			pmx_led_function_blue: pmx-led-function-blue {
+				marvell,pins = "mpp39";
+				marvell,function = "gpio";
+			};
+			pmx_led_power: pmx-led-power {
+				marvell,pins = "mpp40";
+				marvell,function = "gpio";
+			};
+			pmx_fan_lock: pmx-fan-lock {
+				marvell,pins = "mpp43";
+				marvell,function = "gpio";
+			};
+			pmx_button_function: pmx-button-function {
+				marvell,pins = "mpp45";
+				marvell,function = "gpio";
+			};
+			pmx_power_switch: pmx-power-switch {
+				marvell,pins = "mpp46";
+				marvell,function = "gpio";
+			};
+			pmx_power_auto_switch: pmx-power-auto-switch {
+				marvell,pins = "mpp47";
+				marvell,function = "gpio";
+			};
+
+		};
+
+		i2c at 11000 {
+			status = "okay";
+		};
+
+		serial at 12000 {
+			pinctrl-0 = <&pmx_uart0>;
+			pinctrl-names = "default";
+			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 = "m25p40";
+				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 = <&gpio0 45 GPIO_ACTIVE_LOW>;
+		};
+
+		button at 2 {
+			label = "Power-on Switch";
+			linux,code = <KEY_RESERVED>;
+			linux,input-type = <5>;
+			gpios = <&gpio0 46 GPIO_ACTIVE_LOW>;
+		};
+
+		button at 3 {
+			label = "Power-auto Switch";
+			linux,code = <KEY_ESC>;
+			linux,input-type = <5>;
+			gpios = <&gpio0 47 GPIO_ACTIVE_LOW>;
+		};
+	};
+
+	gpio_leds {
+		compatible = "gpio-leds";
+		pinctrl-0 = <&pmx_led_function_red &pmx_led_alarm
+			     &pmx_led_info &pmx_led_power
+			     &pmx_led_function_blue
+			     &pmx_led_hdderr0
+			     &pmx_led_hdderr1>;
+		pinctrl-names = "default";
+
+		led at 1 {
+			label = "lswvl:red:alarm";
+			gpios = <&gpio0 36 GPIO_ACTIVE_LOW>;
+		};
+
+		led at 2 {
+			label = "lswvl:red:func";
+			gpios = <&gpio0 37 GPIO_ACTIVE_LOW>;
+		};
+
+		led at 3 {
+			label = "lswvl:amber:info";
+			gpios = <&gpio0 38 GPIO_ACTIVE_LOW>;
+		};
+
+		led at 4 {
+			label = "lswvl:blue:func";
+			gpios = <&gpio0 39 GPIO_ACTIVE_LOW>;
+		};
+
+		led at 5 {
+			label = "lswvl:blue:power";
+			gpios = <&gpio0 40 GPIO_ACTIVE_LOW>;
+			default-state = "keep";
+		};
+
+		led at 6 {
+			label = "lswvl:red:hdderr0";
+			gpios = <&gpio0 34 GPIO_ACTIVE_HIGH>;
+		};
+
+		led at 7 {
+			label = "lswvl:red:hdderr1";
+			gpios = <&gpio0 35 GPIO_ACTIVE_HIGH>;
+		};
+	};
+
+	gpio_fan {
+		compatible = "gpio-fan";
+		pinctrl-0 = <&pmx_fan_low &pmx_fan_high &pmx_fan_lock>;
+		pinctrl-names = "default";
+
+		gpios = <&gpio0 17 GPIO_ACTIVE_LOW
+			 &gpio0 16 GPIO_ACTIVE_LOW>;
+
+		gpio-fan,speed-map = <0 3
+				1500 2
+				3250 1
+				5000 0>;
+
+		alarm-gpios = <&gpio0 43 GPIO_ACTIVE_HIGH>;
+	};
+
+	restart_poweroff {
+		compatible = "restart-poweroff";
+	};
+
+	regulators {
+		compatible = "simple-bus";
+		#address-cells = <1>;
+		#size-cells = <0>;
+		pinctrl-0 = <&pmx_power_hdd0 &pmx_power_hdd1 &pmx_usb_vbus>;
+		pinctrl-names = "default";
+
+		usb_power: regulator at 1 {
+			compatible = "regulator-fixed";
+			reg = <1>;
+			regulator-name = "USB Power";
+			regulator-min-microvolt = <5000000>;
+			regulator-max-microvolt = <5000000>;
+			enable-active-high;
+			regulator-always-on;
+			regulator-boot-on;
+			gpio = <&gpio0 12 GPIO_ACTIVE_LOW>;
+		};
+		hdd_power0: regulator at 2 {
+			compatible = "regulator-fixed";
+			reg = <2>;
+			regulator-name = "HDD0 Power";
+			regulator-min-microvolt = <5000000>;
+			regulator-max-microvolt = <5000000>;
+			enable-active-high;
+			regulator-always-on;
+			regulator-boot-on;
+			gpio = <&gpio0 8 GPIO_ACTIVE_LOW>;
+		};
+		hdd_power1: regulator at 3 {
+			compatible = "regulator-fixed";
+			reg = <3>;
+			regulator-name = "HDD1 Power";
+			regulator-min-microvolt = <5000000>;
+			regulator-max-microvolt = <5000000>;
+			enable-active-high;
+			regulator-always-on;
+			regulator-boot-on;
+			gpio = <&gpio0 9 GPIO_ACTIVE_LOW>;
+		};
+	};
+};
+
+&mdio {
+	status = "okay";
+	ethphy0: ethernet-phy at 0 {
+		device_type = "ethernet-phy";
+		reg = <0>;
+	};
+};
+
+&eth0 {
+	status = "okay";
+	ethernet0-port at 0 {
+		phy-handle = <&ethphy0>;
+	};
+};
-- 
1.9.1

^ permalink raw reply related	[flat|nested] 21+ messages in thread

* [PATCH 1/2] ARM: dts: add buffalo linkstation ls-wxl/wsxl
  2015-06-19 11:28 ` [PATCH 1/2] ARM: dts: add buffalo linkstation ls-wxl/wsxl Roger Shimizu
@ 2015-06-19 22:14   ` Andrew Lunn
  2015-06-20 12:36     ` Roger Shimizu
  2015-06-22 15:00   ` [PATCH v2 " Roger Shimizu
  1 sibling, 1 reply; 21+ messages in thread
From: Andrew Lunn @ 2015-06-19 22:14 UTC (permalink / raw)
  To: linux-arm-kernel

Hi Roger

These two look quite good. Just some minor comments. Many of them
apply to both dts files.

> +/ {
> +	model = "Buffalo Linkstation LS-WXL/WSXL";
> +	compatible = "buffalo,linkstation,lswxl", "buffalo,lswxl", "marvell,kirkwood-88f6281", "marvell,kirkwood";

Compatibility strings don't normally have two , in them. I would drop
the first one.

> +			pmx_led_function_red: pmx-led-function_red {

The second _red should be -red.
> +		spi at 10600 {
> +			status = "okay";
> +
> +			m25p40 at 0 {
> +				#address-cells = <1>;
> +				#size-cells = <1>;
> +				compatible = "m25p40";

There should be a vendor in this compatibility string, probably "st".

> +		button at 2 {
> +			label = "Power-on Switch";
> +			linux,code = <KEY_RESERVED>;
> +			linux,input-type = <5>;
> +			gpios = <&gpio1 42 GPIO_ACTIVE_LOW>;
> +		};

Why did you pick these values? <KEY_POWER> is a more common code for a
power button.

> +
> +		button at 3 {
> +			label = "Power-auto Switch";
> +			linux,code = <KEY_ESC>;
> +			linux,input-type = <5>;
> +			gpios = <&gpio1 43 GPIO_ACTIVE_LOW>;

Also a bit unusual. What is this button used for?

> +		led at 5 {
> +			label = "lswxl:red:func";
> +			gpios = <&gpio1 5 GPIO_ACTIVE_LOW>;
> +			default-state = "keep";
> +			linux,default-trigger = "heartbeat";
> +		};

I know of one maintainer who will not like the heartbeat here.  Also,
default-state and heartbeat at the same time?

> +&eth0 {
> +	status = "okay";
> +	reg = <0x76000 0x4000>;
> +	clocks = <&gate_clk 19>;
> +	ethernet0-port at 0 {
> +		phy-handle = <&ethphy1>;
> +		interrupts = <15>;
> +	};

Why reg, clocks and interrupts here? These values belong to eth1.

Thanks

    Andrew

^ permalink raw reply	[flat|nested] 21+ messages in thread

* [PATCH 2/2] ARM: dts: add buffalo linkstation ls-wvl/vl
  2015-06-19 11:28 ` [PATCH 2/2] ARM: dts: add buffalo linkstation ls-wvl/vl Roger Shimizu
@ 2015-06-19 22:22   ` Andrew Lunn
  2015-06-22 15:02   ` [PATCH v2 " Roger Shimizu
  1 sibling, 0 replies; 21+ messages in thread
From: Andrew Lunn @ 2015-06-19 22:22 UTC (permalink / raw)
  To: linux-arm-kernel

> +++ b/Documentation/devicetree/bindings/arm/marvell,kirkwood.txt
> @@ -23,6 +23,7 @@ board. Currently known boards are:
>  "buffalo,lsxhl"
>  "buffalo,lsxl"
>  "buffalo,lswxl"
> +"buffalo,lswvl"
>  "dlink,dns-320"
>  "dlink,dns-320-a1"
>  "dlink,dns-325"
> diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
> index e0ebd59..a16cfca 100644
> --- a/arch/arm/boot/dts/Makefile
> +++ b/arch/arm/boot/dts/Makefile
> @@ -178,6 +178,7 @@ dtb-$(CONFIG_MACH_KIRKWOOD) += \
>  	kirkwood-lschlv2.dtb \
>  	kirkwood-lsxhl.dtb \
>  	kirkwood-lswxl.dtb \
> +	kirkwood-lswvl.dtb \
>  	kirkwood-mplcec4.dtb \
>  	kirkwood-mv88f6281gtw-ge.dtb \
>  	kirkwood-nas2big.dtb \

We try to keep these in alphabetical order. So lswvl.dtb should be
before lswxl.dtb in both these lists.

> +		i2c at 11000 {
> +			status = "okay";
> +		};

Is there something on the i2c bus?

> +
> +		serial at 12000 {
> +			pinctrl-0 = <&pmx_uart0>;
> +			pinctrl-names = "default";

You don't need the pinctrl properties. 

> +			status = "okay";
> +		};
> +

Thanks
	Andrew

^ permalink raw reply	[flat|nested] 21+ messages in thread

* [PATCH 1/2] ARM: dts: add buffalo linkstation ls-wxl/wsxl
  2015-06-19 22:14   ` Andrew Lunn
@ 2015-06-20 12:36     ` Roger Shimizu
  2015-06-20 14:51       ` Andrew Lunn
  0 siblings, 1 reply; 21+ messages in thread
From: Roger Shimizu @ 2015-06-20 12:36 UTC (permalink / raw)
  To: linux-arm-kernel

Dear Andrew,

Thanks for your comments!

Let me clarify and confirm with you before sending the modified patches.

>> +     compatible = "buffalo,linkstation,lswxl", "buffalo,lswxl", "marvell,kirkwood-88f6281", "marvell,kirkwood";
>
> Compatibility strings don't normally have two , in them. I would drop
> the first one.

So the following would be OK for you?
+     compatible = "buffalo,lswxl", "marvell,kirkwood-88f6281",
"marvell,kirkwood";

>> +                             compatible = "m25p40";
>
> There should be a vendor in this compatibility string, probably "st".

I wrote this based on kirkwood-lsxl.dtsi and other dts files.
Maybe those are quite old, and I'll follow your suggestion.

>> +             button at 2 {
>> +                     label = "Power-on Switch";
>> +                     linux,code = <KEY_RESERVED>;
>> +                     linux,input-type = <5>;
>> +                     gpios = <&gpio1 42 GPIO_ACTIVE_LOW>;
>> +             };
>
> Why did you pick these values? <KEY_POWER> is a more common code for a
> power button.

I copied this part exact from kirkwood-lsxl.dtsi, only changed the
gpio pin number.
Please tell me how to proceed since I actually don't have much knowledge on it.

>> +             button at 3 {
>> +                     label = "Power-auto Switch";
>> +                     linux,code = <KEY_ESC>;
>> +                     linux,input-type = <5>;
>> +                     gpios = <&gpio1 43 GPIO_ACTIVE_LOW>;
>
> Also a bit unusual. What is this button used for?

This button is for auto power-on when getting WOL (wake-on-lan) signal.
Also copied from kirkwood-lsxl.dtsi.

>> +             led at 5 {
>> +                     label = "lswxl:red:func";
>> +                     gpios = <&gpio1 5 GPIO_ACTIVE_LOW>;
>> +                     default-state = "keep";
>> +                     linux,default-trigger = "heartbeat";
>> +             };
>
> I know of one maintainer who will not like the heartbeat here.  Also,
> default-state and heartbeat at the same time?

I'll remove these two lines.

>> +&eth0 {
>> +     status = "okay";
>> +     reg = <0x76000 0x4000>;
>> +     clocks = <&gate_clk 19>;
>> +     ethernet0-port at 0 {
>> +             phy-handle = <&ethphy1>;
>> +             interrupts = <15>;
>> +     };
>
> Why reg, clocks and interrupts here? These values belong to eth1.

Originally, I tried the same as the dts for ls-wvl, but I see no eth0
but only eth1 in linux system,
even "ifconfig -a" command which list all interfaces including un-used ones.
So I change this part of dts to make the only network interface as eth0.
For both ls-wxl and ls-wsxl boards, I confirmed both working well with
this setting.

Thanks and looking forward to your comment again.

Cheers,
Roger

On Sat, Jun 20, 2015 at 7:14 AM, Andrew Lunn <andrew@lunn.ch> wrote:
> Hi Roger
>
> These two look quite good. Just some minor comments. Many of them
> apply to both dts files.
>
>> +/ {
>> +     model = "Buffalo Linkstation LS-WXL/WSXL";
>> +     compatible = "buffalo,linkstation,lswxl", "buffalo,lswxl", "marvell,kirkwood-88f6281", "marvell,kirkwood";
>
> Compatibility strings don't normally have two , in them. I would drop
> the first one.
>
>> +                     pmx_led_function_red: pmx-led-function_red {
>
> The second _red should be -red.
>> +             spi at 10600 {
>> +                     status = "okay";
>> +
>> +                     m25p40 at 0 {
>> +                             #address-cells = <1>;
>> +                             #size-cells = <1>;
>> +                             compatible = "m25p40";
>
> There should be a vendor in this compatibility string, probably "st".
>
>> +             button at 2 {
>> +                     label = "Power-on Switch";
>> +                     linux,code = <KEY_RESERVED>;
>> +                     linux,input-type = <5>;
>> +                     gpios = <&gpio1 42 GPIO_ACTIVE_LOW>;
>> +             };
>
> Why did you pick these values? <KEY_POWER> is a more common code for a
> power button.
>
>> +
>> +             button at 3 {
>> +                     label = "Power-auto Switch";
>> +                     linux,code = <KEY_ESC>;
>> +                     linux,input-type = <5>;
>> +                     gpios = <&gpio1 43 GPIO_ACTIVE_LOW>;
>
> Also a bit unusual. What is this button used for?
>
>> +             led at 5 {
>> +                     label = "lswxl:red:func";
>> +                     gpios = <&gpio1 5 GPIO_ACTIVE_LOW>;
>> +                     default-state = "keep";
>> +                     linux,default-trigger = "heartbeat";
>> +             };
>
> I know of one maintainer who will not like the heartbeat here.  Also,
> default-state and heartbeat at the same time?
>
>> +&eth0 {
>> +     status = "okay";
>> +     reg = <0x76000 0x4000>;
>> +     clocks = <&gate_clk 19>;
>> +     ethernet0-port at 0 {
>> +             phy-handle = <&ethphy1>;
>> +             interrupts = <15>;
>> +     };
>
> Why reg, clocks and interrupts here? These values belong to eth1.
>
> Thanks
>
>     Andrew

^ permalink raw reply	[flat|nested] 21+ messages in thread

* [PATCH 1/2] ARM: dts: add buffalo linkstation ls-wxl/wsxl
  2015-06-20 12:36     ` Roger Shimizu
@ 2015-06-20 14:51       ` Andrew Lunn
  2015-06-20 15:56         ` Roger Shimizu
  0 siblings, 1 reply; 21+ messages in thread
From: Andrew Lunn @ 2015-06-20 14:51 UTC (permalink / raw)
  To: linux-arm-kernel

On Sat, Jun 20, 2015 at 09:36:54PM +0900, Roger Shimizu wrote:
> Dear Andrew,
> 
> Thanks for your comments!
> 
> Let me clarify and confirm with you before sending the modified patches.
> 
> >> +     compatible = "buffalo,linkstation,lswxl", "buffalo,lswxl", "marvell,kirkwood-88f6281", "marvell,kirkwood";
> >
> > Compatibility strings don't normally have two , in them. I would drop
> > the first one.
> 
> So the following would be OK for you?
> +     compatible = "buffalo,lswxl", "marvell,kirkwood-88f6281",
> "marvell,kirkwood";

Yes, that is good.

> 
> >> +                             compatible = "m25p40";
> >
> > There should be a vendor in this compatibility string, probably "st".
> 
> I wrote this based on kirkwood-lsxl.dtsi and other dts files.
> Maybe those are quite old, and I'll follow your suggestion.

There are a few subsystems that don't require a vendor in order to
work, like mtd, and i2c. But the DT specification says there should be
one. So we have become more strict with time when accepting patches,
but not yet gone back and added the missing vendors to existing files.
 
> >> +             button at 2 {
> >> +                     label = "Power-on Switch";
> >> +                     linux,code = <KEY_RESERVED>;
> >> +                     linux,input-type = <5>;
> >> +                     gpios = <&gpio1 42 GPIO_ACTIVE_LOW>;
> >> +             };
> >
> > Why did you pick these values? <KEY_POWER> is a more common code for a
> > power button.
> 
> I copied this part exact from kirkwood-lsxl.dtsi, only changed the
> gpio pin number.

So maybe we will just copy what kirkwood-lsxl.dtsi does, but....

Describe to us the use case for the button. What do users expect to
happen when this button is pressed. Is it actually a push button, or a
slider?  With more than 2 positions? Is there some user space software
listening for these particular events?
 
> >> +             button at 3 {
> >> +                     label = "Power-auto Switch";
> >> +                     linux,code = <KEY_ESC>;
> >> +                     linux,input-type = <5>;
> >> +                     gpios = <&gpio1 43 GPIO_ACTIVE_LOW>;
> >
> > Also a bit unusual. What is this button used for?
> 
> This button is for auto power-on when getting WOL (wake-on-lan) signal.

So i would at least put WOL in the label. What sort of switch is it,
push button, slider? Is there some code in user space setting up the
Ethernet for WOL when this button is pressed?

> >> +&eth0 {
> >> +     status = "okay";
> >> +     reg = <0x76000 0x4000>;
> >> +     clocks = <&gate_clk 19>;
> >> +     ethernet0-port at 0 {
> >> +             phy-handle = <&ethphy1>;
> >> +             interrupts = <15>;
> >> +     };
> >
> > Why reg, clocks and interrupts here? These values belong to eth1.
> 
> Originally, I tried the same as the dts for ls-wvl, but I see no eth0
> but only eth1 in linux system,

In DT, eth1 is correct, not eth0. The kernel should be giving out
names on a first come, first served bases, unless something is
renaming them.  What user space are you running?  Debian? Do you have
a /etc/udev/rules.d/70-persistent-net.rules?  Does it have entries
based on the MAC addresses?

      Andrew

^ permalink raw reply	[flat|nested] 21+ messages in thread

* [PATCH 1/2] ARM: dts: add buffalo linkstation ls-wxl/wsxl
  2015-06-20 14:51       ` Andrew Lunn
@ 2015-06-20 15:56         ` Roger Shimizu
  2015-06-20 16:03           ` Andrew Lunn
  0 siblings, 1 reply; 21+ messages in thread
From: Roger Shimizu @ 2015-06-20 15:56 UTC (permalink / raw)
  To: linux-arm-kernel

Dear Andrew,

>> >> +                             compatible = "m25p40";

Thanks for tell me the history.
I checked around and am going to change to:

+                             compatible = "st,m25p40", "jedec,spi-nor";


> Describe to us the use case for the button. What do users expect to
> happen when this button is pressed. Is it actually a push button, or a
> slider?  With more than 2 positions? Is there some user space software
> listening for these particular events?

> So i would at least put WOL in the label. What sort of switch is it,
> push button, slider? Is there some code in user space setting up the
> Ethernet for WOL when this button is pressed?

Actually the button at 2 and button at 3 are bundled on a slider with 3
possible position: power off/on/auto.
Quite a few Buffalo NAS designs take this kind of power switch/slider.

For the "auto" position, the box will be powered on only when get some
signal, which seems to be WOL,
but as matter of fact I didn't capture the network packet to confirm this.
Original feature by Buffalo also includes auto power down if not get
that signal for a few minutes.
After I installed Debian on the NAS, the "auto" button became useless,
since no daemon is monitoring the power slider anymore.

Please inform me whether it's OK to keep what kirkwood-lsxl.dtsi is
now for the power slider.

> In DT, eth1 is correct, not eth0. The kernel should be giving out
> names on a first come, first served bases, unless something is
> renaming them.  What user space are you running?  Debian? Do you have
> a /etc/udev/rules.d/70-persistent-net.rules?  Does it have entries
> based on the MAC addresses?

I understand and agree that from DT spec point of view, the only
network device on board should be called "eth1" still.
But as a normal Linux user, I feel not comfortable when there's no
"eth0" at all, but only one "eth1".
I think the defected hardware can be fixed by software, which is by
dts for this case.

Yes, I have Debian running on the NAS boxes and there's
/etc/udev/rules.d/70-persistent-net.rules.
It has the entry to create "eth0" based on MAC address, which I
believe was generated automatically:

> # Unknown net device (/devices/platform/mv643xx_eth_port.0/net/eth0) (mv643xx_eth_port)
> SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="xx:xx:xx:xx:xx:xx", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"

If I modify dts to let the only network device be called as "eth1",
there would be still one entry generated, because there's no "eth0" at
all.

I'm not sure whether this kind of hardware defect by Buffalo is
intentional or not.
If it's, I guess the reason is make it harder for user to replace
original firmware with self bootstrapped Linux system.
Have you met situation similar before? Please let me know your thought.

Thank you!

Cheers,
Roger

On Sat, Jun 20, 2015 at 11:51 PM, Andrew Lunn <andrew@lunn.ch> wrote:
> On Sat, Jun 20, 2015 at 09:36:54PM +0900, Roger Shimizu wrote:
>> Dear Andrew,
>>
>> Thanks for your comments!
>>
>> Let me clarify and confirm with you before sending the modified patches.
>>
>> >> +     compatible = "buffalo,linkstation,lswxl", "buffalo,lswxl", "marvell,kirkwood-88f6281", "marvell,kirkwood";
>> >
>> > Compatibility strings don't normally have two , in them. I would drop
>> > the first one.
>>
>> So the following would be OK for you?
>> +     compatible = "buffalo,lswxl", "marvell,kirkwood-88f6281",
>> "marvell,kirkwood";
>
> Yes, that is good.
>
>>
>> >> +                             compatible = "m25p40";
>> >
>> > There should be a vendor in this compatibility string, probably "st".
>>
>> I wrote this based on kirkwood-lsxl.dtsi and other dts files.
>> Maybe those are quite old, and I'll follow your suggestion.
>
> There are a few subsystems that don't require a vendor in order to
> work, like mtd, and i2c. But the DT specification says there should be
> one. So we have become more strict with time when accepting patches,
> but not yet gone back and added the missing vendors to existing files.
>
>> >> +             button at 2 {
>> >> +                     label = "Power-on Switch";
>> >> +                     linux,code = <KEY_RESERVED>;
>> >> +                     linux,input-type = <5>;
>> >> +                     gpios = <&gpio1 42 GPIO_ACTIVE_LOW>;
>> >> +             };
>> >
>> > Why did you pick these values? <KEY_POWER> is a more common code for a
>> > power button.
>>
>> I copied this part exact from kirkwood-lsxl.dtsi, only changed the
>> gpio pin number.
>
> So maybe we will just copy what kirkwood-lsxl.dtsi does, but....
>
> Describe to us the use case for the button. What do users expect to
> happen when this button is pressed. Is it actually a push button, or a
> slider?  With more than 2 positions? Is there some user space software
> listening for these particular events?
>
>> >> +             button at 3 {
>> >> +                     label = "Power-auto Switch";
>> >> +                     linux,code = <KEY_ESC>;
>> >> +                     linux,input-type = <5>;
>> >> +                     gpios = <&gpio1 43 GPIO_ACTIVE_LOW>;
>> >
>> > Also a bit unusual. What is this button used for?
>>
>> This button is for auto power-on when getting WOL (wake-on-lan) signal.
>
> So i would at least put WOL in the label. What sort of switch is it,
> push button, slider? Is there some code in user space setting up the
> Ethernet for WOL when this button is pressed?
>
>> >> +&eth0 {
>> >> +     status = "okay";
>> >> +     reg = <0x76000 0x4000>;
>> >> +     clocks = <&gate_clk 19>;
>> >> +     ethernet0-port at 0 {
>> >> +             phy-handle = <&ethphy1>;
>> >> +             interrupts = <15>;
>> >> +     };
>> >
>> > Why reg, clocks and interrupts here? These values belong to eth1.
>>
>> Originally, I tried the same as the dts for ls-wvl, but I see no eth0
>> but only eth1 in linux system,
>
> In DT, eth1 is correct, not eth0. The kernel should be giving out
> names on a first come, first served bases, unless something is
> renaming them.  What user space are you running?  Debian? Do you have
> a /etc/udev/rules.d/70-persistent-net.rules?  Does it have entries
> based on the MAC addresses?
>
>       Andrew

^ permalink raw reply	[flat|nested] 21+ messages in thread

* [PATCH 1/2] ARM: dts: add buffalo linkstation ls-wxl/wsxl
  2015-06-20 15:56         ` Roger Shimizu
@ 2015-06-20 16:03           ` Andrew Lunn
  2015-06-21 15:16             ` Roger Shimizu
  0 siblings, 1 reply; 21+ messages in thread
From: Andrew Lunn @ 2015-06-20 16:03 UTC (permalink / raw)
  To: linux-arm-kernel

> Please inform me whether it's OK to keep what kirkwood-lsxl.dtsi is
> now for the power slider.
 
> > In DT, eth1 is correct, not eth0. The kernel should be giving out
> > names on a first come, first served bases, unless something is
> > renaming them.  What user space are you running?  Debian? Do you have
> > a /etc/udev/rules.d/70-persistent-net.rules?  Does it have entries
> > based on the MAC addresses?
> 
> I understand and agree that from DT spec point of view, the only
> network device on board should be called "eth1" still.

No. The name in DT should not give the name of the interface. It
should be possible to give this eth0 as expected, even if in DT it is
eth1. The names here are separate things. The kernel will assign a
name to the interface when it is registered to the network
stack. Since this is the first registered interface, if should get the
name eth0. What i think is happening is that something is later
renaming the interface to eth1. We have to find out what is doing this
rename.

> Yes, I have Debian running on the NAS boxes and there's
> /etc/udev/rules.d/70-persistent-net.rules.
> It has the entry to create "eth0" based on MAC address, which I
> believe was generated automatically:
> 
> > # Unknown net device (/devices/platform/mv643xx_eth_port.0/net/eth0) (mv643xx_eth_port)
> > SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="xx:xx:xx:xx:xx:xx", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"

So delete this entry and reboot. See if that helps.

   Andrew

^ permalink raw reply	[flat|nested] 21+ messages in thread

* [PATCH 1/2] ARM: dts: add buffalo linkstation ls-wxl/wsxl
  2015-06-20 16:03           ` Andrew Lunn
@ 2015-06-21 15:16             ` Roger Shimizu
  2015-06-21 20:09               ` Andrew Lunn
  0 siblings, 1 reply; 21+ messages in thread
From: Roger Shimizu @ 2015-06-21 15:16 UTC (permalink / raw)
  To: linux-arm-kernel

Dear Andrew,

> No. The name in DT should not give the name of the interface. It
> should be possible to give this eth0 as expected, even if in DT it is
> eth1. The names here are separate things. The kernel will assign a
> name to the interface when it is registered to the network
> stack. Since this is the first registered interface, if should get the
> name eth0. What i think is happening is that something is later
> renaming the interface to eth1. We have to find out what is doing this
> rename.

Yes, I confirmed what you said is absolutely right.
Your detailed info is really appreciated. Thank you!

Now I changed the ethernet part of dts like the following:

+&mdio {
+       status = "okay";
+
+       ethphy1: ethernet-phy at 8 {
+               device_type = "ethernet-phy";
+               reg = <8>;
+       };
+};
+
+&eth1 {
+       status = "okay";
+
+       ethernet1-port at 0 {
+               phy-handle = <&ethphy1>;
+       };
+};

and dmesg is like:
[    0.237167] [Firmware Info]:
/ocp at f1000000/ethernet-controller at 76000/ethernet1-port at 0:
local-mac-address is not set
[    1.820596] mv643xx_eth: MV-643xx 10/100/1000 ethernet driver version 1.4
[    1.907565] mv643xx_eth_port mv643xx_eth_port.0 eth0: port 0 with
MAC address xx:xx:xx:xx:xx:xx
[    5.524704] mv643xx_eth_port mv643xx_eth_port.0 eth0: link up, 100
Mb/s, full duplex, flow control disabled

For other part of dts, I assume you agreed with my changes explained
in previous email.
If you feel alright, I'll make the similar changes to
"kirkwood-lswvl.dts", and submit the "PATCH v2" to you.
Thank you!

Cheers,
Roger

^ permalink raw reply	[flat|nested] 21+ messages in thread

* [PATCH 1/2] ARM: dts: add buffalo linkstation ls-wxl/wsxl
  2015-06-21 15:16             ` Roger Shimizu
@ 2015-06-21 20:09               ` Andrew Lunn
  0 siblings, 0 replies; 21+ messages in thread
From: Andrew Lunn @ 2015-06-21 20:09 UTC (permalink / raw)
  To: linux-arm-kernel

On Mon, Jun 22, 2015 at 12:16:11AM +0900, Roger Shimizu wrote:
> Dear Andrew,
> 
> > No. The name in DT should not give the name of the interface. It
> > should be possible to give this eth0 as expected, even if in DT it is
> > eth1. The names here are separate things. The kernel will assign a
> > name to the interface when it is registered to the network
> > stack. Since this is the first registered interface, if should get the
> > name eth0. What i think is happening is that something is later
> > renaming the interface to eth1. We have to find out what is doing this
> > rename.
> 
> Yes, I confirmed what you said is absolutely right.
> Your detailed info is really appreciated. Thank you!
> 
> Now I changed the ethernet part of dts like the following:
> 
> +&mdio {
> +       status = "okay";
> +
> +       ethphy1: ethernet-phy at 8 {
> +               device_type = "ethernet-phy";
> +               reg = <8>;
> +       };
> +};
> +
> +&eth1 {
> +       status = "okay";
> +
> +       ethernet1-port at 0 {
> +               phy-handle = <&ethphy1>;
> +       };
> +};

Great, much better.

> If you feel alright, I'll make the similar changes to
> "kirkwood-lswvl.dts", and submit the "PATCH v2" to you.

Great.

	Andrew

^ permalink raw reply	[flat|nested] 21+ messages in thread

* [PATCH v2 1/2] ARM: dts: add buffalo linkstation ls-wxl/wsxl
  2015-06-19 11:28 ` [PATCH 1/2] ARM: dts: add buffalo linkstation ls-wxl/wsxl Roger Shimizu
  2015-06-19 22:14   ` Andrew Lunn
@ 2015-06-22 15:00   ` Roger Shimizu
  2015-06-29 13:22     ` Gregory CLEMENT
  1 sibling, 1 reply; 21+ messages in thread
From: Roger Shimizu @ 2015-06-22 15:00 UTC (permalink / raw)
  To: linux-arm-kernel

Add dts file to support Buffalo Linkstation LS-WXL and LS-WSXL,
which are 2-bay NAS with 3.5" and 2.5" HDD respectively.

Signed-off-by: Roger Shimizu <rogershimizu@gmail.com>
Reviewed-by: Nobuhiro Iwamatsu <iwamatsu@nigauri.org>
---
 .../devicetree/bindings/arm/marvell,kirkwood.txt   |   1 +
 arch/arm/boot/dts/Makefile                         |   1 +
 arch/arm/boot/dts/kirkwood-lswxl.dts               | 301 +++++++++++++++++++++
 3 files changed, 303 insertions(+)
 create mode 100644 arch/arm/boot/dts/kirkwood-lswxl.dts

diff --git a/Documentation/devicetree/bindings/arm/marvell,kirkwood.txt b/Documentation/devicetree/bindings/arm/marvell,kirkwood.txt
index 4f40ff3..b79212f 100644
--- a/Documentation/devicetree/bindings/arm/marvell,kirkwood.txt
+++ b/Documentation/devicetree/bindings/arm/marvell,kirkwood.txt
@@ -20,6 +20,7 @@ And in addition, the compatible shall be extended with the specific
 board. Currently known boards are:
 
 "buffalo,lschlv2"
+"buffalo,lswxl"
 "buffalo,lsxhl"
 "buffalo,lsxl"
 "dlink,dns-320"
diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
index a8bf702..b45c974 100644
--- a/arch/arm/boot/dts/Makefile
+++ b/arch/arm/boot/dts/Makefile
@@ -176,6 +176,7 @@ dtb-$(CONFIG_MACH_KIRKWOOD) += \
 	kirkwood-km_kirkwood.dtb \
 	kirkwood-laplug.dtb \
 	kirkwood-lschlv2.dtb \
+	kirkwood-lswxl.dtb \
 	kirkwood-lsxhl.dtb \
 	kirkwood-mplcec4.dtb \
 	kirkwood-mv88f6281gtw-ge.dtb \
diff --git a/arch/arm/boot/dts/kirkwood-lswxl.dts b/arch/arm/boot/dts/kirkwood-lswxl.dts
new file mode 100644
index 0000000..f5db16a
--- /dev/null
+++ b/arch/arm/boot/dts/kirkwood-lswxl.dts
@@ -0,0 +1,301 @@
+/*
+ * 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>;
+	};
+};
-- 
1.9.1

^ permalink raw reply related	[flat|nested] 21+ messages in thread

* [PATCH v2 2/2] ARM: dts: add buffalo linkstation ls-wvl/vl
  2015-06-19 11:28 ` [PATCH 2/2] ARM: dts: add buffalo linkstation ls-wvl/vl Roger Shimizu
  2015-06-19 22:22   ` Andrew Lunn
@ 2015-06-22 15:02   ` Roger Shimizu
  2015-06-29 13:22     ` Gregory CLEMENT
  1 sibling, 1 reply; 21+ messages in thread
From: Roger Shimizu @ 2015-06-22 15:02 UTC (permalink / raw)
  To: linux-arm-kernel

Add dts file to support Buffalo Linkstation LS-WVL and LS-VL,
which are 3.5" HDD NAS in 2-bay and 1-bay respectively.

Signed-off-by: Roger Shimizu <rogershimizu@gmail.com>
Reviewed-by: Nobuhiro Iwamatsu <iwamatsu@nigauri.org>
---
 .../devicetree/bindings/arm/marvell,kirkwood.txt   |   1 +
 arch/arm/boot/dts/Makefile                         |   1 +
 arch/arm/boot/dts/kirkwood-lswvl.dts               | 301 +++++++++++++++++++++
 3 files changed, 303 insertions(+)
 create mode 100644 arch/arm/boot/dts/kirkwood-lswvl.dts

diff --git a/Documentation/devicetree/bindings/arm/marvell,kirkwood.txt b/Documentation/devicetree/bindings/arm/marvell,kirkwood.txt
index b79212f..5171ad8 100644
--- a/Documentation/devicetree/bindings/arm/marvell,kirkwood.txt
+++ b/Documentation/devicetree/bindings/arm/marvell,kirkwood.txt
@@ -20,6 +20,7 @@ And in addition, the compatible shall be extended with the specific
 board. Currently known boards are:
 
 "buffalo,lschlv2"
+"buffalo,lswvl"
 "buffalo,lswxl"
 "buffalo,lsxhl"
 "buffalo,lsxl"
diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
index b45c974..5b36795 100644
--- a/arch/arm/boot/dts/Makefile
+++ b/arch/arm/boot/dts/Makefile
@@ -176,6 +176,7 @@ dtb-$(CONFIG_MACH_KIRKWOOD) += \
 	kirkwood-km_kirkwood.dtb \
 	kirkwood-laplug.dtb \
 	kirkwood-lschlv2.dtb \
+	kirkwood-lswvl.dtb \
 	kirkwood-lswxl.dtb \
 	kirkwood-lsxhl.dtb \
 	kirkwood-mplcec4.dtb \
diff --git a/arch/arm/boot/dts/kirkwood-lswvl.dts b/arch/arm/boot/dts/kirkwood-lswvl.dts
new file mode 100644
index 0000000..ad35329
--- /dev/null
+++ b/arch/arm/boot/dts/kirkwood-lswvl.dts
@@ -0,0 +1,301 @@
+/*
+ * Device Tree file for Buffalo Linkstation LS-WVL/VL
+ *
+ * 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-6282.dtsi"
+
+/ {
+	model = "Buffalo Linkstation LS-WVL/VL";
+	compatible = "buffalo,lswvl", "buffalo,lsvl", "marvell,kirkwood-88f6282", "marvell,kirkwood";
+
+	memory { /* 256 MB */
+		device_type = "memory";
+		reg = <0x00000000 0x10000000>;
+	};
+
+	chosen {
+		bootargs = "console=ttyS0,115200n8 earlyprintk";
+		stdout-path = &uart0;
+	};
+
+	mbus {
+		pcie-controller {
+			status = "okay";
+			pcie at 1,0 {
+				status = "okay";
+			};
+		};
+	};
+
+	ocp at f1000000 {
+		pinctrl: pin-controller at 10000 {
+			pmx_power_hdd0: pmx-power-hdd0 {
+				marvell,pins = "mpp8";
+				marvell,function = "gpio";
+			};
+			pmx_power_hdd1: pmx-power-hdd1 {
+				marvell,pins = "mpp9";
+				marvell,function = "gpio";
+			};
+			pmx_usb_vbus: pmx-usb-vbus {
+				marvell,pins = "mpp12";
+				marvell,function = "gpio";
+			};
+			pmx_fan_high: pmx-fan-high {
+				marvell,pins = "mpp16";
+				marvell,function = "gpio";
+			};
+			pmx_fan_low: pmx-fan-low {
+				marvell,pins = "mpp17";
+				marvell,function = "gpio";
+			};
+			pmx_led_hdderr0: pmx-led-hdderr0 {
+				marvell,pins = "mpp34";
+				marvell,function = "gpio";
+			};
+			pmx_led_hdderr1: pmx-led-hdderr1 {
+				marvell,pins = "mpp35";
+				marvell,function = "gpio";
+			};
+			pmx_led_alarm: pmx-led-alarm {
+				marvell,pins = "mpp36";
+				marvell,function = "gpio";
+			};
+			pmx_led_function_red: pmx-led-function_red {
+				marvell,pins = "mpp37";
+				marvell,function = "gpio";
+			};
+			pmx_led_info: pmx-led-info {
+				marvell,pins = "mpp38";
+				marvell,function = "gpio";
+			};
+			pmx_led_function_blue: pmx-led-function-blue {
+				marvell,pins = "mpp39";
+				marvell,function = "gpio";
+			};
+			pmx_led_power: pmx-led-power {
+				marvell,pins = "mpp40";
+				marvell,function = "gpio";
+			};
+			pmx_fan_lock: pmx-fan-lock {
+				marvell,pins = "mpp43";
+				marvell,function = "gpio";
+			};
+			pmx_button_function: pmx-button-function {
+				marvell,pins = "mpp45";
+				marvell,function = "gpio";
+			};
+			pmx_power_switch: pmx-power-switch {
+				marvell,pins = "mpp46";
+				marvell,function = "gpio";
+			};
+			pmx_power_auto_switch: pmx-power-auto-switch {
+				marvell,pins = "mpp47";
+				marvell,function = "gpio";
+			};
+		};
+
+		serial at 12000 {
+			status = "okay";
+		};
+
+		sata at 80000 {
+			status = "okay";
+			nr-ports = <2>;
+		};
+
+		spi at 10600 {
+			status = "okay";
+
+			m25p40 at 0 {
+				#address-cells = <1>;
+				#size-cells = <1>;
+				compatible = "st,m25p40", "jedec,spi-nor";
+				reg = <0>;
+				spi-max-frequency = <25000000>;
+				mode = <0>;
+
+				partition at 0 {
+					reg = <0x0 0x60000>;
+					label = "uboot";
+					read-only;
+				};
+
+				partition at 60000 {
+					reg = <0x60000 0x10000>;
+					label = "dtb";
+					read-only;
+				};
+
+				partition at 70000 {
+					reg = <0x70000 0x10000>;
+					label = "uboot_env";
+				};
+			};
+		};
+	};
+
+	gpio_keys {
+		compatible = "gpio-keys";
+		#address-cells = <1>;
+		#size-cells = <0>;
+		pinctrl-0 = <&pmx_button_function &pmx_power_switch
+			     &pmx_power_auto_switch>;
+		pinctrl-names = "default";
+
+		button at 1 {
+			label = "Function Button";
+			linux,code = <KEY_OPTION>;
+			gpios = <&gpio0 45 GPIO_ACTIVE_LOW>;
+		};
+
+		button at 2 {
+			label = "Power-on Switch";
+			linux,code = <KEY_RESERVED>;
+			linux,input-type = <5>;
+			gpios = <&gpio0 46 GPIO_ACTIVE_LOW>;
+		};
+
+		button at 3 {
+			label = "Power-auto Switch";
+			linux,code = <KEY_ESC>;
+			linux,input-type = <5>;
+			gpios = <&gpio0 47 GPIO_ACTIVE_LOW>;
+		};
+	};
+
+	gpio_leds {
+		compatible = "gpio-leds";
+		pinctrl-0 = <&pmx_led_function_red &pmx_led_alarm
+			     &pmx_led_info &pmx_led_power
+			     &pmx_led_function_blue
+			     &pmx_led_hdderr0
+			     &pmx_led_hdderr1>;
+		pinctrl-names = "default";
+
+		led at 1 {
+			label = "lswvl:red:alarm";
+			gpios = <&gpio0 36 GPIO_ACTIVE_LOW>;
+		};
+
+		led at 2 {
+			label = "lswvl:red:func";
+			gpios = <&gpio0 37 GPIO_ACTIVE_LOW>;
+		};
+
+		led at 3 {
+			label = "lswvl:amber:info";
+			gpios = <&gpio0 38 GPIO_ACTIVE_LOW>;
+		};
+
+		led at 4 {
+			label = "lswvl:blue:func";
+			gpios = <&gpio0 39 GPIO_ACTIVE_LOW>;
+		};
+
+		led at 5 {
+			label = "lswvl:blue:power";
+			gpios = <&gpio0 40 GPIO_ACTIVE_LOW>;
+			default-state = "keep";
+		};
+
+		led at 6 {
+			label = "lswvl:red:hdderr0";
+			gpios = <&gpio0 34 GPIO_ACTIVE_LOW>;
+		};
+
+		led at 7 {
+			label = "lswvl:red:hdderr1";
+			gpios = <&gpio0 35 GPIO_ACTIVE_LOW>;
+		};
+	};
+
+	gpio_fan {
+		compatible = "gpio-fan";
+		pinctrl-0 = <&pmx_fan_low &pmx_fan_high &pmx_fan_lock>;
+		pinctrl-names = "default";
+
+		gpios = <&gpio0 17 GPIO_ACTIVE_LOW
+			 &gpio0 16 GPIO_ACTIVE_LOW>;
+
+		gpio-fan,speed-map = <0 3
+				1500 2
+				3250 1
+				5000 0>;
+
+		alarm-gpios = <&gpio0 43 GPIO_ACTIVE_HIGH>;
+	};
+
+	restart_poweroff {
+		compatible = "restart-poweroff";
+	};
+
+	regulators {
+		compatible = "simple-bus";
+		#address-cells = <1>;
+		#size-cells = <0>;
+		pinctrl-0 = <&pmx_power_hdd0 &pmx_power_hdd1 &pmx_usb_vbus>;
+		pinctrl-names = "default";
+
+		usb_power: regulator at 1 {
+			compatible = "regulator-fixed";
+			reg = <1>;
+			regulator-name = "USB Power";
+			regulator-min-microvolt = <5000000>;
+			regulator-max-microvolt = <5000000>;
+			enable-active-high;
+			regulator-always-on;
+			regulator-boot-on;
+			gpio = <&gpio0 12 GPIO_ACTIVE_HIGH>;
+		};
+		hdd_power0: regulator at 2 {
+			compatible = "regulator-fixed";
+			reg = <2>;
+			regulator-name = "HDD0 Power";
+			regulator-min-microvolt = <5000000>;
+			regulator-max-microvolt = <5000000>;
+			enable-active-high;
+			regulator-always-on;
+			regulator-boot-on;
+			gpio = <&gpio0 8 GPIO_ACTIVE_HIGH>;
+		};
+		hdd_power1: regulator at 3 {
+			compatible = "regulator-fixed";
+			reg = <3>;
+			regulator-name = "HDD1 Power";
+			regulator-min-microvolt = <5000000>;
+			regulator-max-microvolt = <5000000>;
+			enable-active-high;
+			regulator-always-on;
+			regulator-boot-on;
+			gpio = <&gpio0 9 GPIO_ACTIVE_HIGH>;
+		};
+	};
+};
+
+&mdio {
+	status = "okay";
+
+	ethphy0: ethernet-phy at 0 {
+		device_type = "ethernet-phy";
+		reg = <0>;
+	};
+};
+
+&eth0 {
+	status = "okay";
+
+	ethernet0-port at 0 {
+		phy-handle = <&ethphy0>;
+	};
+};
-- 
1.9.1

^ permalink raw reply related	[flat|nested] 21+ messages in thread

* [PATCH v2 1/2] ARM: dts: add buffalo linkstation ls-wxl/wsxl
  2015-06-22 15:00   ` [PATCH v2 " Roger Shimizu
@ 2015-06-29 13:22     ` Gregory CLEMENT
  2015-06-29 13:38       ` Andrew Lunn
  0 siblings, 1 reply; 21+ messages in thread
From: Gregory CLEMENT @ 2015-06-29 13:22 UTC (permalink / raw)
  To: linux-arm-kernel

Hi Roger,

On 22/06/2015 17:00, Roger Shimizu wrote:
> Add dts file to support Buffalo Linkstation LS-WXL and LS-WSXL,
> which are 2-bay NAS with 3.5" and 2.5" HDD respectively.
> 
> Signed-off-by: Roger Shimizu <rogershimizu@gmail.com>
> Reviewed-by: Nobuhiro Iwamatsu <iwamatsu@nigauri.org>

it seems that you addressed Andrew's remarks too, so

Acked-by: Gregory CLEMENT <gregory.clement@free-electrons.com>


However I will wait for Andrew's formal acked-by before applying it.

Thanks,

Gregory
> ---
>  .../devicetree/bindings/arm/marvell,kirkwood.txt   |   1 +
>  arch/arm/boot/dts/Makefile                         |   1 +
>  arch/arm/boot/dts/kirkwood-lswxl.dts               | 301 +++++++++++++++++++++
>  3 files changed, 303 insertions(+)
>  create mode 100644 arch/arm/boot/dts/kirkwood-lswxl.dts
> 
> diff --git a/Documentation/devicetree/bindings/arm/marvell,kirkwood.txt b/Documentation/devicetree/bindings/arm/marvell,kirkwood.txt
> index 4f40ff3..b79212f 100644
> --- a/Documentation/devicetree/bindings/arm/marvell,kirkwood.txt
> +++ b/Documentation/devicetree/bindings/arm/marvell,kirkwood.txt
> @@ -20,6 +20,7 @@ And in addition, the compatible shall be extended with the specific
>  board. Currently known boards are:
>  
>  "buffalo,lschlv2"
> +"buffalo,lswxl"
>  "buffalo,lsxhl"
>  "buffalo,lsxl"
>  "dlink,dns-320"
> diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
> index a8bf702..b45c974 100644
> --- a/arch/arm/boot/dts/Makefile
> +++ b/arch/arm/boot/dts/Makefile
> @@ -176,6 +176,7 @@ dtb-$(CONFIG_MACH_KIRKWOOD) += \
>  	kirkwood-km_kirkwood.dtb \
>  	kirkwood-laplug.dtb \
>  	kirkwood-lschlv2.dtb \
> +	kirkwood-lswxl.dtb \
>  	kirkwood-lsxhl.dtb \
>  	kirkwood-mplcec4.dtb \
>  	kirkwood-mv88f6281gtw-ge.dtb \
> diff --git a/arch/arm/boot/dts/kirkwood-lswxl.dts b/arch/arm/boot/dts/kirkwood-lswxl.dts
> new file mode 100644
> index 0000000..f5db16a
> --- /dev/null
> +++ b/arch/arm/boot/dts/kirkwood-lswxl.dts
> @@ -0,0 +1,301 @@
> +/*
> + * 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>;
> +	};
> +};
> 


-- 
Gregory Clement, Free Electrons
Kernel, drivers, real-time and embedded Linux
development, consulting, training and support.
http://free-electrons.com

^ permalink raw reply	[flat|nested] 21+ messages in thread

* [PATCH v2 2/2] ARM: dts: add buffalo linkstation ls-wvl/vl
  2015-06-22 15:02   ` [PATCH v2 " Roger Shimizu
@ 2015-06-29 13:22     ` Gregory CLEMENT
  2015-06-29 13:43       ` Andrew Lunn
  0 siblings, 1 reply; 21+ messages in thread
From: Gregory CLEMENT @ 2015-06-29 13:22 UTC (permalink / raw)
  To: linux-arm-kernel

Hi Roger,

On 22/06/2015 17:02, Roger Shimizu wrote:
> Add dts file to support Buffalo Linkstation LS-WVL and LS-VL,
> which are 3.5" HDD NAS in 2-bay and 1-bay respectively.
> 
> Signed-off-by: Roger Shimizu <rogershimizu@gmail.com>
> Reviewed-by: Nobuhiro Iwamatsu <iwamatsu@nigauri.org>

it seems that you addressed Andrew's remarks too, so

Acked-by: Gregory CLEMENT <gregory.clement@free-electrons.com>


However I will wait for Andrew's formal acked-by before applying it.

Thanks,

Gregory


> ---
>  .../devicetree/bindings/arm/marvell,kirkwood.txt   |   1 +
>  arch/arm/boot/dts/Makefile                         |   1 +
>  arch/arm/boot/dts/kirkwood-lswvl.dts               | 301 +++++++++++++++++++++
>  3 files changed, 303 insertions(+)
>  create mode 100644 arch/arm/boot/dts/kirkwood-lswvl.dts
> 
> diff --git a/Documentation/devicetree/bindings/arm/marvell,kirkwood.txt b/Documentation/devicetree/bindings/arm/marvell,kirkwood.txt
> index b79212f..5171ad8 100644
> --- a/Documentation/devicetree/bindings/arm/marvell,kirkwood.txt
> +++ b/Documentation/devicetree/bindings/arm/marvell,kirkwood.txt
> @@ -20,6 +20,7 @@ And in addition, the compatible shall be extended with the specific
>  board. Currently known boards are:
>  
>  "buffalo,lschlv2"
> +"buffalo,lswvl"
>  "buffalo,lswxl"
>  "buffalo,lsxhl"
>  "buffalo,lsxl"
> diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
> index b45c974..5b36795 100644
> --- a/arch/arm/boot/dts/Makefile
> +++ b/arch/arm/boot/dts/Makefile
> @@ -176,6 +176,7 @@ dtb-$(CONFIG_MACH_KIRKWOOD) += \
>  	kirkwood-km_kirkwood.dtb \
>  	kirkwood-laplug.dtb \
>  	kirkwood-lschlv2.dtb \
> +	kirkwood-lswvl.dtb \
>  	kirkwood-lswxl.dtb \
>  	kirkwood-lsxhl.dtb \
>  	kirkwood-mplcec4.dtb \
> diff --git a/arch/arm/boot/dts/kirkwood-lswvl.dts b/arch/arm/boot/dts/kirkwood-lswvl.dts
> new file mode 100644
> index 0000000..ad35329
> --- /dev/null
> +++ b/arch/arm/boot/dts/kirkwood-lswvl.dts
> @@ -0,0 +1,301 @@
> +/*
> + * Device Tree file for Buffalo Linkstation LS-WVL/VL
> + *
> + * 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-6282.dtsi"
> +
> +/ {
> +	model = "Buffalo Linkstation LS-WVL/VL";
> +	compatible = "buffalo,lswvl", "buffalo,lsvl", "marvell,kirkwood-88f6282", "marvell,kirkwood";
> +
> +	memory { /* 256 MB */
> +		device_type = "memory";
> +		reg = <0x00000000 0x10000000>;
> +	};
> +
> +	chosen {
> +		bootargs = "console=ttyS0,115200n8 earlyprintk";
> +		stdout-path = &uart0;
> +	};
> +
> +	mbus {
> +		pcie-controller {
> +			status = "okay";
> +			pcie at 1,0 {
> +				status = "okay";
> +			};
> +		};
> +	};
> +
> +	ocp at f1000000 {
> +		pinctrl: pin-controller at 10000 {
> +			pmx_power_hdd0: pmx-power-hdd0 {
> +				marvell,pins = "mpp8";
> +				marvell,function = "gpio";
> +			};
> +			pmx_power_hdd1: pmx-power-hdd1 {
> +				marvell,pins = "mpp9";
> +				marvell,function = "gpio";
> +			};
> +			pmx_usb_vbus: pmx-usb-vbus {
> +				marvell,pins = "mpp12";
> +				marvell,function = "gpio";
> +			};
> +			pmx_fan_high: pmx-fan-high {
> +				marvell,pins = "mpp16";
> +				marvell,function = "gpio";
> +			};
> +			pmx_fan_low: pmx-fan-low {
> +				marvell,pins = "mpp17";
> +				marvell,function = "gpio";
> +			};
> +			pmx_led_hdderr0: pmx-led-hdderr0 {
> +				marvell,pins = "mpp34";
> +				marvell,function = "gpio";
> +			};
> +			pmx_led_hdderr1: pmx-led-hdderr1 {
> +				marvell,pins = "mpp35";
> +				marvell,function = "gpio";
> +			};
> +			pmx_led_alarm: pmx-led-alarm {
> +				marvell,pins = "mpp36";
> +				marvell,function = "gpio";
> +			};
> +			pmx_led_function_red: pmx-led-function_red {
> +				marvell,pins = "mpp37";
> +				marvell,function = "gpio";
> +			};
> +			pmx_led_info: pmx-led-info {
> +				marvell,pins = "mpp38";
> +				marvell,function = "gpio";
> +			};
> +			pmx_led_function_blue: pmx-led-function-blue {
> +				marvell,pins = "mpp39";
> +				marvell,function = "gpio";
> +			};
> +			pmx_led_power: pmx-led-power {
> +				marvell,pins = "mpp40";
> +				marvell,function = "gpio";
> +			};
> +			pmx_fan_lock: pmx-fan-lock {
> +				marvell,pins = "mpp43";
> +				marvell,function = "gpio";
> +			};
> +			pmx_button_function: pmx-button-function {
> +				marvell,pins = "mpp45";
> +				marvell,function = "gpio";
> +			};
> +			pmx_power_switch: pmx-power-switch {
> +				marvell,pins = "mpp46";
> +				marvell,function = "gpio";
> +			};
> +			pmx_power_auto_switch: pmx-power-auto-switch {
> +				marvell,pins = "mpp47";
> +				marvell,function = "gpio";
> +			};
> +		};
> +
> +		serial at 12000 {
> +			status = "okay";
> +		};
> +
> +		sata at 80000 {
> +			status = "okay";
> +			nr-ports = <2>;
> +		};
> +
> +		spi at 10600 {
> +			status = "okay";
> +
> +			m25p40 at 0 {
> +				#address-cells = <1>;
> +				#size-cells = <1>;
> +				compatible = "st,m25p40", "jedec,spi-nor";
> +				reg = <0>;
> +				spi-max-frequency = <25000000>;
> +				mode = <0>;
> +
> +				partition at 0 {
> +					reg = <0x0 0x60000>;
> +					label = "uboot";
> +					read-only;
> +				};
> +
> +				partition at 60000 {
> +					reg = <0x60000 0x10000>;
> +					label = "dtb";
> +					read-only;
> +				};
> +
> +				partition at 70000 {
> +					reg = <0x70000 0x10000>;
> +					label = "uboot_env";
> +				};
> +			};
> +		};
> +	};
> +
> +	gpio_keys {
> +		compatible = "gpio-keys";
> +		#address-cells = <1>;
> +		#size-cells = <0>;
> +		pinctrl-0 = <&pmx_button_function &pmx_power_switch
> +			     &pmx_power_auto_switch>;
> +		pinctrl-names = "default";
> +
> +		button at 1 {
> +			label = "Function Button";
> +			linux,code = <KEY_OPTION>;
> +			gpios = <&gpio0 45 GPIO_ACTIVE_LOW>;
> +		};
> +
> +		button at 2 {
> +			label = "Power-on Switch";
> +			linux,code = <KEY_RESERVED>;
> +			linux,input-type = <5>;
> +			gpios = <&gpio0 46 GPIO_ACTIVE_LOW>;
> +		};
> +
> +		button at 3 {
> +			label = "Power-auto Switch";
> +			linux,code = <KEY_ESC>;
> +			linux,input-type = <5>;
> +			gpios = <&gpio0 47 GPIO_ACTIVE_LOW>;
> +		};
> +	};
> +
> +	gpio_leds {
> +		compatible = "gpio-leds";
> +		pinctrl-0 = <&pmx_led_function_red &pmx_led_alarm
> +			     &pmx_led_info &pmx_led_power
> +			     &pmx_led_function_blue
> +			     &pmx_led_hdderr0
> +			     &pmx_led_hdderr1>;
> +		pinctrl-names = "default";
> +
> +		led at 1 {
> +			label = "lswvl:red:alarm";
> +			gpios = <&gpio0 36 GPIO_ACTIVE_LOW>;
> +		};
> +
> +		led at 2 {
> +			label = "lswvl:red:func";
> +			gpios = <&gpio0 37 GPIO_ACTIVE_LOW>;
> +		};
> +
> +		led at 3 {
> +			label = "lswvl:amber:info";
> +			gpios = <&gpio0 38 GPIO_ACTIVE_LOW>;
> +		};
> +
> +		led at 4 {
> +			label = "lswvl:blue:func";
> +			gpios = <&gpio0 39 GPIO_ACTIVE_LOW>;
> +		};
> +
> +		led at 5 {
> +			label = "lswvl:blue:power";
> +			gpios = <&gpio0 40 GPIO_ACTIVE_LOW>;
> +			default-state = "keep";
> +		};
> +
> +		led at 6 {
> +			label = "lswvl:red:hdderr0";
> +			gpios = <&gpio0 34 GPIO_ACTIVE_LOW>;
> +		};
> +
> +		led at 7 {
> +			label = "lswvl:red:hdderr1";
> +			gpios = <&gpio0 35 GPIO_ACTIVE_LOW>;
> +		};
> +	};
> +
> +	gpio_fan {
> +		compatible = "gpio-fan";
> +		pinctrl-0 = <&pmx_fan_low &pmx_fan_high &pmx_fan_lock>;
> +		pinctrl-names = "default";
> +
> +		gpios = <&gpio0 17 GPIO_ACTIVE_LOW
> +			 &gpio0 16 GPIO_ACTIVE_LOW>;
> +
> +		gpio-fan,speed-map = <0 3
> +				1500 2
> +				3250 1
> +				5000 0>;
> +
> +		alarm-gpios = <&gpio0 43 GPIO_ACTIVE_HIGH>;
> +	};
> +
> +	restart_poweroff {
> +		compatible = "restart-poweroff";
> +	};
> +
> +	regulators {
> +		compatible = "simple-bus";
> +		#address-cells = <1>;
> +		#size-cells = <0>;
> +		pinctrl-0 = <&pmx_power_hdd0 &pmx_power_hdd1 &pmx_usb_vbus>;
> +		pinctrl-names = "default";
> +
> +		usb_power: regulator at 1 {
> +			compatible = "regulator-fixed";
> +			reg = <1>;
> +			regulator-name = "USB Power";
> +			regulator-min-microvolt = <5000000>;
> +			regulator-max-microvolt = <5000000>;
> +			enable-active-high;
> +			regulator-always-on;
> +			regulator-boot-on;
> +			gpio = <&gpio0 12 GPIO_ACTIVE_HIGH>;
> +		};
> +		hdd_power0: regulator at 2 {
> +			compatible = "regulator-fixed";
> +			reg = <2>;
> +			regulator-name = "HDD0 Power";
> +			regulator-min-microvolt = <5000000>;
> +			regulator-max-microvolt = <5000000>;
> +			enable-active-high;
> +			regulator-always-on;
> +			regulator-boot-on;
> +			gpio = <&gpio0 8 GPIO_ACTIVE_HIGH>;
> +		};
> +		hdd_power1: regulator at 3 {
> +			compatible = "regulator-fixed";
> +			reg = <3>;
> +			regulator-name = "HDD1 Power";
> +			regulator-min-microvolt = <5000000>;
> +			regulator-max-microvolt = <5000000>;
> +			enable-active-high;
> +			regulator-always-on;
> +			regulator-boot-on;
> +			gpio = <&gpio0 9 GPIO_ACTIVE_HIGH>;
> +		};
> +	};
> +};
> +
> +&mdio {
> +	status = "okay";
> +
> +	ethphy0: ethernet-phy at 0 {
> +		device_type = "ethernet-phy";
> +		reg = <0>;
> +	};
> +};
> +
> +&eth0 {
> +	status = "okay";
> +
> +	ethernet0-port at 0 {
> +		phy-handle = <&ethphy0>;
> +	};
> +};
> 


-- 
Gregory Clement, Free Electrons
Kernel, drivers, real-time and embedded Linux
development, consulting, training and support.
http://free-electrons.com

^ permalink raw reply	[flat|nested] 21+ messages in thread

* [PATCH v2 1/2] ARM: dts: add buffalo linkstation ls-wxl/wsxl
  2015-06-29 13:22     ` Gregory CLEMENT
@ 2015-06-29 13:38       ` Andrew Lunn
  2015-07-09 13:12         ` Gregory CLEMENT
  0 siblings, 1 reply; 21+ messages in thread
From: Andrew Lunn @ 2015-06-29 13:38 UTC (permalink / raw)
  To: linux-arm-kernel

On Mon, Jun 29, 2015 at 03:22:53PM +0200, Gregory CLEMENT wrote:
> Hi Roger,
> 
> On 22/06/2015 17:00, Roger Shimizu wrote:
> > Add dts file to support Buffalo Linkstation LS-WXL and LS-WSXL,
> > which are 2-bay NAS with 3.5" and 2.5" HDD respectively.
> > 
> > Signed-off-by: Roger Shimizu <rogershimizu@gmail.com>
> > Reviewed-by: Nobuhiro Iwamatsu <iwamatsu@nigauri.org>
> 
> it seems that you addressed Andrew's remarks too, so
> 
> Acked-by: Gregory CLEMENT <gregory.clement@free-electrons.com>
>
> However I will wait for Andrew's formal acked-by before applying it.

Thanks for the reminder:

Acked-by: Andrew Lunn <andrew@lunn.ch>

	  Andrew


> 
> Thanks,
> 
> Gregory
> > ---
> >  .../devicetree/bindings/arm/marvell,kirkwood.txt   |   1 +
> >  arch/arm/boot/dts/Makefile                         |   1 +
> >  arch/arm/boot/dts/kirkwood-lswxl.dts               | 301 +++++++++++++++++++++
> >  3 files changed, 303 insertions(+)
> >  create mode 100644 arch/arm/boot/dts/kirkwood-lswxl.dts
> > 
> > diff --git a/Documentation/devicetree/bindings/arm/marvell,kirkwood.txt b/Documentation/devicetree/bindings/arm/marvell,kirkwood.txt
> > index 4f40ff3..b79212f 100644
> > --- a/Documentation/devicetree/bindings/arm/marvell,kirkwood.txt
> > +++ b/Documentation/devicetree/bindings/arm/marvell,kirkwood.txt
> > @@ -20,6 +20,7 @@ And in addition, the compatible shall be extended with the specific
> >  board. Currently known boards are:
> >  
> >  "buffalo,lschlv2"
> > +"buffalo,lswxl"
> >  "buffalo,lsxhl"
> >  "buffalo,lsxl"
> >  "dlink,dns-320"
> > diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
> > index a8bf702..b45c974 100644
> > --- a/arch/arm/boot/dts/Makefile
> > +++ b/arch/arm/boot/dts/Makefile
> > @@ -176,6 +176,7 @@ dtb-$(CONFIG_MACH_KIRKWOOD) += \
> >  	kirkwood-km_kirkwood.dtb \
> >  	kirkwood-laplug.dtb \
> >  	kirkwood-lschlv2.dtb \
> > +	kirkwood-lswxl.dtb \
> >  	kirkwood-lsxhl.dtb \
> >  	kirkwood-mplcec4.dtb \
> >  	kirkwood-mv88f6281gtw-ge.dtb \
> > diff --git a/arch/arm/boot/dts/kirkwood-lswxl.dts b/arch/arm/boot/dts/kirkwood-lswxl.dts
> > new file mode 100644
> > index 0000000..f5db16a
> > --- /dev/null
> > +++ b/arch/arm/boot/dts/kirkwood-lswxl.dts
> > @@ -0,0 +1,301 @@
> > +/*
> > + * 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>;
> > +	};
> > +};
> > 
> 
> 
> -- 
> Gregory Clement, Free Electrons
> Kernel, drivers, real-time and embedded Linux
> development, consulting, training and support.
> http://free-electrons.com

^ permalink raw reply	[flat|nested] 21+ messages in thread

* [PATCH v2 2/2] ARM: dts: add buffalo linkstation ls-wvl/vl
  2015-06-29 13:22     ` Gregory CLEMENT
@ 2015-06-29 13:43       ` Andrew Lunn
  2015-06-29 13:52         ` Gregory CLEMENT
  2015-07-09 13:13         ` Gregory CLEMENT
  0 siblings, 2 replies; 21+ messages in thread
From: Andrew Lunn @ 2015-06-29 13:43 UTC (permalink / raw)
  To: linux-arm-kernel

On Mon, Jun 29, 2015 at 03:22:56PM +0200, Gregory CLEMENT wrote:
> Hi Roger,
> 
> On 22/06/2015 17:02, Roger Shimizu wrote:
> > Add dts file to support Buffalo Linkstation LS-WVL and LS-VL,
> > which are 3.5" HDD NAS in 2-bay and 1-bay respectively.
> > 
> > Signed-off-by: Roger Shimizu <rogershimizu@gmail.com>
> > Reviewed-by: Nobuhiro Iwamatsu <iwamatsu@nigauri.org>
> 
> it seems that you addressed Andrew's remarks too, so
> 
> Acked-by: Gregory CLEMENT <gregory.clement@free-electrons.com>
> 
> 
> However I will wait for Andrew's formal acked-by before applying it.

Hi Gregory

One minor nit pick. Maybe you can fix it while committing?

> > +			pmx_led_alarm: pmx-led-alarm {
> > +				marvell,pins = "mpp36";
> > +				marvell,function = "gpio";
> > +			};
> > +			pmx_led_function_red: pmx-led-function_red {

Second _red should be -red.

> > +				marvell,pins = "mpp37";
> > +				marvell,function = "gpio";
> > +			};

Other than that,

Acked-by: Andrew Lunn <andrew@lunn.ch>

	  Thanks
		Andrew

^ permalink raw reply	[flat|nested] 21+ messages in thread

* [PATCH v2 2/2] ARM: dts: add buffalo linkstation ls-wvl/vl
  2015-06-29 13:43       ` Andrew Lunn
@ 2015-06-29 13:52         ` Gregory CLEMENT
  2015-07-09 13:13         ` Gregory CLEMENT
  1 sibling, 0 replies; 21+ messages in thread
From: Gregory CLEMENT @ 2015-06-29 13:52 UTC (permalink / raw)
  To: linux-arm-kernel

Hi Andrew, Roger,



On 29/06/2015 15:43, Andrew Lunn wrote:
> On Mon, Jun 29, 2015 at 03:22:56PM +0200, Gregory CLEMENT wrote:
>> Hi Roger,
>>
>> On 22/06/2015 17:02, Roger Shimizu wrote:
>>> Add dts file to support Buffalo Linkstation LS-WVL and LS-VL,
>>> which are 3.5" HDD NAS in 2-bay and 1-bay respectively.
>>>
>>> Signed-off-by: Roger Shimizu <rogershimizu@gmail.com>
>>> Reviewed-by: Nobuhiro Iwamatsu <iwamatsu@nigauri.org>
>>
>> it seems that you addressed Andrew's remarks too, so
>>
>> Acked-by: Gregory CLEMENT <gregory.clement@free-electrons.com>
>>
>>
>> However I will wait for Andrew's formal acked-by before applying it.
> 
> Hi Gregory
> 
> One minor nit pick. Maybe you can fix it while committing?
> 
>>> +			pmx_led_alarm: pmx-led-alarm {
>>> +				marvell,pins = "mpp36";
>>> +				marvell,function = "gpio";
>>> +			};
>>> +			pmx_led_function_red: pmx-led-function_red {
> 
> Second _red should be -red.

OK I will take care of it.


Roger, you wont have to send a new version for fixing it.


Thanks,

Gregory


> 
>>> +				marvell,pins = "mpp37";
>>> +				marvell,function = "gpio";
>>> +			};
> 
> Other than that,
> 
> Acked-by: Andrew Lunn <andrew@lunn.ch>
> 
> 	  Thanks
> 		Andrew
> 


-- 
Gregory Clement, Free Electrons
Kernel, drivers, real-time and embedded Linux
development, consulting, training and support.
http://free-electrons.com

^ permalink raw reply	[flat|nested] 21+ messages in thread

* [PATCH v2 1/2] ARM: dts: add buffalo linkstation ls-wxl/wsxl
  2015-06-29 13:38       ` Andrew Lunn
@ 2015-07-09 13:12         ` Gregory CLEMENT
  2015-07-09 14:06           ` Roger Shimizu
  0 siblings, 1 reply; 21+ messages in thread
From: Gregory CLEMENT @ 2015-07-09 13:12 UTC (permalink / raw)
  To: linux-arm-kernel

Hi Andrew, Roger,



On 29/06/2015 15:38, Andrew Lunn wrote:
> On Mon, Jun 29, 2015 at 03:22:53PM +0200, Gregory CLEMENT wrote:
>> Hi Roger,
>>
>> On 22/06/2015 17:00, Roger Shimizu wrote:
>>> Add dts file to support Buffalo Linkstation LS-WXL and LS-WSXL,
>>> which are 2-bay NAS with 3.5" and 2.5" HDD respectively.
>>>
>>> Signed-off-by: Roger Shimizu <rogershimizu@gmail.com>
>>> Reviewed-by: Nobuhiro Iwamatsu <iwamatsu@nigauri.org>
>>
>> it seems that you addressed Andrew's remarks too, so
>>
>> Acked-by: Gregory CLEMENT <gregory.clement@free-electrons.com>
>>
>> However I will wait for Andrew's formal acked-by before applying it.
> 
> Thanks for the reminder:
> 
> Acked-by: Andrew Lunn <andrew@lunn.ch>
> 
> 	  Andrew


now applied on mvebu/dt

Thanks,

Gregory

> 
> 
>>
>> Thanks,
>>
>> Gregory
>>> ---
>>>  .../devicetree/bindings/arm/marvell,kirkwood.txt   |   1 +
>>>  arch/arm/boot/dts/Makefile                         |   1 +
>>>  arch/arm/boot/dts/kirkwood-lswxl.dts               | 301 +++++++++++++++++++++
>>>  3 files changed, 303 insertions(+)
>>>  create mode 100644 arch/arm/boot/dts/kirkwood-lswxl.dts
>>>
>>> diff --git a/Documentation/devicetree/bindings/arm/marvell,kirkwood.txt b/Documentation/devicetree/bindings/arm/marvell,kirkwood.txt
>>> index 4f40ff3..b79212f 100644
>>> --- a/Documentation/devicetree/bindings/arm/marvell,kirkwood.txt
>>> +++ b/Documentation/devicetree/bindings/arm/marvell,kirkwood.txt
>>> @@ -20,6 +20,7 @@ And in addition, the compatible shall be extended with the specific
>>>  board. Currently known boards are:
>>>  
>>>  "buffalo,lschlv2"
>>> +"buffalo,lswxl"
>>>  "buffalo,lsxhl"
>>>  "buffalo,lsxl"
>>>  "dlink,dns-320"
>>> diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
>>> index a8bf702..b45c974 100644
>>> --- a/arch/arm/boot/dts/Makefile
>>> +++ b/arch/arm/boot/dts/Makefile
>>> @@ -176,6 +176,7 @@ dtb-$(CONFIG_MACH_KIRKWOOD) += \
>>>  	kirkwood-km_kirkwood.dtb \
>>>  	kirkwood-laplug.dtb \
>>>  	kirkwood-lschlv2.dtb \
>>> +	kirkwood-lswxl.dtb \
>>>  	kirkwood-lsxhl.dtb \
>>>  	kirkwood-mplcec4.dtb \
>>>  	kirkwood-mv88f6281gtw-ge.dtb \
>>> diff --git a/arch/arm/boot/dts/kirkwood-lswxl.dts b/arch/arm/boot/dts/kirkwood-lswxl.dts
>>> new file mode 100644
>>> index 0000000..f5db16a
>>> --- /dev/null
>>> +++ b/arch/arm/boot/dts/kirkwood-lswxl.dts
>>> @@ -0,0 +1,301 @@
>>> +/*
>>> + * 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>;
>>> +	};
>>> +};
>>>
>>
>>
>> -- 
>> Gregory Clement, Free Electrons
>> Kernel, drivers, real-time and embedded Linux
>> development, consulting, training and support.
>> http://free-electrons.com


-- 
Gregory Clement, Free Electrons
Kernel, drivers, real-time and embedded Linux
development, consulting, training and support.
http://free-electrons.com

^ permalink raw reply	[flat|nested] 21+ messages in thread

* [PATCH v2 2/2] ARM: dts: add buffalo linkstation ls-wvl/vl
  2015-06-29 13:43       ` Andrew Lunn
  2015-06-29 13:52         ` Gregory CLEMENT
@ 2015-07-09 13:13         ` Gregory CLEMENT
  1 sibling, 0 replies; 21+ messages in thread
From: Gregory CLEMENT @ 2015-07-09 13:13 UTC (permalink / raw)
  To: linux-arm-kernel

Hi Andrew, Roger,

On 29/06/2015 15:43, Andrew Lunn wrote:
> On Mon, Jun 29, 2015 at 03:22:56PM +0200, Gregory CLEMENT wrote:
>> Hi Roger,
>>
>> On 22/06/2015 17:02, Roger Shimizu wrote:
>>> Add dts file to support Buffalo Linkstation LS-WVL and LS-VL,
>>> which are 3.5" HDD NAS in 2-bay and 1-bay respectively.
>>>
>>> Signed-off-by: Roger Shimizu <rogershimizu@gmail.com>
>>> Reviewed-by: Nobuhiro Iwamatsu <iwamatsu@nigauri.org>
>>
>> it seems that you addressed Andrew's remarks too, so
>>
>> Acked-by: Gregory CLEMENT <gregory.clement@free-electrons.com>
>>
>>
>> However I will wait for Andrew's formal acked-by before applying it.
> 
> Hi Gregory
> 
> One minor nit pick. Maybe you can fix it while committing?
> 
>>> +			pmx_led_alarm: pmx-led-alarm {
>>> +				marvell,pins = "mpp36";
>>> +				marvell,function = "gpio";
>>> +			};
>>> +			pmx_led_function_red: pmx-led-function_red {
> 
> Second _red should be -red.
> 
>>> +				marvell,pins = "mpp37";
>>> +				marvell,function = "gpio";
>>> +			};
> 
> Other than that,
> 
> Acked-by: Andrew Lunn <andrew@lunn.ch>


Now applied on mvebu/dt with the typo fixed

Thanks,

Gregory


> 
> 	  Thanks
> 		Andrew
> 


-- 
Gregory Clement, Free Electrons
Kernel, drivers, real-time and embedded Linux
development, consulting, training and support.
http://free-electrons.com

^ permalink raw reply	[flat|nested] 21+ messages in thread

* [PATCH v2 1/2] ARM: dts: add buffalo linkstation ls-wxl/wsxl
  2015-07-09 13:12         ` Gregory CLEMENT
@ 2015-07-09 14:06           ` Roger Shimizu
  0 siblings, 0 replies; 21+ messages in thread
From: Roger Shimizu @ 2015-07-09 14:06 UTC (permalink / raw)
  To: linux-arm-kernel

Dear Gregory, Andrew,

I'm pleased to know it's been committed.
Thanks for your review and help!

Cheers,
Roger

^ permalink raw reply	[flat|nested] 21+ messages in thread

end of thread, other threads:[~2015-07-09 14:06 UTC | newest]

Thread overview: 21+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-06-19 11:28 [PATCH 0/2] ARM: dts: add buffalo linkstation ls-wxl/wsxl & ls-wvl/vl Roger Shimizu
2015-06-19 11:28 ` [PATCH 1/2] ARM: dts: add buffalo linkstation ls-wxl/wsxl Roger Shimizu
2015-06-19 22:14   ` Andrew Lunn
2015-06-20 12:36     ` Roger Shimizu
2015-06-20 14:51       ` Andrew Lunn
2015-06-20 15:56         ` Roger Shimizu
2015-06-20 16:03           ` Andrew Lunn
2015-06-21 15:16             ` Roger Shimizu
2015-06-21 20:09               ` Andrew Lunn
2015-06-22 15:00   ` [PATCH v2 " Roger Shimizu
2015-06-29 13:22     ` Gregory CLEMENT
2015-06-29 13:38       ` Andrew Lunn
2015-07-09 13:12         ` Gregory CLEMENT
2015-07-09 14:06           ` Roger Shimizu
2015-06-19 11:28 ` [PATCH 2/2] ARM: dts: add buffalo linkstation ls-wvl/vl Roger Shimizu
2015-06-19 22:22   ` Andrew Lunn
2015-06-22 15:02   ` [PATCH v2 " Roger Shimizu
2015-06-29 13:22     ` Gregory CLEMENT
2015-06-29 13:43       ` Andrew Lunn
2015-06-29 13:52         ` Gregory CLEMENT
2015-07-09 13:13         ` Gregory CLEMENT

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.