Re: [PATCH 1/2] dt-bindings: leds: add Texas Instruments TPS6131x flash LED driver

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 10/03/2025 09:40, Matthias Fend wrote:
> Hi Krzysztof,
> 
> thanks for your review.
> 
> Am 10.03.2025 um 08:49 schrieb Krzysztof Kozlowski:
>> On 28/02/2025 11:31, Matthias Fend wrote:
>>> +
>>> +properties:
>>> +  compatible:
>>> +    enum:
>>> +      - ti,tps61310
>>> +      - ti,tps61311
>>> +
>>> +  reg:
>>> +    maxItems: 1
>>> +
>>> +  '#address-cells':
>>> +    const: 1
>>> +
>>> +  '#size-cells':
>>> +    const: 0
>>
>> Why do you need these two?
> 
> As a template, I also used recently added bindings 
> (silergy,sy7802.yaml). These entries come from there, but as I 
> understand it, they are supposed to be removed, right?

They make no sense based on the bindings.

> 
>>
>>> +
>>> +  reset-gpios:
>>> +    maxItems: 1
>>> +    description: GPIO connected to NRESET pin
>>> +
>>> +  ti,valley-current-limit:
>>> +    type: boolean
>>> +    description:
>>> +      Reduce the valley peak current limit from 1750mA to 1250mA (TPS61310) or
>>> +      from 2480mA to 1800mA (TPS61311).
>>> +
>>> +  led:
>>
>> Why do you have only one led node? Description says three: LED1-3,
>> unless these are just sinks which always have to be connected to the
>> same LED?
> 
> That is basically correct. If you just want to switch the 3 LEDs on or 
> off, you could map that accordingly.
> In detail, however, the 3 channels are not really independent of each 
> other. All channels share, for example, the flash controller, the safety 
> timers and the operating mode. In addition, two channels share the 
> configuration registers. It is therefore not possible to use one channel 
> as a flash and another as a normal LED.
> For use as an LED flash controller (what the chip actually is), it 
> therefore only makes sense if one or more channels are combined.

You define the binding which will be set in stone. This binding says it
is not possible to use two or three LEDs. I am fine with this, but be
aware of it and explain this in binding description.

> 
>>
>>> +    type: object
>>> +    $ref: common.yaml#
>>> +    unevaluatedProperties: false
>>> +
>>> +    properties:
>>> +      led-sources:
>>> +        allOf:
>>
>> Drop allOf
>>
>>> +          - minItems: 1
>>> +            maxItems: 3
>>> +            items:
>>> +              enum: [1, 2, 3]
>>> +
>>> +      led-max-microamp:
>>> +        anyOf:
>>
>> oneOf
>>
>>> +          - minimum: 25000
>>> +            maximum: 350000
>>> +            multipleOf: 50000
>>> +          - minimum: 25000
>>> +            maximum: 525000
>>
>> Why two different values?
> 
> The channels can in principle be configured in 25mA steps.
> If only the two channels that share the configuration register are used, 
> the step size doubles to 50mA. The maximum current values ​​for such a 
> configuration are also different.
> There are of course several other combinations of channels that would 
> result in different maximum values, but since the step size is an 
> important value for the API, I wanted to describe these two cases 
> explicitly.
> 
ok

Best regards,
Krzysztof




[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Security]     [Bugtraq]     [Linux OMAP]     [Linux MIPS]     [ECOS]     [Asterisk Internet PBX]     [Linux API]

  Powered by Linux