All of lore.kernel.org
 help / color / mirror / Atom feed
From: evgeni@studio-punkt.com (Evgeni Dobrev)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH v3 1/1] add support for Seagate BlackArmor NAS220
Date: Fri, 26 Dec 2014 12:06:49 +0100	[thread overview]
Message-ID: <20141226110649.GC4700@anne> (raw)
In-Reply-To: <549C0C3C.8060601@gmail.com>

Hello Sebastian,

On Thu, Dec 25, 2014 at 02:08:12PM +0100, Sebastian Hesselbarth wrote:
> On 22.12.2014 13:57, Evgeni Dobrev wrote:
> >This patch adds support for Seagate BlackArmor NAS220.
> >
> >The Seagate BlackArmor NAS 220 is a NAS system based on Marvell 88f6192. It has
> >32MB NAND and 128MB DRAM. It has two SATA slots, one Gigabit Ethernet port, two
> >USB 2.0 ports, two buttons and three LEDs. There is a serial port available on
> >the CN5 connector on the board (1 - TX, 4 - RX, 6 - GND).
> >
> >The only functionality still not implemented is the bi-color led on the front
> >panel (status). Pins mpp22 and mpp23 control this led. Setting mpp22 to high and
> >mpp23 to low results in orange color. Setting mpp22 to low and mpp23 to high
> >results in blue color.
> >
> >The third led is wired to show the SATA activity on the two drives.
> >
> >Signed-off-by: Evgeni Dobrev <evgeni@studio-punkt.com>
> 
> Evgeni,
> 
> sorry for the late review, but I do have some nits that should
> remove some inconsistencies. If we don't do it now, we'd never
> change that later.
> 

thank you for your review. I will make the changes you suggest and resubmit.

