diff mbox

[v2,2/5] ARM: Kirkwood: Add DT descriptions for net2big and net5big.

Message ID 1399142114-24257-3-git-send-email-andrew@lunn.ch (mailing list archive)
State New, archived
Headers show

Commit Message

Andrew Lunn May 3, 2014, 6:35 p.m. UTC
Describe LaCie 2Big and 5Big Network v2 using device tree.

Signed-off-by: Andrew Lunn <andrew@lunn.ch>
---
v1->v2
Fix size of memory
Clean up ethernet nodes
s/at/atmel/
---
 arch/arm/boot/dts/Makefile              |   2 +
 arch/arm/boot/dts/kirkwood-net2big.dts  |  30 ++++++
 arch/arm/boot/dts/kirkwood-net5big.dts  |  83 ++++++++++++++++
 arch/arm/boot/dts/kirkwood-netxbig.dtsi | 171 ++++++++++++++++++++++++++++++++
 4 files changed, 286 insertions(+)
 create mode 100644 arch/arm/boot/dts/kirkwood-net2big.dts
 create mode 100644 arch/arm/boot/dts/kirkwood-net5big.dts
 create mode 100644 arch/arm/boot/dts/kirkwood-netxbig.dtsi

Comments

Sebastian Hesselbarth May 4, 2014, 9:21 p.m. UTC | #1
On 05/03/2014 08:35 PM, Andrew Lunn wrote:
> Describe LaCie 2Big and 5Big Network v2 using device tree.
> 
> Signed-off-by: Andrew Lunn <andrew@lunn.ch>
> ---
> v1->v2
> Fix size of memory
> Clean up ethernet nodes
> s/at/atmel/
> ---
[...]
> diff --git a/arch/arm/boot/dts/kirkwood-netxbig.dtsi b/arch/arm/boot/dts/kirkwood-netxbig.dtsi
> new file mode 100644
> index 000000000000..604d7f4949af
> --- /dev/null
> +++ b/arch/arm/boot/dts/kirkwood-netxbig.dtsi
> @@ -0,0 +1,171 @@
> +/*
> + * Device Tree common file for LaCie 2Big and 5Big Network v2
> + *
> + * Copyright (C) 2014
> + *
> + * Andrew Lunn <andrew@lunn.ch>
> + *
> + * Based on netxbig_v2-setup.c,
> + * Copyright (C) 2010 Simon Guinot <sguinot@lacie.com>
> + *
> + * This file is licensed under the terms of the GNU General Public
> + * License version 2.  This program is licensed "as is" without any
> + * warranty of any kind, whether express or implied.
> +*/
> +
> +#include "kirkwood.dtsi"
> +#include "kirkwood-6281.dtsi"
> +
> +/ {
> +	chosen {
> +		bootargs = "console=ttyS0,115200n8";

nit: add stdout-path = &uart0;

> +	};
> +
> +	ocp@f1000000 {
> +		serial@12000 {
> +			status = "ok";

nit: s/ok/okay/

> +		};
> +
> +		spi@10600 {
> +			pinctrl-0 = <&pmx_spi>;
> +			pinctrl-names = "default";
> +			status = "okay";
> +
> +			flash@0 {
> +				#address-cells = <1>;
> +				#size-cells = <1>;
> +				compatible = "mxicy,mx25l4005a";
> +				reg = <0>;
> +				spi-max-frequency = <20000000>;
> +				mode = <0>;
> +
> +				partition@0 {
> +					reg = <0x0 0x80000>;
> +					label = "u-boot";
> +				};
> +			};
> +		};
> +
> +		sata@80000 {
> +			status = "okay";
> +			nr-ports = <2>;
> +		};
> +
> +	};
> +
> +	gpio_keys {

nit: s/gpio_keys/gpio-keys/

> +		compatible = "gpio-keys";
> +		#address-cells = <1>;
> +		#size-cells = <0>;
> +
> +		/*
> +		 * button@1 and button@2 represent a three position rocker
> +		 * switch. Thus the conventional KEY_POWER does not fit
> +		 */
> +		button@1 {
> +			label = "Back power switch (on|auto)";
> +			linux,code = <KEY_ESC>;
> +			linux,input-type = <5>;
> +			gpios = <&gpio0 13 GPIO_ACTIVE_LOW>;
> +		};
> +		button@2 {
> +			label = "Back power switch (auto|off)";
> +			linux,code = <KEY_1>;
> +			linux,input-type = <5>;
> +			gpios = <&gpio0 15 GPIO_ACTIVE_LOW>;
> +		};
> +		button@3 {
> +			label = "Function button";
> +			linux,code = <KEY_OPTION>;
> +			gpios = <&gpio1 2 GPIO_ACTIVE_LOW>;
> +		};
> +
> +	};
> +
> +	gpio_poweroff {

nit: s/gpio_poweroff/gpio-poweroff/

If there is nothing more severe with this, I am sure Jason can
just squash in the nits.

Acked-by: Sebastian Hesselbarth <sebastian.hesselbarth@gmail.com>

> +		compatible = "gpio-poweroff";
> +		gpios = <&gpio0 7 GPIO_ACTIVE_HIGH>;
> +	};
> +
> +       	regulators: regulators {
> +                status = "okay";
> +                compatible = "simple-bus";
> +                #address-cells = <1>;
> +                #size-cells = <0>;
> +                pinctrl-names = "default";
> +
> +                regulator@1 {
> +                        compatible = "regulator-fixed";
> +                        reg = <1>;
> +                        regulator-name = "hdd0power";
> +                        regulator-min-microvolt = <5000000>;
> +                        regulator-max-microvolt = <5000000>;
> +                        enable-active-high;
> +                        regulator-always-on;
> +                        regulator-boot-on;
> +                        gpio = <&gpio0 16 GPIO_ACTIVE_HIGH>;
> +                };
> +
> +                regulator@2 {
> +                        compatible = "regulator-fixed";
> +                        reg = <2>;
> +                        regulator-name = "hdd1power";
> +                        regulator-min-microvolt = <5000000>;
> +                        regulator-max-microvolt = <5000000>;
> +                        enable-active-high;
> +                        regulator-always-on;
> +                        regulator-boot-on;
> +                        gpio = <&gpio0 17 GPIO_ACTIVE_HIGH>;
> +                };
> +
> +        };
> +};
> +
> +&mdio {
> +	status = "okay";
> +
> +	ethphy0: ethernet-phy@0 {
> +		reg = <8>;
> +	};
> +
> +	ethphy1: ethernet-phy@1 {
> +		reg = <0>;
> +	};
> +};
> +
> +&eth0 {
> +	status = "okay";
> +	ethernet0-port@0 {
> +		phy-handle = <&ethphy0>;
> +	};
> +};
> +
> +&pinctrl {
> +	pinctrl-names = "default";
> +
> +	pmx_button_function: pmx-button-function {
> +		marvell,pins = "mpp34";
> +		marvell,function = "gpio";
> +	};
> +	pmx_button_power_off: pmx-button-power-off {
> +		marvell,pins = "mpp15";
> +		marvell,function = "gpio";
> +	};
> +	pmx_button_power_on: pmx-button-power-on {
> +		marvell,pins = "mpp13";
> +		marvell,function = "gpio";
> +	};
> +};
> +
> +&i2c0 {
> +	pinctrl-0 = <&pmx_twsi0>;
> +	pinctrl-names = "default";
> +	status = "okay";
> +
> +	eeprom@50 {
> +		compatible = "atmel,24c04";
> +		pagesize = <16>;
> +		reg = <0x50>;
> +	};
> +};
> +
>
Andrew Lunn May 4, 2014, 10:56 p.m. UTC | #2
> > +	chosen {
> > +		bootargs = "console=ttyS0,115200n8";
> 
> nit: add stdout-path = &uart0;

O.K. I had v1 of this patch before your cleanup, and forgot about
this.
 
> > +	};
> > +
> > +	ocp@f1000000 {
> > +		serial@12000 {
> > +			status = "ok";
> 
> nit: s/ok/okay/

I copied a bad example .dts files :-(
 
> > +		};
> > +
> > +		spi@10600 {
> > +			pinctrl-0 = <&pmx_spi>;
> > +			pinctrl-names = "default";
> > +			status = "okay";
> > +
> > +			flash@0 {
> > +				#address-cells = <1>;
> > +				#size-cells = <1>;
> > +				compatible = "mxicy,mx25l4005a";
> > +				reg = <0>;
> > +				spi-max-frequency = <20000000>;
> > +				mode = <0>;
> > +
> > +				partition@0 {
> > +					reg = <0x0 0x80000>;
> > +					label = "u-boot";
> > +				};
> > +			};
> > +		};
> > +
> > +		sata@80000 {
> > +			status = "okay";
> > +			nr-ports = <2>;
> > +		};
> > +
> > +	};
> > +
> > +	gpio_keys {
> 
> nit: s/gpio_keys/gpio-keys/
> 

I think this one is debatable. The documentation is called
gpio_keys.txt, and the example uses gpio_keys. I don't mind chaging it
in this file, but maybe you can submit a patch changing the example in
the documentation?

> > +	gpio_poweroff {
> 
> nit: s/gpio_poweroff/gpio-poweroff/

ACK.
 
> If there is nothing more severe with this, I am sure Jason can
> just squash in the nits.

This still needs to be tested on hardware, so there is a good chance
of a respin.

   Andrew
Sebastian Hesselbarth May 4, 2014, 11:12 p.m. UTC | #3
On 05/05/2014 12:56 AM, Andrew Lunn wrote:
>>> +	gpio_keys {
>>
>> nit: s/gpio_keys/gpio-keys/
>>
> 
> I think this one is debatable. The documentation is called
> gpio_keys.txt, and the example uses gpio_keys. I don't mind chaging it
> in this file, but maybe you can submit a patch changing the example in
> the documentation?

Yes, it definitely is. Both label and node name are allowed to
contain _ and -. Maybe, we should see it is more like a common practice.
Anyway, all comments are nits for a reason :)

I can prepare a patch someday, if I don't forget about it.

Sebastian

>>> +	gpio_poweroff {
>>
>> nit: s/gpio_poweroff/gpio-poweroff/
> 
> ACK.
>  
>> If there is nothing more severe with this, I am sure Jason can
>> just squash in the nits.
> 
> This still needs to be tested on hardware, so there is a good chance
> of a respin.
diff mbox

Patch

diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
index 35c146f31e46..79dd68d27621 100644
--- a/arch/arm/boot/dts/Makefile
+++ b/arch/arm/boot/dts/Makefile
@@ -118,6 +118,8 @@  kirkwood := \
 	kirkwood-lsxhl.dtb \
 	kirkwood-mplcec4.dtb \
 	kirkwood-mv88f6281gtw-ge.dtb \
+	kirkwood-net2big.dtb \
+	kirkwood-net5big.dtb \
 	kirkwood-netgear_readynas_duo_v2.dtb \
 	kirkwood-netgear_readynas_nv+_v2.dtb \
 	kirkwood-ns2.dtb \
diff --git a/arch/arm/boot/dts/kirkwood-net2big.dts b/arch/arm/boot/dts/kirkwood-net2big.dts
new file mode 100644
index 000000000000..c3f5281a52f5
--- /dev/null
+++ b/arch/arm/boot/dts/kirkwood-net2big.dts
@@ -0,0 +1,30 @@ 
+/*
+ * Device Tree file for LaCie 2Big Network v2
+ *
+ * Copyright (C) 2014
+ *
+ * Andrew Lunn <andrew@lunn.ch>
+ *
+ * Based on netxbig_v2-setup.c,
+ * Copyright (C) 2010 Simon Guinot <sguinot@lacie.com>
+ *
+ * This file is licensed under the terms of the GNU General Public
+ * License version 2.  This program is licensed "as is" without any
+ * warranty of any kind, whether express or implied.
+*/
+
+/dts-v1/;
+
+#include "kirkwood.dtsi"
+#include "kirkwood-6281.dtsi"
+#include "kirkwood-netxbig.dtsi"
+
+/ {
+	model = "LaCie 2Big Network v2";
+	compatible = "lacie,net2big", "lacie,netxbig", "marvell,kirkwood-88f6192", "marvell,kirkwood";
+
+	memory {
+		device_type = "memory";
+		reg = <0x00000000 0x10000000>;
+	};
+};
diff --git a/arch/arm/boot/dts/kirkwood-net5big.dts b/arch/arm/boot/dts/kirkwood-net5big.dts
new file mode 100644
index 000000000000..20abe7e37ca2
--- /dev/null
+++ b/arch/arm/boot/dts/kirkwood-net5big.dts
@@ -0,0 +1,83 @@ 
+/*
+ * Device Tree file for LaCie 5Big Network v2
+ *
+ * Copyright (C) 2014
+ *
+ * Andrew Lunn <andrew@lunn.ch>
+ *
+ * Based on netxbig_v2-setup.c,
+ * Copyright (C) 2010 Simon Guinot <sguinot@lacie.com>
+ *
+ * This file is licensed under the terms of the GNU General Public
+ * License version 2.  This program is licensed "as is" without any
+ * warranty of any kind, whether express or implied.
+*/
+
+/dts-v1/;
+
+#include "kirkwood.dtsi"
+#include "kirkwood-6281.dtsi"
+#include "kirkwood-netxbig.dtsi"
+
+/ {
+	model = "LaCie 5Big Network v2";
+	compatible = "lacie,net2big", "lacie,netxbig", "marvell,kirkwood-88f6192", "marvell,kirkwood";
+
+	memory {
+		device_type = "memory";
+		reg = <0x00000000 0x20000000>;
+	};
+
+};
+
+&regulators {
+	regulator@3 {
+		compatible = "regulator-fixed";
+		reg = <3>;
+		regulator-name = "hdd2power";
+		regulator-min-microvolt = <5000000>;
+		regulator-max-microvolt = <5000000>;
+		enable-active-high;
+		regulator-always-on;
+		regulator-boot-on;
+		gpio = <&gpio0 19 GPIO_ACTIVE_HIGH>;
+	};
+
+	regulator@4 {
+		compatible = "regulator-fixed";
+		reg = <4>;
+		regulator-name = "hdd3power";
+		regulator-min-microvolt = <5000000>;
+		regulator-max-microvolt = <5000000>;
+		enable-active-high;
+		regulator-always-on;
+		regulator-boot-on;
+		gpio = <&gpio0 20 GPIO_ACTIVE_HIGH>;
+	};
+
+	regulator@5 {
+		compatible = "regulator-fixed";
+		reg = <5>;
+		regulator-name = "hdd4power";
+		regulator-min-microvolt = <5000000>;
+		regulator-max-microvolt = <5000000>;
+		enable-active-high;
+		regulator-always-on;
+		regulator-boot-on;
+		gpio = <&gpio0 21 GPIO_ACTIVE_HIGH>;
+	};
+};
+
+&mdio {
+	ethphy1: ethernet-phy@1 {
+		reg = <0>;
+	};
+};
+
+&eth1 {
+	status = "okay";
+	ethernet1-port@0 {
+		phy-handle = <&ethphy1>;
+	};
+};
+
diff --git a/arch/arm/boot/dts/kirkwood-netxbig.dtsi b/arch/arm/boot/dts/kirkwood-netxbig.dtsi
new file mode 100644
index 000000000000..604d7f4949af
--- /dev/null
+++ b/arch/arm/boot/dts/kirkwood-netxbig.dtsi
@@ -0,0 +1,171 @@ 
+/*
+ * Device Tree common file for LaCie 2Big and 5Big Network v2
+ *
+ * Copyright (C) 2014
+ *
+ * Andrew Lunn <andrew@lunn.ch>
+ *
+ * Based on netxbig_v2-setup.c,
+ * Copyright (C) 2010 Simon Guinot <sguinot@lacie.com>
+ *
+ * This file is licensed under the terms of the GNU General Public
+ * License version 2.  This program is licensed "as is" without any
+ * warranty of any kind, whether express or implied.
+*/
+
+#include "kirkwood.dtsi"
+#include "kirkwood-6281.dtsi"
+
+/ {
+	chosen {
+		bootargs = "console=ttyS0,115200n8";
+	};
+
+	ocp@f1000000 {
+		serial@12000 {
+			status = "ok";
+		};
+
+		spi@10600 {
+			pinctrl-0 = <&pmx_spi>;
+			pinctrl-names = "default";
+			status = "okay";
+
+			flash@0 {
+				#address-cells = <1>;
+				#size-cells = <1>;
+				compatible = "mxicy,mx25l4005a";
+				reg = <0>;
+				spi-max-frequency = <20000000>;
+				mode = <0>;
+
+				partition@0 {
+					reg = <0x0 0x80000>;
+					label = "u-boot";
+				};
+			};
+		};
+
+		sata@80000 {
+			status = "okay";
+			nr-ports = <2>;
+		};
+
+	};
+
+	gpio_keys {
+		compatible = "gpio-keys";
+		#address-cells = <1>;
+		#size-cells = <0>;
+
+		/*
+		 * button@1 and button@2 represent a three position rocker
+		 * switch. Thus the conventional KEY_POWER does not fit
+		 */
+		button@1 {
+			label = "Back power switch (on|auto)";
+			linux,code = <KEY_ESC>;
+			linux,input-type = <5>;
+			gpios = <&gpio0 13 GPIO_ACTIVE_LOW>;
+		};
+		button@2 {
+			label = "Back power switch (auto|off)";
+			linux,code = <KEY_1>;
+			linux,input-type = <5>;
+			gpios = <&gpio0 15 GPIO_ACTIVE_LOW>;
+		};
+		button@3 {
+			label = "Function button";
+			linux,code = <KEY_OPTION>;
+			gpios = <&gpio1 2 GPIO_ACTIVE_LOW>;
+		};
+
+	};
+
+	gpio_poweroff {
+		compatible = "gpio-poweroff";
+		gpios = <&gpio0 7 GPIO_ACTIVE_HIGH>;
+	};
+
+       	regulators: regulators {
+                status = "okay";
+                compatible = "simple-bus";
+                #address-cells = <1>;
+                #size-cells = <0>;
+                pinctrl-names = "default";
+
+                regulator@1 {
+                        compatible = "regulator-fixed";
+                        reg = <1>;
+                        regulator-name = "hdd0power";
+                        regulator-min-microvolt = <5000000>;
+                        regulator-max-microvolt = <5000000>;
+                        enable-active-high;
+                        regulator-always-on;
+                        regulator-boot-on;
+                        gpio = <&gpio0 16 GPIO_ACTIVE_HIGH>;
+                };
+
+                regulator@2 {
+                        compatible = "regulator-fixed";
+                        reg = <2>;
+                        regulator-name = "hdd1power";
+                        regulator-min-microvolt = <5000000>;
+                        regulator-max-microvolt = <5000000>;
+                        enable-active-high;
+                        regulator-always-on;
+                        regulator-boot-on;
+                        gpio = <&gpio0 17 GPIO_ACTIVE_HIGH>;
+                };
+
+        };
+};
+
+&mdio {
+	status = "okay";
+
+	ethphy0: ethernet-phy@0 {
+		reg = <8>;
+	};
+
+	ethphy1: ethernet-phy@1 {
+		reg = <0>;
+	};
+};
+
+&eth0 {
+	status = "okay";
+	ethernet0-port@0 {
+		phy-handle = <&ethphy0>;
+	};
+};
+
+&pinctrl {
+	pinctrl-names = "default";
+
+	pmx_button_function: pmx-button-function {
+		marvell,pins = "mpp34";
+		marvell,function = "gpio";
+	};
+	pmx_button_power_off: pmx-button-power-off {
+		marvell,pins = "mpp15";
+		marvell,function = "gpio";
+	};
+	pmx_button_power_on: pmx-button-power-on {
+		marvell,pins = "mpp13";
+		marvell,function = "gpio";
+	};
+};
+
+&i2c0 {
+	pinctrl-0 = <&pmx_twsi0>;
+	pinctrl-names = "default";
+	status = "okay";
+
+	eeprom@50 {
+		compatible = "atmel,24c04";
+		pagesize = <16>;
+		reg = <0x50>;
+	};
+};
+