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