> >---
> >  arch/arm/boot/dts/Makefile            |    1 +
> >  arch/arm/boot/dts/kirkwood-nas220.dts |  166 +++++++++++++++++++++++++++++++++
> >  2 files changed, 167 insertions(+)
> >  create mode 100644 arch/arm/boot/dts/kirkwood-nas220.dts
> >
> >diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
> >index 38c89ca..8b9ad1d 100644
> >--- a/arch/arm/boot/dts/Makefile
> >+++ b/arch/arm/boot/dts/Makefile
> >@@ -132,6 +132,7 @@ dtb-$(CONFIG_MACH_KIRKWOOD) += kirkwood-b3.dtb \
> >  	kirkwood-lsxhl.dtb \
> >  	kirkwood-mplcec4.dtb \
> >  	kirkwood-mv88f6281gtw-ge.dtb \
> >+	kirkwood-nas220.dtb \
> 
> I am not too happy with choosing "nas220" as the base name for the
> board. Can we make it a little bit more specific like
> "seagate-nas220" or "blackarmor-nas220" ?
> 
> >  	kirkwood-net2big.dtb \
> >  	kirkwood-net5big.dtb \
> >  	kirkwood-netgear_readynas_duo_v2.dtb \
> >diff --git a/arch/arm/boot/dts/kirkwood-nas220.dts b/arch/arm/boot/dts/kirkwood-nas220.dts
> >new file mode 100644
> >index 0000000..8175f3d
> >--- /dev/null
> >+++ b/arch/arm/boot/dts/kirkwood-nas220.dts
> >@@ -0,0 +1,166 @@
> >+/*
> >+ * Device Tree file for Seagate BlackArmor NAS220
> >+ *
> >+ * Copyright (C) 2014 Evgeni Dobrev <evgeni@studio-punkt.com>
> >+ *
> >+ * Licensed under GPLv2 or later.
> >+ */
> >+
> >+/dts-v1/;
> >+
> >+#include <dt-bindings/gpio/gpio.h>
> >+#include <dt-bindings/input/input.h>
> >+#include "kirkwood.dtsi"
> >+#include "kirkwood-6192.dtsi"
> >+
> >+/ {
> >+	model = "Seagate NAS 220";
> 
> model = "Seagate BlackArmor NAS220";
> 
> i.e. choose the same spelling in comment above and model name here.
> 
> >+	compatible = "seagate,nas220","marvell,kirkwood-88f6192","marvell,kirkwood";
> 
> compatible should reflect the chosen base name above.
> 
> >+
> >+	memory { /* 128 MB */
> >+		device_type = "memory";
> >+		reg = <0x00000000 0x8000000>;
> >+	};
> >+
> >+	chosen {
> >+		bootargs = "console=ttyS0,115200n8";
> >+		stdout-path = &uart0;
> >+	};
> >+
> >+	ocp at f1000000 {
> >+		pinctrl: pin-controller at 10000 {
> 
> v3.19 should already have a label for the common pinctrl node.
> Please do not replay the bus structure but use a node reference
> like &nand and friends below.
> 
> >+			pinctrl-0 = <&pmx_uart0
> >+				     &pmx_button_reset
> >+				     &pmx_button_power>;
> >+			pinctrl-names = "default";
> >+
> >+			pmx_act_sata0: pmx-act-sata0 {
> >+				marvell,pins = "mpp15";
> >+				marvell,function = "sata0";
> >+			};
> 
> Insert a blank line between each of the pmx_foo nodes?
> 
> >+			pmx_act_sata1: pmx-act-sata1 {
> >+				marvell,pins = "mpp16";
> >+				marvell,function = "sata1";
> >+			};
> >+			pmx_power_sata0: pmx-power-sata0 {
> >+				marvell,pins = "mpp24";
> >+				marvell,function = "gpio";
> >+			};
> >+			pmx_power_sata1: pmx-power-sata1 {
> >+				marvell,pins = "mpp28";
> >+				marvell,function = "gpio";
> >+			};
> >+			pmx_button_reset: pmx-button-reset {
> >+				marvell,pins = "mpp29";
> >+				marvell,function = "gpio";
> >+			};
> >+			pmx_button_power: pmx-button-power {
> >+				marvell,pins = "mpp26";
> >+				marvell,function = "gpio";
> >+			};
> >+		};
> >+
> >+
> 
> Remove extra blank line.
> 
> >+		/*
> >+		 * Serial port routed to connector CN5
> >+		 *
> >+		 * pin 1 - TX
> >+		 * pin 4 - RX
> >+		 * pin 6 - GND
> >+		 */
> 
> Nice! Can you also clarify if TX/RX are as seen from the SoC or
> remote end?
> 
> >+		serial at 12000 {
> 
> Please use node references where possible, IIRC v3.19 should have
> labels for serial, sata, and i2c. Avoid to replay the bus structure.
> 
> >+			status = "okay";
> >+		};
> >+
> >+		sata at 80000 {
> >+			status = "okay";
> >+			nr-ports = <2>;
> 
> I need some update from the other mvebu guys here: Do we have SATA
> PHY nodes in v3.19 for Kirkwood already? If so, please update to the
> new binding.
> 
> >+		};
> >+
> >+		i2c at 11000 {
> >+			status = "okay";
> >+			adt7476: adt7476a at 2e {
> 
> I know we have a lot of bad examples, but: node names should reflect
> device function, not device name, i.e.
> 
> adt7476: thermal at 2e {
> 	...
> };
> 
> >+				compatible = "adi,adt7476";
> >+				reg = <0x2e>;
> >+			};
> >+		};
> >+	};
> >+
> >+	gpio_poweroff {
> >+		compatible = "gpio-poweroff";
> >+		gpios = <&gpio0 14 GPIO_ACTIVE_LOW>;
> >+	};
> >+
> >+	gpio_keys {
> >+		compatible = "gpio-keys";
> 
> Add a blank line between nodes.
> 
> >+		button at 1{
> >+			label = "Reset push button";
> 
> Reduce label to "Reset" and "Power" below.
> 
> >+			linux,code = <KEY_POWER>;
> >+			gpios = <&gpio0 29 GPIO_ACTIVE_HIGH>;
> >+		};
> >+		button at 2{
> >+			label = "Power push button";
> >+			linux,code = <KEY_SLEEP>;
> >+			gpios = <&gpio0 26 GPIO_ACTIVE_LOW>;
> >+		};
> >+	};
> >+
> >+	gpio-leds {
> >+		compatible = "gpio-leds";
> 
> Add a blank line between nodes.
> 
> >+		blue-power {
> >+			label = "nas220:blue:power";
> >+			gpios = <&gpio0 12 GPIO_ACTIVE_HIGH>;
> >+			linux,default-trigger = "default-on";
> >+		};
> >+	};
> >+
> >+	regulators {
> >+		compatible = "simple-bus";
> >+		#address-cells = <1>;
> >+		#size-cells = <0>;
> >+		pinctrl-0 = <&pmx_power_sata0 &pmx_power_sata1>;
> >+		pinctrl-names = "default";
> >+
> >+		sata0_power: regulator at 1 {
> >+			compatible = "regulator-fixed";
> >+			reg = <1>;
> >+			regulator-name = "SATA0 Power";
> >+			regulator-min-microvolt = <5000000>;
> >+			regulator-max-microvolt = <5000000>;
> >+			enable-active-high;
> >+			regulator-always-on;
> >+			regulator-boot-on;
> >+			gpio = <&gpio0 24 0>;
> 
> Hmm, do you need "regulator-always-on" when it is GPIO controlled?
> Also, gpio property could use GPIO_ACTIVE_HIGH/LOW here too.
> 
> >+		};
> >+
> >+		sata1_power: regulator at 2 {
> >+			compatible = "regulator-fixed";
> >+			reg = <2>;
> >+			regulator-name = "SATA1 Power";
> >+			regulator-min-microvolt = <5000000>;
> >+			regulator-max-microvolt = <5000000>;
> >+			enable-active-high;
> >+			regulator-always-on;
> >+			regulator-boot-on;
> >+			gpio = <&gpio0 28 0>;
> 
> ditto.
> 
> >+		};
> >+	};
> >+};
> >+
> >+&nand {
> >+	status = "okay";
> >+};
> >+
> >+&mdio {
> >+	status = "okay";
> >+	ethphy0: ethernet-phy at 8 {
> >+		 reg = <8>;
> >+	 };
> 
> Remove extra space before brace.
> 
> >+};
> >+
> >+&eth0 {
> >+	status = "okay";
> >+	ethernet0-port at 0 {
> >+		phy-handle = <&ethphy0>;
> >+	};
> >+};
> >
> 
> Overall, this look fine to me, with the nits taken care of
> 
> Acked-by: Sebastian Hesselbarth <sebastian.hesselbarth@gmail.com>
> 
> Thanks!
> 

