dt-bindings: leds: Add LED1202 LED Controller
Subsystems (2)
PATCH 1/2 dt-bindings: leds: Add LED1202 LED Controller
The LED1202 is a 12-channel low quiescent current LED driver with:
* Supply range from 2.6 V to 5 V
* 20 mA current capability per channel
* 1.8 V compatible I2C control interface
* 8-bit analog dimming individual control
* 12-bit local PWM resolution
* 8 programmable patterns
Signed-off-by Vicentiu Galanopulo <[email protected]>
--- .../devicetree/bindings/leds/st,led1202.yml | 135 ++++++++++++++++++ 1 file changed, 135 insertions(+) create mode 100644 Documentation/devicetree/bindings/leds/st,led1202.yml
Documentation/devicetree/bindings/leds/st,led1202.yml new file +135 -0
@@ -0,0 +1,135 @@ +# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/leds/st,led1202.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: ST LED1202 LED controllers + +maintainers: + - Vicentiu Galanopulo <[email protected]> + +description: + The LED1202 is a 12-channel low quiescent current LED controller + programmable via I2C; The output current can be adjusted separately + for each channel by 8-bit analog and 12-bit digital dimming control. + + Datasheet available at + https://www.st.com/en/power-management/led1202.html + +properties: + compatible: + enum: + - st,led1202 + + reg: + maxItems: 1 + + "#address-cells": + const: 1 + + "#size-cells": + const: 0 + +patternProperties: + "^led@[0-9a-f]+$": + type: object + $ref: common.yaml# + unevaluatedProperties: false + + properties: + reg: + minimum: 0 + maximum: 11 + + required: + - reg + +additionalProperties: true + +examples: + - | + #include <dt-bindings/leds/common.h> + + i2c { + #address-cells = <1>; + #size-cells = <0>; + + led-controller@58 { + compatible = "st,led1202"; + reg = <0x58>; + address-cells = <1>; + size-cells = <0>; + + led@0 { + reg = <0>; + label = "led1_r"; + active = <1>; + }; + + led@1 { + reg = <1>; + label = "led1_g"; + active = <1>; + }; + + led@2 { + reg = <2>; + label = "led1_b"; + active = <1>; + }; + + led@3 { + reg = <3>; + label = "led2_r"; + active = <1>; + }; + + led@4 { + reg = <4>; + label = "led2_g"; + active = <1>; + }; + + led@5 { + reg = <5>; + label = "led2_b"; + active = <1>; + }; + + led@6 { + reg = <6>; + label = "led3_r"; + active = <1>; + }; + + led@7 { + reg = <7>; + label = "led3_g"; + active = <1>; + }; + + led@8 { + reg = <8>; + label = "led3_b"; + active = <1>; + }; + + led@9 { + reg = <9>; + active = <0>; + }; + + led@a { + reg = <10>; + active = <0>; + }; + + led@b { + reg = <11>; + active = <0>; + }; + }; + }; + +...
Signature · 1 line
2.25.1
Quoted 5 lines · Vicentiu Galanopulo
Documentation/devicetree/bindings/leds/st,led1202.yml new file +5
-0+patternProperties: + "^led@[0-9a-f]+$": + type: object + $ref: common.yaml# + unevaluatedProperties: false
Documentation/devicetree/bindings/leds/st,led1202.yml line 48
Quoted 10 lines
Documentation/devicetree/bindings/leds/st,led1202.yml new file +10
-0+ + properties: + reg: + minimum: 0 + maximum: 11 + + required: + - reg + +additionalProperties: true
This must be false. You can use other bindings as reference: none of final device schemas have here true.
Quoted 8 lines
Documentation/devicetree/bindings/leds/st,led1202.yml new file +8
-0+ +examples: + - | + #include <dt-bindings/leds/common.h> + + i2c { + #address-cells = <1>; + #size-cells = <0>;
Documentation/devicetree/bindings/leds/st,led1202.yml line 66
Quoted 10 lines
Documentation/devicetree/bindings/leds/st,led1202.yml new file +10
-0+ + led-controller@58 { + compatible = "st,led1202"; + reg = <0x58>; + address-cells = <1>; + size-cells = <0>; + + led@0 { + reg = <0>; + label = "led1_r";
No, use color and function instead.
Quoted 1 line
+ active = <1>;
What's that?
Best regards,
Krzysztof