Messages in this thread | | | Date | Mon, 3 Jul 2023 09:53:01 +0200 | Subject | Re: [PATCH v2 1/2] led: led-class: Read max-brightness from devicetree | From | Astrid Rost <> |
| |
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@axis.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. >
| |