1# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 2%YAML 1.2 3--- 4$id: http://devicetree.org/schemas/leds/leds-lp55xx.yaml# 5$schema: http://devicetree.org/meta-schemas/core.yaml# 6 7title: TI/National Semiconductor LP55xx and LP8501 LED Drivers 8 9maintainers: 10 - Jacek Anaszewski <jacek.anaszewski@gmail.com> 11 - Pavel Machek <pavel@ucw.cz> 12 13description: | 14 Bindings for the TI/National Semiconductor LP55xx and LP8501 multi channel 15 LED Drivers. 16 17 For more product information please see the link below: 18 https://www.ti.com/lit/gpn/lp5521 19 https://www.ti.com/lit/gpn/lp5523 20 https://www.ti.com/lit/gpn/lp55231 21 https://www.ti.com/lit/gpn/lp5562 22 https://www.ti.com/lit/gpn/lp8501 23 24properties: 25 compatible: 26 enum: 27 - national,lp5521 28 - national,lp5523 29 - ti,lp55231 30 - ti,lp5562 31 - ti,lp8501 32 33 reg: 34 maxItems: 1 35 description: I2C slave address 36 37 clock-mode: 38 $ref: /schemas/types.yaml#/definitions/uint8 39 description: | 40 Input clock mode 41 enum: 42 - 0 # automode 43 - 1 # internal 44 - 2 # external 45 46 enable-gpios: 47 maxItems: 1 48 description: | 49 GPIO attached to the chip's enable pin 50 51 label: true 52 53 pwr-sel: 54 $ref: /schemas/types.yaml#/definitions/uint8 55 description: | 56 LP8501 specific property. Power selection for output channels. 57 enum: 58 - 0 # D1~9 are connected to VDD 59 - 1 # D1~6 with VDD, D7~9 with VOUT 60 - 2 # D1~6 with VOUT, D7~9 with VDD 61 - 3 # D1~9 are connected to VOUT 62 63 '#address-cells': 64 const: 1 65 66 '#size-cells': 67 const: 0 68 69 ti,charge-pump-mode: 70 description: 71 Set the operating mode of the internal charge pump as defined in 72 <dt-bindings/leds/leds-lp55xx.h>. 73 $ref: /schemas/types.yaml#/definitions/uint32 74 default: 3 # auto 75 maximum: 3 76 77patternProperties: 78 '^multi-led@[0-8]$': 79 type: object 80 $ref: leds-class-multicolor.yaml# 81 unevaluatedProperties: false 82 83 properties: 84 reg: 85 maximum: 8 86 87 '#address-cells': 88 const: 1 89 90 '#size-cells': 91 const: 0 92 93 patternProperties: 94 "^led@[0-8]$": 95 type: object 96 $ref: common.yaml# 97 unevaluatedProperties: false 98 99 properties: 100 led-cur: 101 $ref: /schemas/types.yaml#/definitions/uint8 102 description: | 103 Current setting at each LED channel (mA x10, 0 if LED is not connected) 104 minimum: 0 105 maximum: 255 106 107 max-cur: 108 $ref: /schemas/types.yaml#/definitions/uint8 109 description: Maximun current at each LED channel. 110 111 reg: 112 maximum: 8 113 114 required: 115 - reg 116 117 "^led@[0-8]$": 118 type: object 119 $ref: common.yaml# 120 unevaluatedProperties: false 121 122 properties: 123 led-cur: 124 $ref: /schemas/types.yaml#/definitions/uint8 125 description: | 126 Current setting at each LED channel (mA x10, 0 if LED is not connected) 127 minimum: 0 128 maximum: 255 129 130 max-cur: 131 $ref: /schemas/types.yaml#/definitions/uint8 132 description: Maximun current at each LED channel. 133 134 reg: 135 description: | 136 Output channel for the LED. This is zero based channel identifier and 137 the data sheet is a one based channel identifier. 138 reg value to output to LED output number 139 enum: 140 - 0 # LED output D1 141 - 1 # LED output D2 142 - 2 # LED output D3 143 - 3 # LED output D4 144 - 4 # LED output D5 145 - 5 # LED output D6 146 - 6 # LED output D7 147 - 7 # LED output D8 148 - 8 # LED output D9 149 150 chan-name: 151 $ref: /schemas/types.yaml#/definitions/string 152 description: name of channel 153 154required: 155 - compatible 156 - reg 157 158additionalProperties: false 159 160examples: 161 - | 162 #include <dt-bindings/leds/common.h> 163 #include <dt-bindings/leds/leds-lp55xx.h> 164 165 i2c { 166 #address-cells = <1>; 167 #size-cells = <0>; 168 169 led-controller@32 { 170 #address-cells = <1>; 171 #size-cells = <0>; 172 compatible = "ti,lp8501"; 173 reg = <0x32>; 174 clock-mode = /bits/ 8 <2>; 175 pwr-sel = /bits/ 8 <3>; /* D1~9 connected to VOUT */ 176 ti,charge-pump-mode = <LP55XX_CP_BYPASS>; 177 178 led@0 { 179 reg = <0>; 180 chan-name = "d1"; 181 led-cur = /bits/ 8 <0x14>; 182 max-cur = /bits/ 8 <0x20>; 183 }; 184 185 led@1 { 186 reg = <1>; 187 chan-name = "d2"; 188 led-cur = /bits/ 8 <0x14>; 189 max-cur = /bits/ 8 <0x20>; 190 }; 191 192 led@2 { 193 reg = <2>; 194 chan-name = "d3"; 195 led-cur = /bits/ 8 <0x14>; 196 max-cur = /bits/ 8 <0x20>; 197 }; 198 199 led@3 { 200 reg = <3>; 201 chan-name = "d4"; 202 led-cur = /bits/ 8 <0x14>; 203 max-cur = /bits/ 8 <0x20>; 204 }; 205 206 led@4 { 207 reg = <4>; 208 chan-name = "d5"; 209 led-cur = /bits/ 8 <0x14>; 210 max-cur = /bits/ 8 <0x20>; 211 }; 212 213 led@5 { 214 reg = <5>; 215 chan-name = "d6"; 216 led-cur = /bits/ 8 <0x14>; 217 max-cur = /bits/ 8 <0x20>; 218 }; 219 220 led@6 { 221 reg = <6>; 222 chan-name = "d7"; 223 led-cur = /bits/ 8 <0x14>; 224 max-cur = /bits/ 8 <0x20>; 225 }; 226 227 led@7 { 228 reg = <7>; 229 chan-name = "d8"; 230 led-cur = /bits/ 8 <0x14>; 231 max-cur = /bits/ 8 <0x20>; 232 }; 233 234 led@8 { 235 reg = <8>; 236 chan-name = "d9"; 237 led-cur = /bits/ 8 <0x14>; 238 max-cur = /bits/ 8 <0x20>; 239 }; 240 }; 241 242 led-controller@33 { 243 #address-cells = <1>; 244 #size-cells = <0>; 245 compatible = "national,lp5523"; 246 reg = <0x33>; 247 clock-mode = /bits/ 8 <0>; 248 249 multi-led@2 { 250 #address-cells = <1>; 251 #size-cells = <0>; 252 reg = <0x2>; 253 color = <LED_COLOR_ID_RGB>; 254 function = LED_FUNCTION_STANDBY; 255 linux,default-trigger = "heartbeat"; 256 257 led@0 { 258 led-cur = /bits/ 8 <50>; 259 max-cur = /bits/ 8 <100>; 260 reg = <0x0>; 261 color = <LED_COLOR_ID_GREEN>; 262 }; 263 264 led@1 { 265 led-cur = /bits/ 8 <50>; 266 max-cur = /bits/ 8 <100>; 267 reg = <0x1>; 268 color = <LED_COLOR_ID_BLUE>; 269 }; 270 271 led@6 { 272 led-cur = /bits/ 8 <50>; 273 max-cur = /bits/ 8 <100>; 274 reg = <0x6>; 275 color = <LED_COLOR_ID_RED>; 276 }; 277 }; 278 }; 279 }; 280 281... 282