[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <2d1893a8-81eb-4d7e-81df-060722c10c7d@kernel.org>
Date: Wed, 7 Jan 2026 11:57:39 +0100
From: Krzysztof Kozlowski <krzk@...nel.org>
To: "Escala, Edelweise" <Edelweise.Escala@...log.com>
Cc: Lee Jones <lee@...nel.org>, Pavel Machek <pavel@...nel.org>,
Rob Herring <robh@...nel.org>, Krzysztof Kozlowski <krzk+dt@...nel.org>,
Conor Dooley <conor+dt@...nel.org>,
"linux-leds@...r.kernel.org" <linux-leds@...r.kernel.org>,
"devicetree@...r.kernel.org" <devicetree@...r.kernel.org>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>
Subject: Re: [PATCH 1/2] dt-bindings: leds: Document LTC3220 18 channel LED
Driver
On 07/01/2026 10:52, Escala, Edelweise wrote:
>>
>>> +
>>> + adi,force-cpo-level:
>>> + $ref: /schemas/types.yaml#/definitions/string
>>> + description: Forces the Charge Pump Output to a specified multiplier.
>>> + enum:
>>> + - "0" # Auto(default) - Automatically selects optimal charge pump mode
>>> + - "1.5"
>>> + - "2"
>>> + - "1"
>>
>> Numbers are not a string, so choose appropriate number format. Also, oddly
>> sorted. I don't understand what this property is for so not sure what to
>> recommend.
>
> It is arranged this way to match the value for the register.
Makes no sense. The order here does not matter for driver and registers
at all.
> I plan to keep it as string and just do
> enum:
> - auto
> - 1.5x
> - 2x
> - 1x
Still wrongly ordered and still I do not understand the purpose of this
property.
Datasheet mentions some sort of impedance. Impedance has units (see
property units in dtschema), but you call it "level". Maybe you want to
achieve some specific current on output? But for current we already have
LED related properties.
Also, "auto" is redundant unless lack of the property has a meaning?
Why exactly this varies between boards?
>
>>
>>> + default: "0"
>>> +
>>> + adi,quick-write:
>>> + type: boolean
>>> + description: If present, LED 1 output becomes a master control that
>>> + simultaneously updates all 18 LED outputs using the hardware's quick-
>> write
>>> + mode. When enabled, led@1 must be defined in the device tree to
>> provide
>>> + the control interface, even if no physical LED is connected to the D1
>>> + output pin. When disabled or not present, LED 1 operates as a normal
>>> + independent LED output.
>>
>> If there is no led@1 physically, you cannot add it to the DT. It seems you
>> described some sort of driver behavior, instead of hardware.
>>
>
> This is also a hardware feature, when enabled a write to the LED 1
> output register simultaneously updates all 18 LED output registers
> to the same value.
You still cannot add fake nodes to DT. Fake means there is no actual LED.
Best regards,
Krzysztof
Powered by blists - more mailing lists