[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <abcfb68b-b631-8a7b-e7cb-daefc58f3dde@axis.com>
Date: Mon, 3 Jul 2023 09:53:01 +0200
From: Astrid Rost <astridr@...s.com>
To: Jacek Anaszewski <jacek.anaszewski@...il.com>,
Astrid Rost <astrid.rost@...s.com>,
Andy Shevchenko <andriy.shevchenko@...ux.intel.com>,
Krzysztof Kozlowski <krzysztof.kozlowski+dt@...aro.org>,
Rob Herring <robh@...nel.org>, Pavel Machek <pavel@....cz>,
Lee Jones <lee@...nel.org>
CC: <kernel@...s.com>, <linux-leds@...r.kernel.org>,
<linux-kernel@...r.kernel.org>
Subject: Re: [PATCH v2 1/2] led: led-class: Read max-brightness from
devicetree
Hello Jacek,
I am having problems with the PWM controller LP5024.
https://www.ti.com/product/LP5024
There is no such a calculation in the data-sheet like:
max_brightness = max_current / constant.
I also assume it is depending on the type of LEDs and circuit, which are
connected.
It supports two current modes: 25,5 mA and and 35 mA, both is to high
for the LEDs I have.
For max_brightness seems to be everything inside the kernel, but reading
the value from devicetree. I first thought I could add it in the lp50xx
driver, but Andy and Rob thought that I better put it into the general
parts. And of course drivers having led-max-microamp should better use it.
Please, let me know if you have a better suggestion.
Astrid
On 7/1/23 13:09, Jacek Anaszewski wrote:
> Hi Astrid,
>
> On 6/30/23 11:22, Astrid Rost wrote:
>> Add max-brightness in order to reduce the current on the connected LEDs.
>> Normally, the maximum brightness is determined by the hardware, and this
>> property is not required. This property is used to set a software limit.
>> It could happen that an LED is made so bright that it gets damaged or
>> causes damage due to restrictions in a specific system, such as mounting
>> conditions. Note that led-max-microamp should be preferably used, if it
>> is supported by the controller.
>>
>> Signed-off-by: Astrid Rost <astrid.rost@...s.com>
>> ---
>> drivers/leds/led-class.c | 4 ++++
>> 1 file changed, 4 insertions(+)
>>
>> diff --git a/drivers/leds/led-class.c b/drivers/leds/led-class.c
>> index 9255bc11f99d..ce652abf9336 100644
>> --- a/drivers/leds/led-class.c
>> +++ b/drivers/leds/led-class.c
>> @@ -457,6 +457,10 @@ int led_classdev_register_ext(struct device *parent,
>> if (fwnode_property_present(init_data->fwnode,
>> "retain-state-shutdown"))
>> led_cdev->flags |= LED_RETAIN_AT_SHUTDOWN;
>> +
>> + fwnode_property_read_u32(init_data->fwnode,
>> + "max-brightness",
>> + &led_cdev->max_brightness);
>> }
>> } else {
>> proposed_name = led_cdev->name;
>
> We have led-max-microamp for that and every LED class driver is supposed
> to calculate its max brightness level basing on it.
>
Powered by blists - more mailing lists