ARM: dts: rockchip: Adding LEDs handling via leds-gpio for the Radxa Rock2 Square
diff mbox

Message ID 1451474219-1313-1-git-send-email-romain.perier@gmail.com
State New
Headers show

Commit Message

Romain Perier Dec. 30, 2015, 11:16 a.m. UTC
Signed-off-by: Romain Perier <romain.perier@gmail.com>
---
 arch/arm/boot/dts/rk3288-rock2-square.dts | 17 +++++++++++++++++
 1 file changed, 17 insertions(+)

Comments

Heiko Stuebner Dec. 30, 2015, 3:20 p.m. UTC | #1
Hi Romain,

Am Mittwoch, 30. Dezember 2015, 12:16:59 schrieb Romain Perier:

even a oneliner is generally preferred, compared to no commit message at all 
;-)

> Signed-off-by: Romain Perier <romain.perier@gmail.com>
> ---
>  arch/arm/boot/dts/rk3288-rock2-square.dts | 17 +++++++++++++++++
>  1 file changed, 17 insertions(+)
> 
> diff --git a/arch/arm/boot/dts/rk3288-rock2-square.dts
> b/arch/arm/boot/dts/rk3288-rock2-square.dts index c5453a0..a33020f 100644
> --- a/arch/arm/boot/dts/rk3288-rock2-square.dts
> +++ b/arch/arm/boot/dts/rk3288-rock2-square.dts
> @@ -56,6 +56,23 @@
>  		pinctrl-0 = <&ir_int>;
>  	};
> 
> +	gpio-leds {
> +		compatible = "gpio-leds";
> +
> +		heartbeat {
> +			gpios = <&gpio7 15 GPIO_ACTIVE_LOW>;
> +			label = "rock2:green:heartbeat";
> +			linux,default-trigger = "heartbeat";
> +		};
> +
> +		mmc {
> +			gpios = <&gpio0 11 GPIO_ACTIVE_LOW>;
> +			label = "rock2:blue:mmc";
> +			linux,default-trigger = "mmc0";
> +		};

the rock2 core schematics seem to not list these leds at all (especially when 
looking at the gpio-side). But looking at the schematics my guess would be 
led_state1 and led_state2, so the naming should reflect that 
(rock2:green:state1 ...).

Also I'd like to refrain from encoding user-specific configurations in the 
devicetree - aka please do a default trigger of "off" for those generic leds.


Thanks
Heiko

> +	};
> +
> +
>  	sound {
>  		compatible = "simple-audio-card";
>  		simple-audio-card,name = "SPDIF";
Sjoerd Simons Dec. 30, 2015, 3:45 p.m. UTC | #2
On Wed, 2015-12-30 at 16:20 +0100, Heiko Stübner wrote:
> Hi Romain,
> 
> Am Mittwoch, 30. Dezember 2015, 12:16:59 schrieb Romain Perier:
> 
> even a oneliner is generally preferred, compared to no commit message
> at all 
> ;-)
> 
> > Signed-off-by: Romain Perier <romain.perier@gmail.com>
> > ---
> >  arch/arm/boot/dts/rk3288-rock2-square.dts | 17 +++++++++++++++++
> >  1 file changed, 17 insertions(+)
> > 
> > diff --git a/arch/arm/boot/dts/rk3288-rock2-square.dts
> > b/arch/arm/boot/dts/rk3288-rock2-square.dts index c5453a0..a33020f
> > 100644
> > --- a/arch/arm/boot/dts/rk3288-rock2-square.dts
> > +++ b/arch/arm/boot/dts/rk3288-rock2-square.dts
> > @@ -56,6 +56,23 @@
> >  		pinctrl-0 = <&ir_int>;
> >  	};
> > 
> > +	gpio-leds {
> > +		compatible = "gpio-leds";
> > +
> > +		heartbeat {
> > +			gpios = <&gpio7 15 GPIO_ACTIVE_LOW>;
> > +			label = "rock2:green:heartbeat";
> > +			linux,default-trigger = "heartbeat";
> > +		};
> > +
> > +		mmc {
> > +			gpios = <&gpio0 11 GPIO_ACTIVE_LOW>;
> > +			label = "rock2:blue:mmc";
> > +			linux,default-trigger = "mmc0";
> > +		};
> 
> the rock2 core schematics seem to not list these leds at all
> (especially when 
> looking at the gpio-side). But looking at the schematics my guess
> would be 
> led_state1 and led_state2, so the naming should reflect that 
> (rock2:green:state1 ...).
> 
> Also I'd like to refrain from encoding user-specific configurations
> in the 
> devicetree - aka please do a default trigger of "off" for those
> generic leds.

Seems a grey area. The vendor kernel configures these LEDs with the
same default triggers as Romains patch does, so one could argue these
are the intended usages for those LEDs (as such it's hardware
description not use-specific configuration?). 

In any case having sensible default triggers (e.g. having the default
mainline behaviour act the same as the vendor behaviour) seems quite a
lot more useful then keeping these LEDs off and forcing usespace to set
them up.


> Thanks
> Heiko
> 
> > +	};
> > +
> > +
> >  	sound {
> >  		compatible = "simple-audio-card";
> >  		simple-audio-card,name = "SPDIF";
>
Heiko Stuebner Dec. 30, 2015, 3:53 p.m. UTC | #3
Am Mittwoch, 30. Dezember 2015, 16:45:43 schrieb Sjoerd Simons:
> On Wed, 2015-12-30 at 16:20 +0100, Heiko Stübner wrote:
> > Am Mittwoch, 30. Dezember 2015, 12:16:59 schrieb Romain Perier:
> > 
> > even a oneliner is generally preferred, compared to no commit message
> > at all 
> > ;-)
> > 
> > > Signed-off-by: Romain Perier <romain.perier@gmail.com>
> > > ---
> > >  arch/arm/boot/dts/rk3288-rock2-square.dts | 17 +++++++++++++++++
> > >  1 file changed, 17 insertions(+)
> > > 
> > > diff --git a/arch/arm/boot/dts/rk3288-rock2-square.dts
> > > b/arch/arm/boot/dts/rk3288-rock2-square.dts index c5453a0..a33020f
> > > 100644
> > > --- a/arch/arm/boot/dts/rk3288-rock2-square.dts
> > > +++ b/arch/arm/boot/dts/rk3288-rock2-square.dts
> > > @@ -56,6 +56,23 @@
> > >  		pinctrl-0 = <&ir_int>;
> > >  	};
> > > 
> > > +	gpio-leds {
> > > +		compatible = "gpio-leds";
> > > +
> > > +		heartbeat {
> > > +			gpios = <&gpio7 15 GPIO_ACTIVE_LOW>;
> > > +			label = "rock2:green:heartbeat";
> > > +			linux,default-trigger = "heartbeat";
> > > +		};
> > > +
> > > +		mmc {
> > > +			gpios = <&gpio0 11 GPIO_ACTIVE_LOW>;
> > > +			label = "rock2:blue:mmc";
> > > +			linux,default-trigger = "mmc0";
> > > +		};
> > 
> > the rock2 core schematics seem to not list these leds at all
> > (especially when 
> > looking at the gpio-side). But looking at the schematics my guess
> > would be 
> > led_state1 and led_state2, so the naming should reflect that 
> > (rock2:green:state1 ...).
> > 
> > Also I'd like to refrain from encoding user-specific configurations
> > in the 
> > devicetree - aka please do a default trigger of "off" for those
> > generic leds.
> 
> Seems a grey area. The vendor kernel configures these LEDs with the
> same default triggers as Romains patch does, so one could argue these
> are the intended usages for those LEDs (as such it's hardware
> description not use-specific configuration?). 
> 
> In any case having sensible default triggers (e.g. having the default
> mainline behaviour act the same as the vendor behaviour) seems quite a
> lot more useful then keeping these LEDs off and forcing usespace to set
> them up.

I only looked at the schematics, so missed that. While personally I'd still 
like having the "christmas-tree" off by default, Sjoerd's argument for the 
trigger-choice sounds sensible.
Hint for next time: Describing that makes a good commit message

Anybody opposed to me adding the following commit message?

----
Describe the two user-controllable LEDs on Rock2-square boards.
The default-triggers mimic the behaviour of the vendor-kernel to
keep functionalities in sync.
----


Heiko
Sjoerd Simons Dec. 30, 2015, 4:07 p.m. UTC | #4
On Wed, 2015-12-30 at 16:53 +0100, Heiko Stübner wrote:
> Am Mittwoch, 30. Dezember 2015, 16:45:43 schrieb Sjoerd Simons:
> > On Wed, 2015-12-30 at 16:20 +0100, Heiko Stübner wrote:
> > > 
> I only looked at the schematics, so missed that. While personally I'd
> still 
> like having the "christmas-tree" off by default, Sjoerd's argument
> for the 
> trigger-choice sounds sensible.
> Hint for next time: Describing that makes a good commit message
> 
> Anybody opposed to me adding the following commit message?
> 
> ----
> Describe the two user-controllable LEDs on Rock2-square boards.
> The default-triggers mimic the behaviour of the vendor-kernel to
> keep functionalities in sync.
> ----

Looks good to me, with that commit message feel free to add:

Reviewed-by: Sjoerd Simons <sjoerd.simons@collabora.co.uk>
> 
> Heiko
>
Romain Perier Dec. 30, 2015, 4:07 p.m. UTC | #5
Hi all,

I agree with Sjoerd, that's more useful to keep these LEDs in sync
with the default vendor behaviour than put their default state to off
and ask the user to manipulate them explicitly... in the worst case,
he can still change the default state from sysfs...



2015-12-30 16:53 GMT+01:00 Heiko Stübner <heiko@sntech.de>:
>> > even a oneliner is generally preferred, compared to no commit message
>> > at all
>> > ;-)

Well, lack of inspiration :P
No, just kidding, I agree.

>> >
>> > > Signed-off-by: Romain Perier <romain.perier@gmail.com>
>> > > ---
>> > >  arch/arm/boot/dts/rk3288-rock2-square.dts | 17 +++++++++++++++++
>> > >  1 file changed, 17 insertions(+)
>> > >
>> > > diff --git a/arch/arm/boot/dts/rk3288-rock2-square.dts
>> > > b/arch/arm/boot/dts/rk3288-rock2-square.dts index c5453a0..a33020f
>> > > 100644
>> > > --- a/arch/arm/boot/dts/rk3288-rock2-square.dts
>> > > +++ b/arch/arm/boot/dts/rk3288-rock2-square.dts
>> > > @@ -56,6 +56,23 @@
>> > >           pinctrl-0 = <&ir_int>;
>> > >   };
>> > >
>> > > + gpio-leds {
>> > > +         compatible = "gpio-leds";
>> > > +
>> > > +         heartbeat {
>> > > +                 gpios = <&gpio7 15 GPIO_ACTIVE_LOW>;
>> > > +                 label = "rock2:green:heartbeat";
>> > > +                 linux,default-trigger = "heartbeat";
>> > > +         };
>> > > +
>> > > +         mmc {
>> > > +                 gpios = <&gpio0 11 GPIO_ACTIVE_LOW>;
>> > > +                 label = "rock2:blue:mmc";
>> > > +                 linux,default-trigger = "mmc0";
>> > > +         };
>> >
>> > the rock2 core schematics seem to not list these leds at all
>> > (especially when
>> > looking at the gpio-side). But looking at the schematics my guess
>> > would be
>> > led_state1 and led_state2, so the naming should reflect that
>> > (rock2:green:state1 ...).

I used the schematic and the vendor devicetree to retrieve these informations.


> Anybody opposed to me adding the following commit message?
>
> ----
> Describe the two user-controllable LEDs on Rock2-square boards.
> The default-triggers mimic the behaviour of the vendor-kernel to
> keep functionalities in sync.
> ----

+1
Please do.

Do you want a v2 patch ? (the label of these leds is wrong)

Romain
Heiko Stuebner Dec. 30, 2015, 4:43 p.m. UTC | #6
Am Mittwoch, 30. Dezember 2015, 17:07:54 schrieb Romain Perier:
> Hi all,
> 
> I agree with Sjoerd, that's more useful to keep these LEDs in sync
> with the default vendor behaviour than put their default state to off
> and ask the user to manipulate them explicitly... in the worst case,
> he can still change the default state from sysfs...
> 
> 2015-12-30 16:53 GMT+01:00 Heiko Stübner <heiko@sntech.de>:
> >> > even a oneliner is generally preferred, compared to no commit message
> >> > at all
> >> > ;-)
> 
> Well, lack of inspiration :P
> No, just kidding, I agree.
> 
> >> > > Signed-off-by: Romain Perier <romain.perier@gmail.com>
> >> > > ---
> >> > > 
> >> > >  arch/arm/boot/dts/rk3288-rock2-square.dts | 17 +++++++++++++++++
> >> > >  1 file changed, 17 insertions(+)
> >> > > 
> >> > > diff --git a/arch/arm/boot/dts/rk3288-rock2-square.dts
> >> > > b/arch/arm/boot/dts/rk3288-rock2-square.dts index c5453a0..a33020f
> >> > > 100644
> >> > > --- a/arch/arm/boot/dts/rk3288-rock2-square.dts
> >> > > +++ b/arch/arm/boot/dts/rk3288-rock2-square.dts
> >> > > @@ -56,6 +56,23 @@
> >> > > 
> >> > >           pinctrl-0 = <&ir_int>;
> >> > >   
> >> > >   };
> >> > > 
> >> > > + gpio-leds {
> >> > > +         compatible = "gpio-leds";
> >> > > +
> >> > > +         heartbeat {
> >> > > +                 gpios = <&gpio7 15 GPIO_ACTIVE_LOW>;
> >> > > +                 label = "rock2:green:heartbeat";
> >> > > +                 linux,default-trigger = "heartbeat";
> >> > > +         };
> >> > > +
> >> > > +         mmc {
> >> > > +                 gpios = <&gpio0 11 GPIO_ACTIVE_LOW>;
> >> > > +                 label = "rock2:blue:mmc";
> >> > > +                 linux,default-trigger = "mmc0";
> >> > > +         };
> >> > 
> >> > the rock2 core schematics seem to not list these leds at all
> >> > (especially when
> >> > looking at the gpio-side). But looking at the schematics my guess
> >> > would be
> >> > led_state1 and led_state2, so the naming should reflect that
> >> > (rock2:green:state1 ...).
> 
> I used the schematic and the vendor devicetree to retrieve these
> informations.
> > Anybody opposed to me adding the following commit message?
> > 
> > ----
> > Describe the two user-controllable LEDs on Rock2-square boards.
> > The default-triggers mimic the behaviour of the vendor-kernel to
> > keep functionalities in sync.
> > ----
> 
> +1
> Please do.
> 
> Do you want a v2 patch ? (the label of these leds is wrong)

yep, bringing everything together makes sense :-)


Heiko

Patch
diff mbox

diff --git a/arch/arm/boot/dts/rk3288-rock2-square.dts b/arch/arm/boot/dts/rk3288-rock2-square.dts
index c5453a0..a33020f 100644
--- a/arch/arm/boot/dts/rk3288-rock2-square.dts
+++ b/arch/arm/boot/dts/rk3288-rock2-square.dts
@@ -56,6 +56,23 @@ 
 		pinctrl-0 = <&ir_int>;
 	};
 
+	gpio-leds {
+		compatible = "gpio-leds";
+
+		heartbeat {
+			gpios = <&gpio7 15 GPIO_ACTIVE_LOW>;
+			label = "rock2:green:heartbeat";
+			linux,default-trigger = "heartbeat";
+		};
+
+		mmc {
+			gpios = <&gpio0 11 GPIO_ACTIVE_LOW>;
+			label = "rock2:blue:mmc";
+			linux,default-trigger = "mmc0";
+		};
+	};
+
+
 	sound {
 		compatible = "simple-audio-card";
 		simple-audio-card,name = "SPDIF";