diff mbox

[PATCHv1] arm: armada: Add .dts file for Netgear ReadyNAS 102

Message ID 878v1mgh4x.fsf@natisbad.org (mailing list archive)
State New, archived
Headers show

Commit Message

Arnaud Ebalard July 4, 2013, 9:16 p.m. UTC
All hardware parts of the (Armada 370 based) NETGEAR ReadyNAS 102 are
supported by mainline kernel (USB 3.0 rear ports, USB 2.0 front port,
Gigabit controller and PHY, serial port, leds, buttons, SATA ports,
G762 fan controller) except for:

 - the Intersil ISL12057 I2C RTC Chip,
 - the Armada NAND controller.

Support for both of those is currently work in progress and does not
prevent boot.

Signed-off-by: Arnaud Ebalard <arno@natisbad.org>
---
Hi Jason and Andrew,

As requested

 - this version is tested against current head of linus tree (+ I2C
   fixes for a race condition; for details, see message #94 of
   http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=622325).
 - nand layout entry and ISL12057 entry have been removed until support
   is available in mainline kernel for eahc of those
 - clock, gpio led and keys have been made siblings of soc, memory and
   chosen (reported by Sebastian).

Is it still acceptable for current merge window or am I too late?

Cheers,

a+

 arch/arm/boot/dts/Makefile                     |   1 +
 arch/arm/boot/dts/armada-370-netgear-rn102.dts | 176 +++++++++++++++++++++++++
 2 files changed, 177 insertions(+)
 create mode 100644 arch/arm/boot/dts/armada-370-netgear-rn102.dts

Comments

Jason Cooper July 5, 2013, 2:29 p.m. UTC | #1
On Thu, Jul 04, 2013 at 11:16:46PM +0200, Arnaud Ebalard wrote:
> 
> All hardware parts of the (Armada 370 based) NETGEAR ReadyNAS 102 are
> supported by mainline kernel (USB 3.0 rear ports, USB 2.0 front port,
> Gigabit controller and PHY, serial port, leds, buttons, SATA ports,
> G762 fan controller) except for:
> 
>  - the Intersil ISL12057 I2C RTC Chip,
>  - the Armada NAND controller.
> 
> Support for both of those is currently work in progress and does not
> prevent boot.
> 
> Signed-off-by: Arnaud Ebalard <arno@natisbad.org>
> ---
> Hi Jason and Andrew,
> 
> As requested
> 
>  - this version is tested against current head of linus tree (+ I2C
>    fixes for a race condition; for details, see message #94 of
>    http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=622325).
>  - nand layout entry and ISL12057 entry have been removed until support
>    is available in mainline kernel for eahc of those
>  - clock, gpio led and keys have been made siblings of soc, memory and
>    chosen (reported by Sebastian).
> 
> Is it still acceptable for current merge window or am I too late?

Unfortunately, it's too late for v3.11.  The arm-soc cutoff is typically
-rc6 or so.  Which usually means we need to see it on lakml by -rc5.
So, you're ahead of schedule for v3.12 :-P

However, with any luck, maybe Ezequiel will have something ready for the
nand driver in time as well...

thx,

Jason.
Arnaud Ebalard July 6, 2013, 9 a.m. UTC | #2
Hi,

Jason Cooper <jason@lakedaemon.net> writes:

> On Thu, Jul 04, 2013 at 11:16:46PM +0200, Arnaud Ebalard wrote:
>> 
>> All hardware parts of the (Armada 370 based) NETGEAR ReadyNAS 102 are
>> supported by mainline kernel (USB 3.0 rear ports, USB 2.0 front port,
>> Gigabit controller and PHY, serial port, leds, buttons, SATA ports,
>> G762 fan controller) except for:
>> 
>>  - the Intersil ISL12057 I2C RTC Chip,
>>  - the Armada NAND controller.
>> 
>> Support for both of those is currently work in progress and does not
>> prevent boot.
>> 
>> Signed-off-by: Arnaud Ebalard <arno@natisbad.org>
>> ---
>> Hi Jason and Andrew,
>> 
>> As requested
>> 
>>  - this version is tested against current head of linus tree (+ I2C
>>    fixes for a race condition; for details, see message #94 of
>>    http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=622325).
>>  - nand layout entry and ISL12057 entry have been removed until support
>>    is available in mainline kernel for eahc of those
>>  - clock, gpio led and keys have been made siblings of soc, memory and
>>    chosen (reported by Sebastian).
>> 
>> Is it still acceptable for current merge window or am I too late?
>
> Unfortunately, it's too late for v3.11.  The arm-soc cutoff is typically
> -rc6 or so.  Which usually means we need to see it on lakml by -rc5.
> So, you're ahead of schedule for v3.12 :-P
>
> However, with any luck, maybe Ezequiel will have something ready for the
> nand driver in time as well...