Thanks,

evgeni

WARNING: multiple messages have this Message-ID (diff)
From: Evgeni Dobrev <evgeni-c3HRhe8yoGxdzLpqerNdyw@public.gmane.org>
To: Sebastian Hesselbarth
	<sebastian.hesselbarth-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
Cc: devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org,
	Jason Cooper <jason-NLaQJdtUoK4Be96aLqz0jA@public.gmane.org>,
	Sebastian Hesselbarth
	<sebastian.hesselbarth-gM/Ye1E23mwN+BqQ9rBEUg@public.gmane.org>,
	Gregory Clement
	<gregory.clement-wi1+55ScJUtKEb57/3fJTNBPR1lH4CV8@public.gmane.org>,
	Andrew Lunn <andrew-g2DYL2Zd6BY@public.gmane.org>
Subject: Re: [PATCH v3 1/1] add support for Seagate BlackArmor NAS220
Date: Fri, 26 Dec 2014 12:06:49 +0100	[thread overview]
Message-ID: <20141226110649.GC4700@anne> (raw)
In-Reply-To: <549C0C3C.8060601-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>

Hello Sebastian,

On Thu, Dec 25, 2014 at 02:08:12PM +0100, Sebastian Hesselbarth wrote:
> On 22.12.2014 13:57, Evgeni Dobrev wrote:
> >This patch adds support for Seagate BlackArmor NAS220.
> >
> >The Seagate BlackArmor NAS 220 is a NAS system based on Marvell 88f6192. It has
> >32MB NAND and 128MB DRAM. It has two SATA slots, one Gigabit Ethernet port, two
> >USB 2.0 ports, two buttons and three LEDs. There is a serial port available on
> >the CN5 connector on the board (1 - TX, 4 - RX, 6 - GND).
> >
> >The only functionality still not implemented is the bi-color led on the front
> >panel (status). Pins mpp22 and mpp23 control this led. Setting mpp22 to high and
> >mpp23 to low results in orange color. Setting mpp22 to low and mpp23 to high
> >results in blue color.
> >
> >The third led is wired to show the SATA activity on the two drives.
> >
> >Signed-off-by: Evgeni Dobrev <evgeni-c3HRhe8yoGxdzLpqerNdyw@public.gmane.org>
> 
> Evgeni,
> 
> sorry for the late review, but I do have some nits that should
> remove some inconsistencies. If we don't do it now, we'd never
> change that later.
> 

thank you for your review. I will make the changes you suggest and resubmit.

