Documentation / devicetree / bindings / leds / leds-lp50xx.yaml


Based on kernel version 6.8. Page generated on 2024-03-11 21:26 EST.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159
# 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:
  - Andrew Davis <afd@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.
 
  '#address-cells':
    const: 1
 
  '#size-cells':
    const: 0

patternProperties:
  '^multi-led@[0-9a-f]$':
    type: object
    $ref: leds-class-multicolor.yaml#
    unevaluatedProperties: false

    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.
 
      '#address-cells':
        const: 1
 
      '#size-cells':
        const: 0

    patternProperties:
      "^led@[0-9a-f]+$":
        type: object
        $ref: common.yaml#
        unevaluatedProperties: false

        properties:
          reg:
            maxItems: 1

        required:
          - reg

required:
  - compatible
  - reg

additionalProperties: false

examples:
  - |
    #include <dt-bindings/gpio/gpio.h>
    #include <dt-bindings/leds/common.h>
 
    i2c {
        #address-cells = <1>;
        #size-cells = <0>;
 
        led-controller@14 {
            compatible = "ti,lp5009";
            reg = <0x14>;
            #address-cells = <1>;
            #size-cells = <0>;
            enable-gpios = <&gpio1 16>;
 
            multi-led@1 {
                #address-cells = <1>;
                #size-cells = <0>;
                reg = <0x1>;
                color = <LED_COLOR_ID_RGB>;
                function = LED_FUNCTION_CHARGING;
 
                led@0 {
                     reg = <0x0>;
                     color = <LED_COLOR_ID_RED>;
                };
 
                led@1 {
                     reg = <0x1>;
                     color = <LED_COLOR_ID_GREEN>;
                };
 
                led@2 {
                     reg = <0x2>;
                     color = <LED_COLOR_ID_BLUE>;
                };
            };
 
            multi-led@3 {
                #address-cells = <1>;
                #size-cells = <0>;
                reg = <0x3>, <0x4>, <0x5>;
                color = <LED_COLOR_ID_RGB>;
                function = LED_FUNCTION_STANDBY;
 
                led@3 {
                    reg = <0x3>;
                    color = <LED_COLOR_ID_RED>;
                };
 
                led@4 {
                    reg = <0x4>;
                    color = <LED_COLOR_ID_GREEN>;
                };
 
                led@5 {
                    reg = <0x5>;
                    color = <LED_COLOR_ID_BLUE>;
                };
            };
        };
    };

...