Message ID | 20250220-v6-14-topic-ti-lp5860-v1-1-42874bdc7513@pengutronix.de |
---|---|
State | New |
Headers | show |
Series | LED: Add basic LP5860 LED matrix driver | expand |
On Thu, Feb 20, 2025 at 01:57:56PM +0100, Steffen Trumtrar wrote: > The lp5860 is a LED matrix driver with 18 constant current sinks and 11 > scan switches for 198 LED dots: > * Supply range from 2.7 V to 5.5 V > * 0.1mA - 50mA per current sink > * 1MHz I2C and 12MHz SPI control interface > * 8-bit analog dimming > * 8/16-bit PWM dimming > * individual ON and OFF control for each LED dot > * globat 3-bit Maximum Current setting for all LED dots > * individual LED dot open/short detection > > Signed-off-by: Steffen Trumtrar <s.trumtrar@pengutronix.de> > --- > .../devicetree/bindings/leds/leds-lp5860.yaml | 112 +++++++++++++++++++++ > 1 file changed, 112 insertions(+) > > diff --git a/Documentation/devicetree/bindings/leds/leds-lp5860.yaml b/Documentation/devicetree/bindings/leds/leds-lp5860.yaml > new file mode 100644 > index 0000000000000000000000000000000000000000..a4e39fd843f3f260ee9c1103e2cb27dcb230608c > --- /dev/null > +++ b/Documentation/devicetree/bindings/leds/leds-lp5860.yaml > @@ -0,0 +1,112 @@ > +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) > +%YAML 1.2 > +--- > +$id: http://devicetree.org/schemas/leds/leds-lp5860.yaml# > +$schema: http://devicetree.org/meta-schemas/core.yaml# > + > +title: LED driver for LP5860 RGB LED from Texas Instruments. > + > +maintainers: > + - Steffen Trumtrar <kernel@pengutronix.de> > + > +description: | > + The LP5860 is multi-channel, I2C and SPI RGB LED Driver that can group RGB LEDs > + into a LED group or control them individually. > + > + For more product information please see the link below: > + https://www.ti.com/lit/ds/symlink/lp5860.pdf > + > +properties: > + compatible: > + enum: > + - ti,lp5860 > + > + reg: > + maxItems: 1 > + > + spi-max-frequency: > + maximum: 12000000 > + > + '#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 > + for the child node. I'm not really sure what you're attmpting here with the minItems: 1, maxItems: 12. Are you sure you didn't mean maxItems: 1, minimum: 1, maximum: 12?
diff --git a/Documentation/devicetree/bindings/leds/leds-lp5860.yaml b/Documentation/devicetree/bindings/leds/leds-lp5860.yaml new file mode 100644 index 0000000000000000000000000000000000000000..a4e39fd843f3f260ee9c1103e2cb27dcb230608c --- /dev/null +++ b/Documentation/devicetree/bindings/leds/leds-lp5860.yaml @@ -0,0 +1,112 @@ +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/leds/leds-lp5860.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: LED driver for LP5860 RGB LED from Texas Instruments. + +maintainers: + - Steffen Trumtrar <kernel@pengutronix.de> + +description: | + The LP5860 is multi-channel, I2C and SPI RGB LED Driver that can group RGB LEDs + into a LED group or control them individually. + + For more product information please see the link below: + https://www.ti.com/lit/ds/symlink/lp5860.pdf + +properties: + compatible: + enum: + - ti,lp5860 + + reg: + maxItems: 1 + + spi-max-frequency: + maximum: 12000000 + + '#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 + for the child node. + + '#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> + + spi { + #address-cells = <1>; + #size-cells = <0>; + + led-controller@0 { + compatible = "ti,lp5860"; + reg = <0x0>; + #address-cells = <1>; + #size-cells = <0>; + + multi-led@0 { + #address-cells = <1>; + #size-cells = <0>; + reg = <0x0>; + color = <LED_COLOR_ID_RGB>; + + 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>; + }; + }; + }; + };
The lp5860 is a LED matrix driver with 18 constant current sinks and 11 scan switches for 198 LED dots: * Supply range from 2.7 V to 5.5 V * 0.1mA - 50mA per current sink * 1MHz I2C and 12MHz SPI control interface * 8-bit analog dimming * 8/16-bit PWM dimming * individual ON and OFF control for each LED dot * globat 3-bit Maximum Current setting for all LED dots * individual LED dot open/short detection Signed-off-by: Steffen Trumtrar <s.trumtrar@pengutronix.de> --- .../devicetree/bindings/leds/leds-lp5860.yaml | 112 +++++++++++++++++++++ 1 file changed, 112 insertions(+)