> >---
> >  arch/arm/boot/dts/Makefile            |    1 +
> >  arch/arm/boot/dts/kirkwood-nas220.dts |  166 +++++++++++++++++++++++++++++++++
> >  2 files changed, 167 insertions(+)
> >  create mode 100644 arch/arm/boot/dts/kirkwood-nas220.dts
> >
> >diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
> >index 38c89ca..8b9ad1d 100644
> >--- a/arch/arm/boot/dts/Makefile
> >+++ b/arch/arm/boot/dts/Makefile
> >@@ -132,6 +132,7 @@ dtb-$(CONFIG_MACH_KIRKWOOD) += kirkwood-b3.dtb \
> >  	kirkwood-lsxhl.dtb \
> >  	kirkwood-mplcec4.dtb \
> >  	kirkwood-mv88f6281gtw-ge.dtb \
> >+	kirkwood-nas220.dtb \
> 
> I am not too happy with choosing "nas220" as the base name for the
> board. Can we make it a little bit more specific like
> "seagate-nas220" or "blackarmor-nas220" ?
> 
> >  	kirkwood-net2big.dtb \
> >  	kirkwood-net5big.dtb \
> >  	kirkwood-netgear_readynas_duo_v2.dtb \
> >diff --git a/arch/arm/boot/dts/kirkwood-nas220.dts b/arch/arm/boot/dts/kirkwood-nas220.dts
> >new file mode 100644
> >index 0000000..8175f3d
> >--- /dev/null
> >+++ b/arch/arm/boot/dts/kirkwood-nas220.dts
> >@@ -0,0 +1,166 @@
> >+/*
> >+ * Device Tree file for Seagate BlackArmor NAS220
> >+ *
> >+ * Copyright (C) 2014 Evgeni Dobrev <evgeni-c3HRhe8yoGxdzLpqerNdyw@public.gmane.org>
> >+ *
> >+ * Licensed under GPLv2 or later.
> >+ */
> >+
> >+/dts-v1/;
> >+
> >+#include <dt-bindings/gpio/gpio.h>
> >+#include <dt-bindings/input/input.h>
> >+#include "kirkwood.dtsi"
> >+#include "kirkwood-6192.dtsi"
> >+
> >+/ {
> >+	model = "Seagate NAS 220";
> 
> model = "Seagate BlackArmor NAS220";
> 
> i.e. choose the same spelling in comment above and model name here.
> 
> >+	compatible = "seagate,nas220","marvell,kirkwood-88f6192","marvell,kirkwood";
> 
> compatible should reflect the chosen base name above.
> 
> >+
> >+	memory { /* 128 MB */
> >+		device_type = "memory";
> >+		reg = <0x00000000 0x8000000>;
> >+	};
> >+
> >+	chosen {
> >+		bootargs = "console=ttyS0,115200n8";
> >+		stdout-path = &uart0;
> >+	};
> >+
> >+	ocp@f1000000 {
> >+		pinctrl: pin-controller@10000 {
> 
> v3.19 should already have a label for the common pinctrl node.
> Please do not replay the bus structure but use a node reference
> like &nand and friends below.
> 
> >+			pinctrl-0 = <&pmx_uart0
> >+				     &pmx_button_reset
> >+				     &pmx_button_power>;
> >+			pinctrl-names = "default";
> >+
> >+			pmx_act_sata0: pmx-act-sata0 {
> >+				marvell,pins = "mpp15";
> >+				marvell,function = "sata0";
> >+			};
> 
> Insert a blank line between each of the pmx_foo nodes?
> 
> >+			pmx_act_sata1: pmx-act-sata1 {
> >+				marvell,pins = "mpp16";
> >+				marvell,function = "sata1";
> >+			};
> >+			pmx_power_sata0: pmx-power-sata0 {
> >+				marvell,pins = "mpp24";
> >+				marvell,function = "gpio";
> >+			};
> >+			pmx_power_sata1: pmx-power-sata1 {
> >+				marvell,pins = "mpp28";
> >+				marvell,function = "gpio";
> >+			};
> >+			pmx_button_reset: pmx-button-reset {
> >+				marvell,pins = "mpp29";
> >+				marvell,function = "gpio";
> >+			};
> >+			pmx_button_power: pmx-button-power {
> >+				marvell,pins = "mpp26";
> >+				marvell,function = "gpio";
> >+			};
> >+		};
> >+
> >+
> 
> Remove extra blank line.
> 
> >+		/*
> >+		 * Serial port routed to connector CN5
> >+		 *
> >+		 * pin 1 - TX
> >+		 * pin 4 - RX
> >+		 * pin 6 - GND
> >+		 */
> 
> Nice! Can you also clarify if TX/RX are as seen from the SoC or
> remote end?
> 
> >+		serial@12000 {
> 
> Please use node references where possible, IIRC v3.19 should have
> labels for serial, sata, and i2c. Avoid to replay the bus structure.
> 
> >+			status = "okay";
> >+		};
> >+
> >+		sata@80000 {
> >+			status = "okay";
> >+			nr-ports = <2>;
> 
> I need some update from the other mvebu guys here: Do we have SATA
> PHY nodes in v3.19 for Kirkwood already? If so, please update to the
> new binding.
> 
> >+		};
> >+
> >+		i2c@11000 {
> >+			status = "okay";
> >+			adt7476: adt7476a@2e {
> 
> I know we have a lot of bad examples, but: node names should reflect
> device function, not device name, i.e.
> 
> adt7476: thermal@2e {
> 	...
> };
> 
> >+				compatible = "adi,adt7476";
> >+				reg = <0x2e>;
> >+			};
> >+		};
> >+	};
> >+
> >+	gpio_poweroff {
> >+		compatible = "gpio-poweroff";
> >+		gpios = <&gpio0 14 GPIO_ACTIVE_LOW>;
> >+	};
> >+
> >+	gpio_keys {
> >+		compatible = "gpio-keys";
> 
> Add a blank line between nodes.
> 
> >+		button@1{
> >+			label = "Reset push button";
> 
> Reduce label to "Reset" and "Power" below.
> 
> >+			linux,code = <KEY_POWER>;
> >+			gpios = <&gpio0 29 GPIO_ACTIVE_HIGH>;
> >+		};
> >+		button@2{
> >+			label = "Power push button";
> >+			linux,code = <KEY_SLEEP>;
> >+			gpios = <&gpio0 26 GPIO_ACTIVE_LOW>;
> >+		};
> >+	};
> >+
> >+	gpio-leds {
> >+		compatible = "gpio-leds";
> 
> Add a blank line between nodes.
> 
> >+		blue-power {
> >+			label = "nas220:blue:power";
> >+			gpios = <&gpio0 12 GPIO_ACTIVE_HIGH>;
> >+			linux,default-trigger = "default-on";
> >+		};
> >+	};
> >+
> >+	regulators {
> >+		compatible = "simple-bus";
> >+		#address-cells = <1>;
> >+		#size-cells = <0>;
> >+		pinctrl-0 = <&pmx_power_sata0 &pmx_power_sata1>;
> >+		pinctrl-names = "default";
> >+
> >+		sata0_power: regulator@1 {
> >+			compatible = "regulator-fixed";
> >+			reg = <1>;
> >+			regulator-name = "SATA0 Power";
> >+			regulator-min-microvolt = <5000000>;
> >+			regulator-max-microvolt = <5000000>;
> >+			enable-active-high;
> >+			regulator-always-on;
> >+			regulator-boot-on;
> >+			gpio = <&gpio0 24 0>;
> 
> Hmm, do you need "regulator-always-on" when it is GPIO controlled?
> Also, gpio property could use GPIO_ACTIVE_HIGH/LOW here too.
> 
> >+		};
> >+
> >+		sata1_power: regulator@2 {
> >+			compatible = "regulator-fixed";
> >+			reg = <2>;
> >+			regulator-name = "SATA1 Power";
> >+			regulator-min-microvolt = <5000000>;
> >+			regulator-max-microvolt = <5000000>;
> >+			enable-active-high;
> >+			regulator-always-on;
> >+			regulator-boot-on;
> >+			gpio = <&gpio0 28 0>;
> 
> ditto.
> 
> >+		};
> >+	};
> >+};
> >+
> >+&nand {
> >+	status = "okay";
> >+};
> >+
> >+&mdio {
> >+	status = "okay";
> >+	ethphy0: ethernet-phy@8 {
> >+		 reg = <8>;
> >+	 };
> 
> Remove extra space before brace.
> 
> >+};
> >+
> >+&eth0 {
> >+	status = "okay";
> >+	ethernet0-port@0 {
> >+		phy-handle = <&ethphy0>;
> >+	};
> >+};
> >
> 
> Overall, this look fine to me, with the nits taken care of
> 
> Acked-by: Sebastian Hesselbarth <sebastian.hesselbarth-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
> 
> Thanks!
> 