ok, no problem. That may be better in the end. And regarding the
addition of G762 entries to ReadyNAS Duo v2 .dts file you queued a few
days ago? I was unable to find it in one of your branches and just
wonder where it went and hide. 

Cheers,

a+
Jason Cooper July 6, 2013, 1:38 p.m. UTC | #3
On Sat, Jul 06, 2013 at 11:00:34AM +0200, Arnaud Ebalard wrote:
> Hi,
> 
> Jason Cooper <jason@lakedaemon.net> writes:
> 
> > On Thu, Jul 04, 2013 at 11:16:46PM +0200, Arnaud Ebalard wrote:
> >> 
> >> All hardware parts of the (Armada 370 based) NETGEAR ReadyNAS 102 are
> >> supported by mainline kernel (USB 3.0 rear ports, USB 2.0 front port,
> >> Gigabit controller and PHY, serial port, leds, buttons, SATA ports,
> >> G762 fan controller) except for:
> >> 
> >>  - the Intersil ISL12057 I2C RTC Chip,
> >>  - the Armada NAND controller.
> >> 
> >> Support for both of those is currently work in progress and does not
> >> prevent boot.
> >> 
> >> Signed-off-by: Arnaud Ebalard <arno@natisbad.org>
> >> ---
> >> Hi Jason and Andrew,
> >> 
> >> As requested
> >> 
> >>  - this version is tested against current head of linus tree (+ I2C
> >>    fixes for a race condition; for details, see message #94 of
> >>    http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=622325).
> >>  - nand layout entry and ISL12057 entry have been removed until support
> >>    is available in mainline kernel for eahc of those
> >>  - clock, gpio led and keys have been made siblings of soc, memory and
> >>    chosen (reported by Sebastian).
> >> 
> >> Is it still acceptable for current merge window or am I too late?
> >
> > Unfortunately, it's too late for v3.11.  The arm-soc cutoff is typically
> > -rc6 or so.  Which usually means we need to see it on lakml by -rc5.
> > So, you're ahead of schedule for v3.12 :-P
> >
> > However, with any luck, maybe Ezequiel will have something ready for the
> > nand driver in time as well...
> 
> ok, no problem. That may be better in the end. And regarding the
> addition of G762 entries to ReadyNAS Duo v2 .dts file you queued a few
> days ago? I was unable to find it in one of your branches and just
> wonder where it went and hide. 

It's hiding in ~/.maildir/.TODO.linux-next/ :-)  atm, there's really
nothing stable to base a branch off of.  Once -rc1 lands, I'll create
new branches with all the stuff I have so far for v3.12.  I'll also
rebuild for-next with that same material.

hth,

Jason.
Jason Cooper July 25, 2013, 6:41 p.m. UTC | #4
On Thu, Jul 04, 2013 at 11:16:46PM +0200, Arnaud Ebalard wrote:
> 
> All hardware parts of the (Armada 370 based) NETGEAR ReadyNAS 102 are
> supported by mainline kernel (USB 3.0 rear ports, USB 2.0 front port,
> Gigabit controller and PHY, serial port, leds, buttons, SATA ports,
> G762 fan controller) except for:
> 
>  - the Intersil ISL12057 I2C RTC Chip,
>  - the Armada NAND controller.
> 
> Support for both of those is currently work in progress and does not
> prevent boot.
> 
> Signed-off-by: Arnaud Ebalard <arno@natisbad.org>
> ---
> Hi Jason and Andrew,
> 
> As requested
> 
>  - this version is tested against current head of linus tree (+ I2C
>    fixes for a race condition; for details, see message #94 of
>    http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=622325).
>  - nand layout entry and ISL12057 entry have been removed until support
>    is available in mainline kernel for eahc of those
>  - clock, gpio led and keys have been made siblings of soc, memory and
>    chosen (reported by Sebastian).
> 
> Is it still acceptable for current merge window or am I too late?

Well, for v3.12... ;-)

> Cheers,
> 
> a+
> 
>  arch/arm/boot/dts/Makefile                     |   1 +
>  arch/arm/boot/dts/armada-370-netgear-rn102.dts | 176 +++++++++++++++++++++++++
>  2 files changed, 177 insertions(+)
>  create mode 100644 arch/arm/boot/dts/armada-370-netgear-rn102.dts

Applied to mvebu/dt

thx,

