Messages in this thread | | | Date | Mon, 23 May 2022 17:37:49 +0200 | Subject | Re: [PATCH 1/3] dt-bindings: leds: Add bindings for the TLC5925 controller | From | Jean-Jacques Hiblot <> |
| |
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@traphandler.com> >>> Thank you for your patch. There is something to discuss/improve. >>> >>>> --- >>>> devicetree@vger.kernel.org >>>> .../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@traphandler.com> >>>> + >>>> +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 ?
>>> >>>> + >>>> +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
| |