lkml.org 
[lkml]   [2019]   [Jan]   [7]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
SubjectRe: [PATCH 2/2] leds: lp5024: Add the LP5024/18 RGB LED driver
From
Date
Hi Vesa,

On 1/5/19 1:39 AM, Vesa Jääskeläinen wrote:
> Hi Jacek,
>
> On 04/01/2019 23.37, Jacek Anaszewski wrote:
>> But, aside from that hypothetic issue, we need a solution for
>> LEDn_BRIGHTNESS feature of lp5024, i.e. setting color intensity
>> via a single register write. How would you propose to address that?
>
> You could model it to something like this in device tree:
>
> led-module @ <i2c-address> {
>     compatible = "lp5024";
>
>     // There is in hardware setup to use either linear or
>     // logarithmic scaling:
>     //enable-logarithmic-brightness;
>
>     led0 {
>         // this will create led instance for LED0 in lp5024
>         label = "lp-led0";
>
>         // This specifies LED number within lp5024
>         led-index = <0>;   // set output-base as 0*3 == 0
>
>         element-red {
>             // refers to OUT0
>             output-offset = <0>;
>         };
>
>         element-green {
>             // refers to OUT1
>             output-offset = <1>;
>         };
>
>         element-blue {
>             // refers to OUT2
>             output-offset = <2>;
>         };
>
>     };
>
>     led1 {
>         // this will create led instance for LED1 in lp5024
>         label = "lp-led1";
>
>         // This specifies LED number within lp5024
>         led-index = <1>;   // set output-base as 1*3 == 3
>
>         element-red {
>             // refers to OUT3
>             output-offset = <0>;
>         };
>
>         element-green {
>             // refers to OUT4
>             output-offset = <1>;
>         };
>
>         element-blue {
>             // refers to OUT5
>             output-offset = <2>;
>         };
>
>     };
>
>     bank-led {
>         // this will create led instance for bank leds in lp5024
>         label = "lp-bank-led";
>
>         // configured bank led configuration
>         led-index = <2 3 4 5 6 7>;
>         // As here is list of led-indices this entry is
>         // assumed to be bank configuration. Bank mode is enable
>         // for the indices.
>
>         // set output-base as BANK A
>
>         element-red {
>             // refers to BANK A
>             output-offset = <0>;
>         };
>
>         element-green {
>             // refers to BANK B
>             output-offset = <1>;
>         };
>
>         element-blue {
>             // refers to BANK C
>             output-offset = <2>;
>         };
>     };
> };
>
> This would then create three led instances and each led instance has
> brightness setting and that goes straight to hardware.
>
> If one would want to override hardware control for brightness then I
> suppose you would define in led node something like:
>
>     brightness-model = "hsl"
>
> This would then pick red, green and blue elements for hsl calculations
> and others color elements for linear. LED specific hardware brightness
> would then be either 0 or 0xFF depending if all of LED color elements
> are zero or not.
>
> Would that kind of model work?

I'd prefer to have single RGB LED device. And your DT design
is unnecessarily complex and a bit confusing.

Also, you provided scarce information about sysfs interface.
It would be nice to see the sequence of commands.

--
Best regards,
Jacek Anaszewski

\
 
 \ /
  Last update: 2019-01-07 22:14    [W:0.540 / U:0.556 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site