Thanks,

evgeni
--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

WARNING: multiple messages have this Message-ID (diff)
From: Evgeni Dobrev <evgeni@studio-punkt.com>
To: Sebastian Hesselbarth <sebastian.hesselbarth@gmail.com>
Cc: devicetree@vger.kernel.org, linux-kernel@vger.kernel.org,
	linux-arm-kernel@lists.infradead.org,
	Jason Cooper <jason@lakedaemon.net>,
	Sebastian Hesselbarth <sebastian.hesselbarth@googlemail.com>,
	Gregory Clement <gregory.clement@free-electrons.com>,
	Andrew Lunn <andrew@lunn.ch>
Subject: Re: [PATCH v3 1/1] add support for Seagate BlackArmor NAS220
Date: Fri, 26 Dec 2014 12:06:49 +0100	[thread overview]
Message-ID: <20141226110649.GC4700@anne> (raw)
In-Reply-To: <549C0C3C.8060601@gmail.com>

Hello Sebastian,

On Thu, Dec 25, 2014 at 02:08:12PM +0100, Sebastian Hesselbarth wrote:
> On 22.12.2014 13:57, Evgeni Dobrev wrote:
> >This patch adds support for Seagate BlackArmor NAS220.
> >
> >The Seagate BlackArmor NAS 220 is a NAS system based on Marvell 88f6192. It has
> >32MB NAND and 128MB DRAM. It has two SATA slots, one Gigabit Ethernet port, two
> >USB 2.0 ports, two buttons and three LEDs. There is a serial port available on
> >the CN5 connector on the board (1 - TX, 4 - RX, 6 - GND).
> >
> >The only functionality still not implemented is the bi-color led on the front
> >panel (status). Pins mpp22 and mpp23 control this led. Setting mpp22 to high and
> >mpp23 to low results in orange color. Setting mpp22 to low and mpp23 to high
> >results in blue color.
> >
> >The third led is wired to show the SATA activity on the two drives.
> >
> >Signed-off-by: Evgeni Dobrev <evgeni@studio-punkt.com>
> 
> Evgeni,
> 
> sorry for the late review, but I do have some nits that should
> remove some inconsistencies. If we don't do it now, we'd never
> change that later.
> 

