[PATCH v2 1/2] dt-bindings: backlight: Add Texas Instruments LM3509

Krzysztof Kozlowski krzysztof.kozlowski at linaro.org
Sat Mar 9 11:53:02 UTC 2024


On 08/03/2024 22:50, Patrick Gansterer wrote:
> Add Device Tree bindings for Texas Instruments LM3509 - a
> High Efficiency Boost for White LED's and/or OLED Displays
> 
> Signed-off-by: Patrick Gansterer <paroga at paroga.com>

Thank you for your patch. There is something to discuss/improve.


> +  compatible:
> +    const: ti,lm3509
> +
> +  reg:
> +    maxItems: 1
> +
> +  "#address-cells":
> +    const: 1
> +
> +  "#size-cells":
> +    const: 0
> +
> +  reset-gpios:
> +    maxItems: 1
> +
> +  ti,brightness-rate-of-change-us:
> +    description: Brightness Rate of Change in microseconds.
> +    enum: [51, 13000, 26000, 52000]
> +
> +  ti,oled-mode:
> +    description: Enable OLED mode.
> +    type: boolean
> +
> +required:

required: goes after all properties.

> +  - compatible
> +  - reg
> +
> +patternProperties:
> +  "^led@[01]$":
> +    type: object
> +    description: Properties for a string of connected LEDs.

Are you sure this is a string of LEDs? How does a string/tape work with
a backlight, I mean physically? How could it look like?

> +
> +    allOf:
> +      - $ref: common.yaml#
> +
> +    properties:
> +      reg:
> +        description:
> +          The control register that is used to program the two current sinks.
> +          The LM3509 has two registers (BMAIN and BSUB) and are represented
> +          as 0 or 1 in this property. The two current sinks can be controlled
> +          independently with both registers, or register BMAIN can be
> +          configured to control both sinks with the led-sources property.
> +        minimum: 0
> +        maximum: 1
> +
> +      label:
> +        maxItems: 1

It's a string, not string-array, so maxItems are not needed, just ":true".


> +
> +      led-sources:
> +        allOf:
> +          - minItems: 1
> +            maxItems: 2
> +            items:
> +              minimum: 0
> +              maximum: 1
> +
> +      default-brightness:
> +        minimum: 0
> +        maximum: 31

Not a required property? Then "default:".
> +
> +      max-brightness:
> +        minimum: 0
> +        maximum: 31

Some of your examples miss it, so there is some kind of default. Add it.
> +
> +    required:
> +      - reg
> +
> +    unevaluatedProperties: false
> +
> +unevaluatedProperties: false

You rewrote everything, so my previous comment obviously does not make
sense in such case. This must be additionalProperties: false. Look at
other bindings or example-schema how it is done (to repeat myself).

> +
> +examples:
> +  - |
> +    #include <dt-bindings/gpio/gpio.h>
> +    i2c {
> +        #address-cells = <1>;
> +        #size-cells = <0>;
> +
> +        backlight at 36 {
> +            compatible = "ti,lm3509";
> +            reg = <0x36>;
> +            reset-gpios = <&gpio2 5 GPIO_ACTIVE_LOW>;
> +
> +            ti,oled-mode;
> +            ti,brightness-rate-of-change-us = <52000>;
> +
> +            #address-cells = <1>;
> +            #size-cells = <0>;
> +
> +            led at 0 {


Best regards,
Krzysztof



More information about the dri-devel mailing list