Jason.
Gregory CLEMENT Aug. 5, 2013, 1:25 p.m. UTC | #5
On 04/07/2013 23:16, Arnaud Ebalard wrote:
> 
> All hardware parts of the (Armada 370 based) NETGEAR ReadyNAS 102 are
> supported by mainline kernel (USB 3.0 rear ports, USB 2.0 front port,
> Gigabit controller and PHY, serial port, leds, buttons, SATA ports,
> G762 fan controller) except for:
> 
>  - the Intersil ISL12057 I2C RTC Chip,
>  - the Armada NAND controller.
> 
> Support for both of those is currently work in progress and does not
> prevent boot.

If it is not too late you can add my

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

Just a nitpick:

For a better coherency in your file you could add an extra line before
each sub-node as you have done for all the other nodes:

> +	gpio_keys {
> +		compatible = "gpio-keys";
> +		#address-cells = <1>;
> +		#size-cells = <0>;
Here
> +		button@1 {
> +			label = "Power Button";
> +			linux,code = <116>;     /* KEY_POWER */
> +			gpios = <&gpio1 30 1>;
> +		};
Here
> +		button@2 {
> +			label = "Reset Button";
> +			linux,code = <0x198>;   /* KEY_RESTART */
> +			gpios = <&gpio0 6 1>;
> +		};
and here
> +		button@3 {
> +			label = "Backup Button";
> +			linux,code = <133>;     /* KEY_COPY */
> +			gpios = <&gpio1 26 1>;
> +		};
> +	};
> +
> +};
>
Jason Cooper Aug. 5, 2013, 1:44 p.m. UTC | #6
On Mon, Aug 05, 2013 at 03:25:21PM +0200, Gregory CLEMENT wrote:
> On 04/07/2013 23:16, Arnaud Ebalard wrote:
> > 
> > All hardware parts of the (Armada 370 based) NETGEAR ReadyNAS 102 are
> > supported by mainline kernel (USB 3.0 rear ports, USB 2.0 front port,
> > Gigabit controller and PHY, serial port, leds, buttons, SATA ports,
> > G762 fan controller) except for:
> > 
> >  - the Intersil ISL12057 I2C RTC Chip,
> >  - the Armada NAND controller.
> > 
> > Support for both of those is currently work in progress and does not
> > prevent boot.
> 
> If it is not too late you can add my
> 
> Acked-by: Gregory CLEMENT <gregory.clement@free-electrons.com>

Added.

> Just a nitpick:
> 
> For a better coherency in your file you could add an extra line before
> each sub-node as you have done for all the other nodes:

fixed.

thx,

Jason.
Arnaud Ebalard Aug. 5, 2013, 6:35 p.m. UTC | #7
Hi Jason and Gregory,

Jason Cooper <jason@lakedaemon.net> writes:

> On Mon, Aug 05, 2013 at 03:25:21PM +0200, Gregory CLEMENT wrote:
>> On 04/07/2013 23:16, Arnaud Ebalard wrote:
>> > 
>> > All hardware parts of the (Armada 370 based) NETGEAR ReadyNAS 102 are
>> > supported by mainline kernel (USB 3.0 rear ports, USB 2.0 front port,
>> > Gigabit controller and PHY, serial port, leds, buttons, SATA ports,
>> > G762 fan controller) except for:
>> > 
>> >  - the Intersil ISL12057 I2C RTC Chip,
>> >  - the Armada NAND controller.
>> > 
>> > Support for both of those is currently work in progress and does not
>> > prevent boot.
>> 
>> If it is not too late you can add my
>> 
>> Acked-by: Gregory CLEMENT <gregory.clement@free-electrons.com>
>
> Added.
>
>> Just a nitpick:
>> 
>> For a better coherency in your file you could add an extra line before
>> each sub-node as you have done for all the other nodes:
>
> fixed.

Thank you guys for resurrecting the thread. I was kind of waiting some
more days for some feedback on ISL 12057 RTC chip driver from rtc-linux
group. It now seems unlikely the driver will be in 3.12 so let's leave
the .dts as is. I'll push an update for the .dts file to reference the
device for 3.13-rc* cycle.

Cheers,

a+
diff mbox

Patch

diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
index 641b3c9..d869d83 100644
--- a/arch/arm/boot/dts/Makefile
+++ b/arch/arm/boot/dts/Makefile
@@ -100,6 +100,7 @@  dtb-$(CONFIG_ARCH_MSM) += msm8660-surf.dtb \
 	msm8960-cdp.dtb
 dtb-$(CONFIG_ARCH_MVEBU) += armada-370-db.dtb \
 	armada-370-mirabox.dtb \
+	armada-370-netgear-rn102.dtb \
 	armada-370-rd.dtb \
 	armada-xp-db.dtb \
 	armada-xp-gp.dtb \
