Re: [PATCH 1/3] dt-bindings: leds: Add bindings for the TLC5925 controller

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 23/05/2022 17:16, Jean-Jacques Hiblot wrote:
> 
> On 23/05/2022 12:14, Krzysztof Kozlowski wrote:
>> On 23/05/2022 10:49, Jean-Jacques Hiblot wrote:
>>> Add bindings documentation for the TLC5925 LED controller.
>>>
>>> Signed-off-by: Jean-Jacques Hiblot <jjhiblot@xxxxxxxxxxxxxxx>
>> Thank you for your patch. There is something to discuss/improve.
>>
>>> ---
>>> devicetree@xxxxxxxxxxxxxxx
>>>   .../bindings/leds/leds-tlc5925.yaml           | 100 ++++++++++++++++++
>>>   1 file changed, 100 insertions(+)
>>>   create mode 100644 Documentation/devicetree/bindings/leds/leds-tlc5925.yaml
>>>
>>> diff --git a/Documentation/devicetree/bindings/leds/leds-tlc5925.yaml b/Documentation/devicetree/bindings/leds/leds-tlc5925.yaml
>>> new file mode 100644
>>> index 000000000000..156db599d5a1
>>> --- /dev/null
>>> +++ b/Documentation/devicetree/bindings/leds/leds-tlc5925.yaml
>> Filename: vendor,device
>> so "ti,tlc5925-leds.yaml" for example.
>>
>>
>>
>>> @@ -0,0 +1,100 @@
>>> +# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
>>> +%YAML 1.2
>>> +---
>>> +$id: http://devicetree.org/schemas/leds/leds-tlc5925.yaml#
>>> +$schema: http://devicetree.org/meta-schemas/core.yaml#
>>> +
>>> +title: LEDs connected to TI TLC5925 controller
>>> +
>>> +maintainers:
>>> +  - Jean-Jacques Hiblot <jjhiblot@xxxxxxxxxxxxxxx>
>>> +
>>> +description: |
>>> +  The TLC5925 is a low-power 16-channel constant-current LED sink driver.
>>> +  It is controlled through a SPI interface.
>>> +  It is built around a shift register and latches which convert serial
>>> +  input data into a parallel output. Several TLC5925 can be chained to
>>> +  control more than 16 LEDs with a single chip-select.
>>> +  The brightness level cannot be controlled, each LED is either on or off.
>>> +
>>> +  Each LED is represented as a sub-node of the ti,tlc5925 device.
>>> +
>>> +properties:
>>> +  compatible:
>>> +    const: ti,tlc5925
>>> +
>>> +  shift_register_length:
>>> +    maxItems: 1
>> No...
>> 1. Did you test your bindings with dt_binding_check? This fails
>> obviously... please, do not send untested bindings.
>>
>> 2. vendor prefix, no underscores, proper type, maxItems look wrong here
>>
>>> +    description: |
>>> +      The length of the shift register. If several TLC5925 are chained,
>>> +      shift_register_length should be set to 16 times the number of TLC5925.
>>> +      The value must be a multiple of 8.
>>> +
>>> +  "#address-cells":
>>> +    const: 1
>>> +
>>> +  "#size-cells":
>>> +    const: 0
>>> +
>>> +  output-enable-b-gpios:
>>> +    description: |
>>> +      GPIO pins to enable/disable the parallel output. They describe the GPIOs
>>> +      connected to the OE/ pin of the TLC5925s.
>> maxItems
> 
> There is no limitation in the driver itself. The actual number of items 
> here really depends on the number of chips and how they are wired.

So you could daisy chain 4 billion of devices? Because by not using any
limit you claim that 4 billion is doable?

> 
>>
>>
>>> +
>>> +patternProperties:
>>> +  "@[a-f0-9]+$":
>> How many LEDs you can have here? Usually it is limited, so the pattern
>> should be narrowed.
> 
> There is no limitation here either. The chips can be chained to augment 
> the number of LEDs.
> 
> The max number of LED is equal to the length of the shift-register.



Best regards,
Krzysztof



[Index of Archives]     [Device Tree Compilter]     [Device Tree Spec]     [Linux Driver Backports]     [Video for Linux]     [Linux USB Devel]     [Linux PCI Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Yosemite Backpacking]


  Powered by Linux