thank you for your review. I will make the changes you suggest and resubmit.

> >---
> >  arch/arm/boot/dts/Makefile            |    1 +
> >  arch/arm/boot/dts/kirkwood-nas220.dts |  166 +++++++++++++++++++++++++++++++++
> >  2 files changed, 167 insertions(+)
> >  create mode 100644 arch/arm/boot/dts/kirkwood-nas220.dts
> >
> >diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
> >index 38c89ca..8b9ad1d 100644
> >--- a/arch/arm/boot/dts/Makefile
> >+++ b/arch/arm/boot/dts/Makefile
> >@@ -132,6 +132,7 @@ dtb-$(CONFIG_MACH_KIRKWOOD) += kirkwood-b3.dtb \
> >  	kirkwood-lsxhl.dtb \
> >  	kirkwood-mplcec4.dtb \
> >  	kirkwood-mv88f6281gtw-ge.dtb \
> >+	kirkwood-nas220.dtb \
> 
> I am not too happy with choosing "nas220" as the base name for the
> board. Can we make it a little bit more specific like
> "seagate-nas220" or "blackarmor-nas220" ?
> 
> >  	kirkwood-net2big.dtb \
> >  	kirkwood-net5big.dtb \
> >  	kirkwood-netgear_readynas_duo_v2.dtb \
> >diff --git a/arch/arm/boot/dts/kirkwood-nas220.dts b/arch/arm/boot/dts/kirkwood-nas220.dts
> >new file mode 100644
> >index 0000000..8175f3d
> >--- /dev/null
> >+++ b/arch/arm/boot/dts/kirkwood-nas220.dts
> >@@ -0,0 +1,166 @@
> >+/*
> >+ * Device Tree file for Seagate BlackArmor NAS220
> >+ *
> >+ * Copyright (C) 2014 Evgeni Dobrev <evgeni@studio-punkt.com>
> >+ *
> >+ * Licensed under GPLv2 or later.
> >+ */
> >+
> >+/dts-v1/;
> >+
> >+#include <dt-bindings/gpio/gpio.h>
> >+#include <dt-bindings/input/input.h>
> >+#include "kirkwood.dtsi"
> >+#include "kirkwood-6192.dtsi"
> >+
> >+/ {
> >+	model = "Seagate NAS 220";
> 
> model = "Seagate BlackArmor NAS220";
> 
> i.e. choose the same spelling in comment above and model name here.
> 
> >+	compatible = "seagate,nas220","marvell,kirkwood-88f6192","marvell,kirkwood";
> 
> compatible should reflect the chosen base name above.
> 
> >+
> >+	memory { /* 128 MB */
> >+		device_type = "memory";
> >+		reg = <0x00000000 0x8000000>;
> >+	};
> >+
> >+	chosen {
> >+		bootargs = "console=ttyS0,115200n8";
> >+		stdout-path = &uart0;
> >+	};
> >+
> >+	ocp@f1000000 {
> >+		pinctrl: pin-controller@10000 {
> 
> v3.19 should already have a label for the common pinctrl node.
> Please do not replay the bus structure but use a node reference
> like &nand and friends below.
> 
> >+			pinctrl-0 = <&pmx_uart0
> >+				     &pmx_button_reset
> >+				     &pmx_button_power>;
> >+			pinctrl-names = "default";
> >+
> >+			pmx_act_sata0: pmx-act-sata0 {
> >+				marvell,pins = "mpp15";
> >+				marvell,function = "sata0";
> >+			};
> 
> Insert a blank line between each of the pmx_foo nodes?
> 
> >+			pmx_act_sata1: pmx-act-sata1 {
> >+				marvell,pins = "mpp16";
> >+				marvell,function = "sata1";
> >+			};
> >+			pmx_power_sata0: pmx-power-sata0 {
> >+				marvell,pins = "mpp24";
> >+				marvell,function = "gpio";
> >+			};
> >+			pmx_power_sata1: pmx-power-sata1 {
> >+				marvell,pins = "mpp28";
> >+				marvell,function = "gpio";
> >+			};
> >+			pmx_button_reset: pmx-button-reset {
> >+				marvell,pins = "mpp29";
> >+				marvell,function = "gpio";
> >+			};
> >+			pmx_button_power: pmx-button-power {
> >+				marvell,pins = "mpp26";
> >+				marvell,function = "gpio";
> >+			};
> >+		};
> >+
> >+
> 
> Remove extra blank line.
> 
> >+		/*
> >+		 * Serial port routed to connector CN5
> >+		 *
> >+		 * pin 1 - TX
> >+		 * pin 4 - RX
> >+		 * pin 6 - GND
> >+		 */
> 
> Nice! Can you also clarify if TX/RX are as seen from the SoC or
> remote end?
> 
> >+		serial@12000 {
> 
> Please use node references where possible, IIRC v3.19 should have
> labels for serial, sata, and i2c. Avoid to replay the bus structure.
> 
> >+			status = "okay";
> >+		};
> >+
> >+		sata@80000 {
> >+			status = "okay";
> >+			nr-ports = <2>;
> 
> I need some update from the other mvebu guys here: Do we have SATA
> PHY nodes in v3.19 for Kirkwood already? If so, please update to the
> new binding.
> 
> >+		};
> >+
> >+		i2c@11000 {
> >+			status = "okay";
> >+			adt7476: adt7476a@2e {
> 
> I know we have a lot of bad examples, but: node names should reflect
> device function, not device name, i.e.
> 
> adt7476: thermal@2e {
> 	...
> };
> 
> >+				compatible = "adi,adt7476";
> >+				reg = <0x2e>;
> >+			};
> >+		};
> >+	};
> >+
> >+	gpio_poweroff {
> >+		compatible = "gpio-poweroff";
> >+		gpios = <&gpio0 14 GPIO_ACTIVE_LOW>;
> >+	};
> >+
> >+	gpio_keys {
> >+		compatible = "gpio-keys";
> 
> Add a blank line between nodes.
> 
> >+		button@1{
> >+			label = "Reset push button";
> 
> Reduce label to "Reset" and "Power" below.
> 
> >+			linux,code = <KEY_POWER>;
> >+			gpios = <&gpio0 29 GPIO_ACTIVE_HIGH>;
> >+		};
> >+		button@2{
> >+			label = "Power push button";
> >+			linux,code = <KEY_SLEEP>;
> >+			gpios = <&gpio0 26 GPIO_ACTIVE_LOW>;
> >+		};
> >+	};
> >+
> >+	gpio-leds {
> >+		compatible = "gpio-leds";
> 
> Add a blank line between nodes.
> 
> >+		blue-power {
> >+			label = "nas220:blue:power";
> >+			gpios = <&gpio0 12 GPIO_ACTIVE_HIGH>;
> >+			linux,default-trigger = "default-on";
> >+		};
> >+	};
> >+
> >+	regulators {
> >+		compatible = "simple-bus";
> >+		#address-cells = <1>;
> >+		#size-cells = <0>;
> >+		pinctrl-0 = <&pmx_power_sata0 &pmx_power_sata1>;
> >+		pinctrl-names = "default";
> >+
> >+		sata0_power: regulator@1 {
> >+			compatible = "regulator-fixed";
> >+			reg = <1>;
> >+			regulator-name = "SATA0 Power";
> >+			regulator-min-microvolt = <5000000>;
> >+			regulator-max-microvolt = <5000000>;
> >+			enable-active-high;
> >+			regulator-always-on;
> >+			regulator-boot-on;
> >+			gpio = <&gpio0 24 0>;
> 
> Hmm, do you need "regulator-always-on" when it is GPIO controlled?
> Also, gpio property could use GPIO_ACTIVE_HIGH/LOW here too.
> 
> >+		};
> >+
> >+		sata1_power: regulator@2 {
> >+			compatible = "regulator-fixed";
> >+			reg = <2>;
> >+			regulator-name = "SATA1 Power";
> >+			regulator-min-microvolt = <5000000>;
> >+			regulator-max-microvolt = <5000000>;
> >+			enable-active-high;
> >+			regulator-always-on;
> >+			regulator-boot-on;
> >+			gpio = <&gpio0 28 0>;
> 
> ditto.
> 
> >+		};
> >+	};
> >+};
> >+
> >+&nand {
> >+	status = "okay";
> >+};
> >+
> >+&mdio {
> >+	status = "okay";
> >+	ethphy0: ethernet-phy@8 {
> >+		 reg = <8>;
> >+	 };
> 
> Remove extra space before brace.
> 
> >+};
> >+
> >+&eth0 {
> >+	status = "okay";
> >+	ethernet0-port@0 {
> >+		phy-handle = <&ethphy0>;
> >+	};
> >+};
> >
> 
> Overall, this look fine to me, with the nits taken care of
> 
> Acked-by: Sebastian Hesselbarth <sebastian.hesselbarth@gmail.com>
> 
> Thanks!
> 

