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@xxxxxx> >>> --- >>> .../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. >>> + >>> +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 >>> > -- Best regards, Jacek Anaszewski