Linux LED subsystem development
 help / color / mirror / Atom feed
From: Jean-Jacques Hiblot <jjhiblot@traphandler.com>
To: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>,
	Pavel Machek <pavel@ucw.cz>, Rob Herring <robh+dt@kernel.org>,
	Krzysztof Kozlowski <krzk+dt@kernel.org>
Cc: <linux-leds@vger.kernel.org>, <devicetree@vger.kernel.org>,
	<linux-kernel@vger.kernel.org>
Subject: Re: [PATCH 1/3] dt-bindings: leds: Add bindings for the TLC5925 controller
Date: Mon, 23 May 2022 17:37:49 +0200	[thread overview]
Message-ID: <bcf87cc8-85dc-efd6-1076-91e56ec4286c@traphandler.com> (raw)
In-Reply-To: <4f766cdb-a33b-2470-5b2e-3945c821ce6c@linaro.org>


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

  reply	other threads:[~2022-05-23 15:37 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <20220523084958.2723943-1-jjhiblot@traphandler.com>
2022-05-23  8:49 ` [PATCH 1/3] dt-bindings: leds: Add bindings for the TLC5925 controller Jean-Jacques Hiblot
2022-05-23 10:14   ` Krzysztof Kozlowski
2022-05-23 13:07     ` Jean-Jacques Hiblot
2022-05-23 15:16     ` Jean-Jacques Hiblot
2022-05-23 15:30       ` Krzysztof Kozlowski
2022-05-23 15:37         ` Jean-Jacques Hiblot [this message]
2022-05-23 15:39           ` Krzysztof Kozlowski
2022-05-23 12:33   ` Rob Herring
2022-05-23 20:05   ` Pavel Machek
2022-05-23  8:49 ` [PATCH 2/3] leds: Add driver for the TLC5925 LED controller Jean-Jacques Hiblot
2022-05-23  8:49 ` [PATCH 3/3] leds: tlc5925: Add support for non blocking operations Jean-Jacques Hiblot

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=bcf87cc8-85dc-efd6-1076-91e56ec4286c@traphandler.com \
    --to=jjhiblot@traphandler.com \
    --cc=devicetree@vger.kernel.org \
    --cc=krzk+dt@kernel.org \
    --cc=krzysztof.kozlowski@linaro.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-leds@vger.kernel.org \
    --cc=pavel@ucw.cz \
    --cc=robh+dt@kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox