On 23/05/2022 17:37, Jean-Jacques Hiblot wrote: > > On 23/05/2022 17:30, Krzysztof Kozlowski wrote: >> 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? > > You could chain 1000 devices or more and have 16000 leds. It would be a > bit tedious to describe them all in the DTS though. > > We can impose a limit but it will be arbitrary. Is this how it is > usually treated ? 1000 is still less than billion, although above that number it probably does not make sense to have any limit. Best regards, Krzysztof