Thanks,

evgeni

  parent reply	other threads:[~2014-12-26 11:06 UTC|newest]

Thread overview: 47+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-12-15 20:38 [PATCH 2/2] ARM: dts: kirkwood: add dts support for Seagate BlackArmor NAS220 Evgeni Dobrev
2014-12-15 20:38 ` Evgeni Dobrev
2014-12-16  8:56 ` Andrew Lunn
2014-12-16  8:56   ` Andrew Lunn
2014-12-16  8:56   ` Andrew Lunn
2014-12-16 16:37   ` Evgeni Dobrev
2014-12-16 16:37     ` Evgeni Dobrev
2014-12-16 19:20     ` Andrew Lunn
2014-12-16 19:20       ` Andrew Lunn
2014-12-16 19:20       ` Andrew Lunn
2014-12-22  8:04 ` [PATCH v2 0/1] add " Evgeni Dobrev
2014-12-22  8:04   ` Evgeni Dobrev
2014-12-22  8:04   ` Evgeni Dobrev
2014-12-22  8:04 ` [PATCH v2 1/1] " Evgeni Dobrev
2014-12-22  8:04   ` Evgeni Dobrev
2014-12-22 10:02   ` Andrew Lunn
2014-12-22 10:02     ` Andrew Lunn
2014-12-22 10:02     ` Andrew Lunn
2014-12-22 12:57 ` [PATCH v3 0/1] " Evgeni Dobrev
2014-12-22 12:57   ` Evgeni Dobrev
2014-12-22 12:57   ` Evgeni Dobrev
2014-12-22 12:57 ` [PATCH v3 1/1] " Evgeni Dobrev
2014-12-22 12:57   ` Evgeni Dobrev
2014-12-23 11:31   ` Andrew Lunn
2014-12-23 11:31     ` Andrew Lunn
2014-12-25 13:08   ` Sebastian Hesselbarth
2014-12-25 13:08     ` Sebastian Hesselbarth
2014-12-25 13:08     ` Sebastian Hesselbarth
2014-12-25 13:31     ` Andrew Lunn
2014-12-25 13:31       ` Andrew Lunn
2014-12-25 13:43       ` Sebastian Hesselbarth
2014-12-25 13:43         ` Sebastian Hesselbarth
2014-12-25 14:12         ` Andrew Lunn
2014-12-25 14:12           ` Andrew Lunn
2014-12-25 15:19           ` Sebastian Hesselbarth
2014-12-25 15:19             ` Sebastian Hesselbarth
2014-12-26 11:06     ` Evgeni Dobrev [this message]
2014-12-26 11:06       ` Evgeni Dobrev
2014-12-26 11:06       ` Evgeni Dobrev
2014-12-28 10:46 ` [PATCH v4 0/1] " Evgeni Dobrev
2014-12-28 10:46   ` Evgeni Dobrev
2014-12-28 10:46   ` Evgeni Dobrev
2014-12-28 10:46 ` [PATCH v4 1/1] " Evgeni Dobrev
2014-12-28 10:46   ` Evgeni Dobrev
2014-12-28 10:46   ` Evgeni Dobrev
2015-01-05 18:05   ` Andrew Lunn
2015-01-05 18:05     ` Andrew Lunn

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20141226110649.GC4700@anne \
    --to=evgeni@studio-punkt.com \
    --cc=linux-arm-kernel@lists.infradead.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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.