lkml.org 
[lkml]   [2019]   [Sep]   [24]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    SubjectRe: [PATCH v8 7/9] dt: bindings: lp50xx: Introduce the lp50xx family of RGB drivers
    From
    Date
    Rob

    On 9/23/19 4:42 PM, Jacek Anaszewski wrote:
    > Dan,
    >
    > On 9/23/19 5:28 PM, Dan Murphy wrote:
    >> Jacek
    >>
    >> On 9/21/19 10:13 AM, Jacek Anaszewski wrote:
    >>> Dan,
    >>>
    >>> On 9/20/19 7:41 PM, Dan Murphy wrote:
    >>>> Introduce the bindings for the Texas Instruments LP5036, LP5030, LP5024,
    >>>> LP5018, LP5012 and LP5009 RGB LED device driver.  The
    >>>> LP5036/30/24/18/12/9
    >>>> can control RGB LEDs individually or as part of a control bank group.
    >>>> These devices have the ability to adjust the mixing control for the RGB
    >>>> LEDs to obtain different colors independent of the overall brightness of
    >>>> the LED grouping.
    >>>>
    >>>> Datasheet:
    >>>> http://www.ti.com/lit/ds/symlink/lp5012.pdf
    >>>> http://www.ti.com/lit/ds/symlink/lp5024.pdf
    >>>> http://www.ti.com/lit/ds/symlink/lp5036.pdf
    >>>>
    >>>> Signed-off-by: Dan Murphy <dmurphy@ti.com>
    >>>> ---
    >>>>   .../devicetree/bindings/leds/leds-lp50xx.txt  | 148 ++++++++++++++++++
    >>>>   1 file changed, 148 insertions(+)
    >>>>   create mode 100644
    >>>> Documentation/devicetree/bindings/leds/leds-lp50xx.txt
    >>>>
    >>>> diff --git a/Documentation/devicetree/bindings/leds/leds-lp50xx.txt
    >>>> b/Documentation/devicetree/bindings/leds/leds-lp50xx.txt
    >>>> new file mode 100644
    >>>> index 000000000000..9d05f43042e0
    >>>> --- /dev/null
    >>>> +++ b/Documentation/devicetree/bindings/leds/leds-lp50xx.txt
    >>>> @@ -0,0 +1,148 @@
    >>>> +* Texas Instruments - LP5009/12/18/24/30/36 RGB LED driver
    >>>> +
    >>>> +The LP50XX is multi-channel, I2C RGB LED Drivers that can group RGB
    >>>> LEDs into
    >>>> +a LED group or control them individually.
    >>>> +
    >>>> +The difference in these RGB LED drivers is the number of supported
    >>>> RGB modules.
    >>>> +
    >>>> +Required parent properties:
    >>>> +    - compatible:
    >>>> +        "ti,lp5009"
    >>>> +        "ti,lp5012"
    >>>> +        "ti,lp5018"
    >>>> +        "ti,lp5024"
    >>>> +        "ti,lp5030"
    >>>> +        "ti,lp5036"
    >>>> +    - reg :  I2C slave address
    >>>> +        lp5009/12 - 0x28
    >>>> +        lp5018/24 - 0x28
    >>>> +        lp5030/36 - 0x30
    >>>> +    - #address-cells : 1
    >>>> +    - #size-cells : 0
    >>>> +
    >>>> +Optional parent properties:
    >>>> +    - enable-gpios : gpio pin to enable/disable the device.
    >>>> +    - vled-supply : LED supply
    >>>> +
    >>>> +Required child properties:
    >>>> +    - #address-cells : 1
    >>>> +    - #size-cells : 0
    >>>> +    - reg : This is the LED module number.
    >>>> +    - color : see Documentation/devicetree/bindings/leds/common.txt
    >>>> +    - function : see Documentation/devicetree/bindings/leds/common.txt
    >>>> +
    >>>> +Required child properties only is LED modules will be banked:
    >>>> +    - ti,led-bank : This property denotes the LED module numbers
    >>>> that will
    >>>> +            be controlled as a single RGB cluster.  Each LED module
    >>>> +            number will be controlled by a single LED class instance.
    >>>> +            There can only be one instance of the ti,led-bank
    >>>> +            property for each device node.
    >>>> +
    >>>> +Required grandchildren properties:
    >>>> +    - reg : A single entry denoting the LED module that controls
    >>>> +        the RGB cluster.
    >>>> +    - color : see
    >>>> Documentation/devicetree/bindings/leds/leds-multicolor.txt
    >>>> +    - led-sources : see
    >>>> Documentation/devicetree/bindings/leds/common.txt
    >>>> +
    >>>> +The LED outputs associated with the LED modules are defined in Table
    >>>> 1 of the
    >>>> +corresponding data sheets.
    >>> We must enclose this information here.
    >> That will make this doc pretty messy especially with the LP5036 entries.
    >>
    >> I would have to do ascii art to make it understandable and basically
    >> there is not a delta in the lesser devices in the outputs
    >>
    >> I don't see value in reproducing this data sheet contents in the
    >> dt-bindings.
    > IMO DT bindings should be self-contained. We cannot assume that
    > user will always have Internet access.
    >
    >> For example (LP5012) and then for the LP5036 multiply this by 3
    >>
    >> Table 1.
    >>
    >> Bank Number and LED Number Assignment
    >> OUT NUMBER BANK NUMBER  RGB LED MODULE NUMBER
    >> OUT0                    Bank A
    >> OUT1                    Bank B                        LED0
    >> OUT2                    Bank C
    >>
    >> OUT3                    Bank A
    >> OUT4                    Bank B                        LED1
    >> OUT5                    Bank C
    >>
    >> OUT6                    Bank A
    >> OUT7                    Bank B                        LED2
    >> OUT8                    Bank C
    >>
    >> OUT9 (LP5012 only) Bank A
    >> OUT10 (LP5012 only) Bank B                  LED3
    >> OUT11 (LP5012 only) Bank C
    >
    > I'd say it is required. But let's wait for DT guys' opinion.
    >
    Do you have an opinion on whether we need to publish in the DT the
    output to module map?

    This is the last item I have to fix before submitting v9.

    Dan


    >>>> +
    >>>> +LP5009 - 2 Total RGB cluster LED outputs 0-1
    >> This should be 3 total not 2
    >>
    >> Dan
    >>
    >>>> +LP5012 - 4 Total RGB cluster LED outputs 0-3
    >>>> +LP5018 - 6 Total RGB cluster LED outputs 0-5
    >>>> +LP5024 - 8 Total RGB cluster LED outputs 0-7
    >>>> +LP5030 - 10 Total RGB cluster LED outputs 0-9
    >>>> +LP5036 - 12 Total RGB cluster LED outputs 0-11
    >>>> +
    >>>> +Optional child properties:
    >>>> +    - label : see Documentation/devicetree/bindings/leds/common.txt
    >>>> +    - linux,default-trigger :
    >>>> +       see Documentation/devicetree/bindings/leds/common.txt
    >>>> +
    >>>> +Examples:
    >>>> +led-controller@29 {
    >>>> +    #address-cells = <1>;
    >>>> +    #size-cells = <0>;
    >>>> +    compatible = "ti,lp5024";
    >>>> +    reg = <0x29>;
    >>>> +    enable-gpios = <&gpio1 28 GPIO_ACTIVE_HIGH>;
    >>>> +    vled-supply = <&vmmcsd_fixed>;
    >>>> +
    >>>> +    multi-led@1 {
    >>>> +        #address-cells = <1>;
    >>>> +        #size-cells = <0>;
    >>>> +        reg = <1>;
    >>>> +        color = <LED_COLOR_ID_MULTI>;
    >>>> +        function = LED_FUNCTION_STATUS;
    >>>> +
    >>>> +        led@3 {
    >>>> +            reg = <3>;
    >>>> +            color = <LED_COLOR_ID_RED>;
    >>>> +        };
    >>>> +
    >>>> +        led@4 {
    >>>> +            reg = <4>;
    >>>> +            color = <LED_COLOR_ID_GREEN>;
    >>>> +        };
    >>>> +
    >>>> +        led@5 {
    >>>> +            reg = <5>;
    >>>> +            color = <LED_COLOR_ID_BLUE>;
    >>>> +        };
    >>>> +    };
    >>>> +
    >>>> +    multi-led@2 {
    >>>> +        #address-cells = <1>;
    >>>> +        #size-cells = <0>;
    >>>> +        reg = <2>;
    >>>> +        color = <LED_COLOR_ID_MULTI>;
    >>>> +        function = LED_FUNCTION_STANDBY;
    >>>> +        ti,led-bank = <2 3 5>;
    >>>> +
    >>>> +        led@6 {
    >>>> +            reg = <0x6>;
    >>>> +            color = <LED_COLOR_ID_RED>;
    >>>> +            led-sources = <6 9 15>;
    >>>> +        };
    >>>> +
    >>>> +        led@7 {
    >>>> +            reg = <0x7>;
    >>>> +            color = <LED_COLOR_ID_GREEN>;
    >>>> +            led-sources = <7 10 16>;
    >>>> +        };
    >>>> +
    >>>> +        led@8 {
    >>>> +            reg = <0x8>;
    >>>> +            color = <LED_COLOR_ID_BLUE>;
    >>>> +            led-sources = <8 11 17>;
    >>>> +        };
    >>>> +    };
    >>>> +
    >>>> +    multi-led@4 {
    >>>> +        #address-cells = <1>;
    >>>> +        #size-cells = <0>;
    >>>> +        reg = <4>;
    >>>> +        color = <LED_COLOR_ID_MULTI>;
    >>>> +        function = LED_FUNCTION_ACTIVITY;
    >>>> +
    >>>> +        led@12 {
    >>>> +            reg = <12>;
    >>>> +            color = <LED_COLOR_ID_RED>;
    >>>> +        };
    >>>> +
    >>>> +        led@13 {
    >>>> +            reg = <13>;
    >>>> +            color = <LED_COLOR_ID_GREEN>;
    >>>> +        };
    >>>> +
    >>>> +        led@14 {
    >>>> +            reg = <14>;
    >>>> +            color = <LED_COLOR_ID_BLUE>;
    >>>> +        };
    >>>> +    };
    >>>> +};
    >>>> +
    >>>> +For more product information please see the link below:
    >>>> +http://www.ti.com/lit/ds/symlink/lp5012.pdf
    >>>> +http://www.ti.com/lit/ds/symlink/lp5024.pdf
    >>>> +http://www.ti.com/lit/ds/symlink/lp5036.pdf
    >>>>

    \
     
     \ /
      Last update: 2019-09-24 16:48    [W:3.707 / U:0.008 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site