diff --git a/arch/arm/boot/dts/armada-370-netgear-rn102.dts b/arch/arm/boot/dts/armada-370-netgear-rn102.dts
new file mode 100644
index 0000000..9d813d2
--- /dev/null
+++ b/arch/arm/boot/dts/armada-370-netgear-rn102.dts
@@ -0,0 +1,176 @@ 
+/*
+ * Device Tree file for NETGEAR ReadyNAS 102
+ *
+ * Copyright (C) 2013, Arnaud EBALARD <arno@natisbad.org>
+ *
+ * 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/ "armada-370.dtsi"
+
+/ {
+	model = "NETGEAR ReadyNAS 102";
+	compatible = "netgear,readynas-102", "marvell,armada370", "marvell,armada-370-xp";
+
+	chosen {
+		bootargs = "console=ttyS0,115200 earlyprintk";
+	};
+
+	memory {
+		device_type = "memory";
+		reg = <0x00000000 0x20000000>; /* 512 MB */
+	};
+
+	soc {
+		internal-regs {
+			serial@12000 {
+				clock-frequency = <200000000>;
+				status = "okay";
+			};
+
+			sata@a0000 {
+				nr-ports = <2>;
+				status = "okay";
+			};
+
+			pinctrl {
+				power_led_pin: power-led-pin {
+					marvell,pins = "mpp57";
+					marvell,function = "gpio";
+				};
+				sata1_led_pin: sata1-led-pin {
+					marvell,pins = "mpp15";
+					marvell,function = "gpio";
+				};
+
+				sata2_led_pin: sata2-led-pin {
+					marvell,pins = "mpp14";
+					marvell,function = "gpio";
+				};
+
+				backup_led_pin: backup-led-pin {
+					marvell,pins = "mpp56";
+					marvell,function = "gpio";
+				};
+			};
+
+			mdio {
+				phy0: ethernet-phy@0 {
+					reg = <0>;
+				};
+			};
+
+			ethernet@74000 {
+				status = "okay";
+				phy = <&phy0>;
+				phy-mode = "rgmii-id";
+			};
+
+			usb@50000 {
+				status = "okay";
+			};
+
+			i2c@11000 {
+				compatible = "marvell,mv64xxx-i2c";
+				clock-frequency = <100000>;
+				status = "okay";
+
+				g762: g762@3e {
+					compatible = "gmt,g762";
+					reg = <0x3e>;
+					clocks = <&g762_clk>; /* input clock */
+					fan_gear_mode = <0>;
+					fan_startv = <1>;
+					pwm_polarity = <0>;
+				};
+			};
+
+			pcie-controller {
+				status = "okay";
+
+				/* Connected to Marvell SATA controller */
+				pcie@1,0 {
+					/* Port 0, Lane 0 */
+					status = "okay";
+				};
+
+				/* Connected to FL1009 USB 3.0 controller */
+				pcie@2,0 {
+					/* Port 1, Lane 0 */
+					status = "okay";
+				};
+			};
+		};
+	};
+
+	clocks {
+	       #address-cells = <1>;
+	       #size-cells = <0>;
+
+	       g762_clk: fixedclk {
+			 compatible = "fixed-clock";
+			 #clock-cells = <0>;
+			 clock-frequency = <8192>;
+	       };
+	};
+
+	gpio_leds {
+		compatible = "gpio-leds";
+		pinctrl-0 = < &power_led_pin
+			      &sata1_led_pin
+			      &sata2_led_pin
+			      &backup_led_pin >;
+		pinctrl-names = "default";
+
+		blue_power_led {
+			label = "rn102:blue:pwr";
+			gpios = <&gpio1 25 1>;  /* GPIO 57 Active Low */
+			linux,default-trigger = "heartbeat";
+		};
+
+		green_sata1_led {
+			label = "rn102:green:sata1";
+			gpios = <&gpio0 15 1>;  /* GPIO 15 Active Low */
+			default-state = "on";
+		};
+
+		green_sata2_led {
+			label = "rn102:green:sata2";
+			gpios = <&gpio0 14 1>;   /* GPIO 14 Active Low */
+			default-state = "on";
+		};
+
+		green_backup_led {
+			label = "rn102:green:backup";
+			gpios = <&gpio1 24 1>;   /* GPIO 56 Active Low */
+			default-state = "on";
+		};
+	};
+
+	gpio_keys {
+		compatible = "gpio-keys";
+		#address-cells = <1>;
+		#size-cells = <0>;
+		button@1 {
+			label = "Power Button";
+			linux,code = <116>;     /* KEY_POWER */
+			gpios = <&gpio1 30 1>;
+		};
+		button@2 {
+			label = "Reset Button";
+			linux,code = <0x198>;   /* KEY_RESTART */
+			gpios = <&gpio0 6 1>;
+		};
+		button@3 {
+			label = "Backup Button";
+			linux,code = <133>;     /* KEY_COPY */
+			gpios = <&gpio1 26 1>;
+		};
+	};
+
+};