[PATCH v32 1/6] dt: bindings: lp50xx: Introduce the lp50xx family of RGB drivers

Dan Murphy dmurphy at ti.com
Tue Aug 4 15:55:06 EDT 2020


Pavel

On 7/28/20 8:39 AM, Dan Murphy wrote:
> Pavel
>
> On 7/22/20 10:31 AM, 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.
>
> Were you going to pull this in as a user of the Multicolor framework?
>
Gentle ping.  I saw you were going to push the Omnia these should be 
ready too


> Dan
>
>
>>
>> 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
>>
>> Reviewed-by: Rob Herring <robh at kernel.org>
>> Acked-by: Jacek Anaszewski <jacek.anaszewski at gmail.com>
>> Signed-off-by: Dan Murphy <dmurphy at ti.com>
>> ---
>>   .../devicetree/bindings/leds/leds-lp50xx.yaml | 130 ++++++++++++++++++
>>   1 file changed, 130 insertions(+)
>>   create mode 100644 
>> Documentation/devicetree/bindings/leds/leds-lp50xx.yaml
>>
>> diff --git a/Documentation/devicetree/bindings/leds/leds-lp50xx.yaml 
>> b/Documentation/devicetree/bindings/leds/leds-lp50xx.yaml
>> new file mode 100644
>> index 000000000000..b2dd1672f12a
>> --- /dev/null
>> +++ b/Documentation/devicetree/bindings/leds/leds-lp50xx.yaml
>> @@ -0,0 +1,130 @@
>> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
>> +%YAML 1.2
>> +---
>> +$id: http://devicetree.org/schemas/leds/leds-lp50xx.yaml#
>> +$schema: http://devicetree.org/meta-schemas/core.yaml#
>> +
>> +title: LED driver for LP50XX RGB LED from Texas Instruments.
>> +
>> +maintainers:
>> +  - Dan Murphy <dmurphy at ti.com>
>> +
>> +description: |
>> +  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.
>> +
>> +  For more product information please see the link below:
>>https://www.ti.com/lit/ds/symlink/lp5012.pdf
>>https://www.ti.com/lit/ds/symlink/lp5024.pdf
>>https://www.ti.com/lit/ds/symlink/lp5036.pdf
>> +
>> +properties:
>> +  compatible:
>> +    enum:
>> +      - ti,lp5009
>> +      - ti,lp5012
>> +      - ti,lp5018
>> +      - ti,lp5024
>> +      - ti,lp5030
>> +      - ti,lp5036
>> +
>> +  reg:
>> +    maxItems: 1
>> +    description:
>> +      I2C slave address
>> +      lp5009/12 - 0x14, 0x15, 0x16, 0x17
>> +      lp5018/24 - 0x28, 0x29, 0x2a, 0x2b
>> +      lp5030/36 - 0x30, 0x31, 0x32, 0x33
>> +
>> +  enable-gpios:
>> +    maxItems: 1
>> +    description: GPIO pin to enable/disable the device.
>> +
>> +  vled-supply:
>> +    description: LED supply.
>> +
>> +patternProperties:
>> +  '^multi-led@[0-9a-f]$':
>> +    type: object
>> +    allOf:
>> +      - $ref: leds-class-multicolor.yaml#
>> +    properties:
>> +      reg:
>> +        minItems: 1
>> +        maxItems: 12
>> +        description:
>> +          This property denotes the LED module number(s) that is 
>> used on the
>> +          for the child node.  The LED modules can either be used 
>> stand alone
>> +          or grouped into a module bank.
>> +
>> +    patternProperties:
>> +      "(^led-[0-9a-f]$|led)":
>> +        type: object
>> +        $ref: common.yaml#
>> +
>> +required:
>> +  - compatible
>> +  - reg
>> +
>> +examples:
>> +  - |
>> +   #include <dt-bindings/gpio/gpio.h>
>> +   #include <dt-bindings/leds/common.h>
>> +
>> +   i2c {
>> +       #address-cells = <1>;
>> +       #size-cells = <0>;
>> +
>> +       led-controller at 14 {
>> +           compatible = "ti,lp5009";
>> +           reg = <0x14>;
>> +           #address-cells = <1>;
>> +           #size-cells = <0>;
>> +           enable-gpios = <&gpio1 16>;
>> +
>> +           multi-led at 1 {
>> +               #address-cells = <1>;
>> +               #size-cells = <0>;
>> +               reg = <0x1>;
>> +               color = <LED_COLOR_ID_MULTI>;
>> +               function = LED_FUNCTION_CHARGING;
>> +
>> +               led-0 {
>> +                   color = <LED_COLOR_ID_RED>;
>> +               };
>> +
>> +               led-1 {
>> +                   color = <LED_COLOR_ID_GREEN>;
>> +               };
>> +
>> +               led-2 {
>> +                   color = <LED_COLOR_ID_BLUE>;
>> +               };
>> +          };
>> +
>> +          multi-led at 2 {
>> +            #address-cells = <1>;
>> +            #size-cells = <2>;
>> +            reg = <0x2 0x3 0x5>;
>> +            color = <LED_COLOR_ID_MULTI>;
>> +            function = LED_FUNCTION_STANDBY;
>> +
>> +            led-6 {
>> +              color = <LED_COLOR_ID_RED>;
>> +            };
>> +
>> +            led-7 {
>> +              color = <LED_COLOR_ID_GREEN>;
>> +            };
>> +
>> +            led-8 {
>> +              color = <LED_COLOR_ID_BLUE>;
>> +            };
>> +         };
>> +       };
>> +    };
>> +
>> +...



More information about the linux-arm-kernel mailing list