linux-leds.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Dan Murphy <dmurphy@ti.com>
To: Jacek Anaszewski <jacek.anaszewski@gmail.com>, <pavel@ucw.cz>,
	Rob Herring <robh+dt@kernel.org>
Cc: <linux-leds@vger.kernel.org>, <linux-kernel@vger.kernel.org>,
	"devicetree@vger.kernel.org" <devicetree@vger.kernel.org>
Subject: Re: [PATCH v8 7/9] dt: bindings: lp50xx: Introduce the lp50xx family of RGB drivers
Date: Tue, 24 Sep 2019 09:52:39 -0500	[thread overview]
Message-ID: <5c1091b6-788e-79b2-a6ac-911401b58ed3@ti.com> (raw)
In-Reply-To: <6788e600-460a-7846-04d0-480268e674a1@gmail.com>

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
>>>>

  reply	other threads:[~2019-09-24 14:47 UTC|newest]

Thread overview: 35+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-09-20 17:41 [PATCH v8 0/9] Multicolor FW v8 update Dan Murphy
2019-09-20 17:41 ` [PATCH v8 1/9] leds: multicolor: Add sysfs interface definition Dan Murphy
2019-09-21 10:55   ` Jacek Anaszewski
2019-09-23 14:23     ` Dan Murphy
2019-09-20 17:41 ` [PATCH v8 2/9] documention: leds: Add multicolor class documentation Dan Murphy
2019-09-21 12:28   ` Jacek Anaszewski
2019-09-23 14:50     ` Dan Murphy
2019-09-23 21:21       ` Jacek Anaszewski
2019-09-20 17:41 ` [PATCH v8 3/9] dt: bindings: Add multicolor class dt bindings documention Dan Murphy
2019-09-21 12:57   ` Jacek Anaszewski
2019-09-23 14:52     ` Dan Murphy
2019-09-20 17:41 ` [PATCH v8 4/9] dt-bindings: leds: Add multicolor ID to the color ID list Dan Murphy
2019-09-21 12:58   ` Jacek Anaszewski
2019-09-20 17:41 ` [PATCH v8 5/9] " Dan Murphy
2019-09-21 12:59   ` Jacek Anaszewski
2019-09-20 17:41 ` [PATCH v8 6/9] leds: multicolor: Introduce a multicolor class definition Dan Murphy
2019-09-21 13:30   ` Jacek Anaszewski
2019-09-23 15:14     ` Dan Murphy
2019-09-23 21:36       ` Jacek Anaszewski
2019-09-21 18:08   ` Jacek Anaszewski
2019-09-23 15:11     ` Dan Murphy
2019-09-20 17:41 ` [PATCH v8 7/9] dt: bindings: lp50xx: Introduce the lp50xx family of RGB drivers Dan Murphy
2019-09-21 15:13   ` Jacek Anaszewski
2019-09-23 15:28     ` Dan Murphy
2019-09-23 21:42       ` Jacek Anaszewski
2019-09-24 14:52         ` Dan Murphy [this message]
2019-09-20 17:41 ` [PATCH v8 8/9] leds: lp50xx: Add the LP50XX family of the RGB LED driver Dan Murphy
2019-09-21 15:11   ` Jacek Anaszewski
2019-09-23 17:56     ` Dan Murphy
2019-09-23 21:59       ` Jacek Anaszewski
2019-09-20 17:41 ` [PATCH v8 9/9] leds: Update the lp55xx to use the multi color framework Dan Murphy
2019-09-21 18:06   ` Jacek Anaszewski
     [not found]     ` <b3ba9d9f-5267-8184-e858-e09b4debcdb6@ti.com>
2019-09-23 22:13       ` Jacek Anaszewski
2019-09-22  8:29   ` kbuild test robot
2019-09-20 17:44 ` [PATCH v8 0/9] Multicolor FW v8 update Randy Dunlap

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=5c1091b6-788e-79b2-a6ac-911401b58ed3@ti.com \
    --to=dmurphy@ti.com \
    --cc=devicetree@vger.kernel.org \
    --cc=jacek.anaszewski@gmail.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-leds@vger.kernel.org \
    --cc=pavel@ucw.cz \
    --cc=robh+dt@kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).