[PATCH 1/2] dt-bindings: backlight: Convert LP8860 into YAML format adding LP886x
Andrew Davis
afd at ti.com
Fri Dec 6 17:43:59 UTC 2024
On 12/6/24 11:14 AM, Conor Dooley wrote:
> On Fri, Dec 06, 2024 at 06:07:12PM +0100, A. Sverdlin wrote:
>> From: Alexander Sverdlin <alexander.sverdlin at siemens.com>
>>
>> Add Texas Instruments' LP8864/LP8866 bindings into LP8860 converting them
>> into YAML format simultaneously. While here, drop the index of the "led"
>> subnode, this one is neither used nor mandated by the drivers. All the
>> *-cells properties are therefore not required.
>
The index isn't needed, but we should still allow for multiple child
LED nodes. The usual way to do this is with node names led-0, led-1, etc..
See here for the usual patternProperties for that:
https://www.kernel.org/doc/Documentation/devicetree/bindings/leds/leds-pwm.yaml
> Are you sure this is a correct thing to do? The lp8860-q1 product link
> cites it as being a 4-channel device. Even if the kernel only ever
> supports it as a single-channel device, the binding should reflect what
> it is capable of doing.
>
Agree, the driver today just checks the first child node, but it could
be extended for all 4 supported LED channels, and we shouldn't have
to change the binding for that new support.
Andrew
> Cheers,
> Conor.
>
>>
>> Move the file into backlight directory because all of the LP886x drivers
>> are special backlight products.
>>
>> Signed-off-by: Alexander Sverdlin <alexander.sverdlin at siemens.com>
>> ---
>> .../bindings/leds/backlight/ti,lp8860.yaml | 86 +++++++++++++++++++
>> .../devicetree/bindings/leds/leds-lp8860.txt | 50 -----------
>> 2 files changed, 86 insertions(+), 50 deletions(-)
>> create mode 100644 Documentation/devicetree/bindings/leds/backlight/ti,lp8860.yaml
>> delete mode 100644 Documentation/devicetree/bindings/leds/leds-lp8860.txt
>>
>> diff --git a/Documentation/devicetree/bindings/leds/backlight/ti,lp8860.yaml b/Documentation/devicetree/bindings/leds/backlight/ti,lp8860.yaml
>> new file mode 100644
>> index 0000000000000..3ece2f6fc3f02
>> --- /dev/null
>> +++ b/Documentation/devicetree/bindings/leds/backlight/ti,lp8860.yaml
>> @@ -0,0 +1,86 @@
>> +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
>> +%YAML 1.2
>> +---
>> +$id: http://devicetree.org/schemas/leds/backlight/ti,lp8860.yaml#
>> +$schema: http://devicetree.org/meta-schemas/core.yaml#
>> +
>> +title: Texas Instruments - LP886x 4/6-Channel LED Driver family
>> +
>> +maintainers:
>> + - Andrew Davis <afd at ti.com>
>> + - Alexander Sverdlin <alexander.sverdlin at siemens.com>
>> +
>> +description: |
>> + The LP8860-Q1 is an high-efficiency LED driver with boost controller.
>> + It has 4 high-precision current sinks that can be controlled by a PWM input
>> + signal, a SPI/I2C master, or both.
>> +
>> + LP8866-Q1, LP8866S-Q1, LP8864-Q1, LP8864S-Q1 are newer products offering
>> + similar functionality with 4/6 channels.
>> +
>> + For more product information please see the links below:
>> + https://www.ti.com/product/lp8860-q1
>> + https://www.ti.com/product/LP8864-Q1
>> + https://www.ti.com/product/LP8864S-Q1
>> + https://www.ti.com/product/LP8866-Q1
>> + https://www.ti.com/product/LP8866S-Q1
>> +
>> +properties:
>> + compatible:
>> + enum:
>> + - ti,lp8860
>> + - ti,lp8864
>> +
>> + reg:
>> + maxItems: 1
>> + description: I2C slave address
>> +
>> + enable-gpios:
>> + maxItems: 1
>> + description: GPIO pin to enable (active high) / disable the device
>> +
>> + vled-supply:
>> + description: LED supply
>> +
>> + led:
>> + type: object
>> + $ref: common.yaml#
>> + properties:
>> + function: true
>> + color: true
>> + label: true
>> + linux,default-trigger: true
>> +
>> + additionalProperties: false
>> +
>> +required:
>> + - compatible
>> + - reg
>> + - led
>> +
>> +additionalProperties: false
>> +
>> +examples:
>> + - |
>> + #include <dt-bindings/gpio/gpio.h>
>> + #include <dt-bindings/leds/common.h>
>> +
>> + i2c {
>> + #address-cells = <1>;
>> + #size-cells = <0>;
>> +
>> + led-controller at 2d {
>> + compatible = "ti,lp8860";
>> + reg = <0x2d>;
>> + enable-gpios = <&gpio1 28 GPIO_ACTIVE_HIGH>;
>> + vled-supply = <&vbatt>;
>> +
>> + led {
>> + function = LED_FUNCTION_BACKLIGHT;
>> + color = <LED_COLOR_ID_WHITE>;
>> + linux,default-trigger = "backlight";
>> + };
>> + };
>> + };
>> +
>> +...
>> diff --git a/Documentation/devicetree/bindings/leds/leds-lp8860.txt b/Documentation/devicetree/bindings/leds/leds-lp8860.txt
>> deleted file mode 100644
>> index 8bb25749a3da3..0000000000000
>> --- a/Documentation/devicetree/bindings/leds/leds-lp8860.txt
>> +++ /dev/null
>> @@ -1,50 +0,0 @@
>> -* Texas Instruments - lp8860 4-Channel LED Driver
>> -
>> -The LP8860-Q1 is an high-efficiency LED
>> -driver with boost controller. It has 4 high-precision
>> -current sinks that can be controlled by a PWM input
>> -signal, a SPI/I2C master, or both.
>> -
>> -Required properties:
>> - - compatible :
>> - "ti,lp8860"
>> - - reg : I2C slave address
>> - - #address-cells : 1
>> - - #size-cells : 0
>> -
>> -Optional properties:
>> - - enable-gpios : gpio pin to enable (active high)/disable the device.
>> - - vled-supply : LED supply
>> -
>> -Required child properties:
>> - - reg : 0
>> -
>> -Optional child properties:
>> - - function : see Documentation/devicetree/bindings/leds/common.txt
>> - - color : see Documentation/devicetree/bindings/leds/common.txt
>> - - label : see Documentation/devicetree/bindings/leds/common.txt (deprecated)
>> - - linux,default-trigger :
>> - see Documentation/devicetree/bindings/leds/common.txt
>> -
>> -Example:
>> -
>> -#include <dt-bindings/leds/common.h>
>> -
>> -led-controller at 2d {
>> - compatible = "ti,lp8860";
>> - #address-cells = <1>;
>> - #size-cells = <0>;
>> - reg = <0x2d>;
>> - enable-gpios = <&gpio1 28 GPIO_ACTIVE_HIGH>;
>> - vled-supply = <&vbatt>;
>> -
>> - led at 0 {
>> - reg = <0>;
>> - function = LED_FUNCTION_BACKLIGHT;
>> - color = <LED_COLOR_ID_WHITE>;
>> - linux,default-trigger = "backlight";
>> - };
>> -}
>> -
>> -For more product information please see the link below:
>> -https://www.ti.com/product/lp8860-q1
>> --
>> 2.47.1
>>
More information about the dri-devel
mailing list