All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jacek Anaszewski <j.anaszewski@samsung.com>
To: Florian Vaussard <florian.vaussard@heig-vd.ch>
Cc: Florian Vaussard <florian.vaussard@gmail.com>,
	devicetree@vger.kernel.org, Richard Purdie <rpurdie@rpsys.net>,
	Rob Herring <robh+dt@kernel.org>,
	Mark Rutland <mark.rutland@arm.com>,
	linux-leds@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH 1/2] leds: ncp5623: Add device tree binding documentation
Date: Wed, 22 Jun 2016 10:51:29 +0200	[thread overview]
Message-ID: <576A5191.4070402@samsung.com> (raw)
In-Reply-To: <59143a9b-ab51-bd3b-e9db-93680415d205@heig-vd.ch>

Hi Florian,

On 06/22/2016 08:08 AM, Florian Vaussard wrote:
> Hi Jacek,
>
> Le 21. 06. 16 à 17:28, Jacek Anaszewski a écrit :
>> Hi Florian,
>>
>> Thanks for the patch. I have two remarks below.
>>
>> On 06/21/2016 09:29 AM, Florian Vaussard wrote:
>>> Add device tree binding documentation for On Semiconductor NCP5623 I2C
>>> LED driver. The driver can independently control the PWM of the 3
>>> channels with 32 levels of intensity.
>>>
>>> The current delivered by the current source can be controlled using the
>>> led-max-microamp property. In order to control this value, it is also
>>> necessary to know the current on the Iref pin, hence the
>>> onnn,led-iref-microamp property. It is usually set using an external
>>> bias resistor, following Iref = Vref/Rbias with Vref=0.6V.
>>>
>>> Signed-off-by: Florian Vaussard <florian.vaussard@heig-vd.ch>
>>> ---
>>>    .../devicetree/bindings/leds/leds-ncp5623.txt      | 44 ++++++++++++++++++++++
>>>    1 file changed, 44 insertions(+)
>>>    create mode 100644 Documentation/devicetree/bindings/leds/leds-ncp5623.txt
>>>
>>> diff --git a/Documentation/devicetree/bindings/leds/leds-ncp5623.txt
>>> b/Documentation/devicetree/bindings/leds/leds-ncp5623.txt
>>> new file mode 100644
>>> index 0000000..0dc8345
>>> --- /dev/null
>>> +++ b/Documentation/devicetree/bindings/leds/leds-ncp5623.txt
>>> @@ -0,0 +1,44 @@
>>> +* ON Semiconductor - NCP5623 3-Channel LED Driver
>>> +
>>> +The NCP5623 is a 3-channel I2C LED driver. The brightness of each
>>> +channel can be independently set using 32 levels. Each LED is represented
>>> +as a sub-node of the device.
>>> +
>>> +Required properties:
>>> +  - compatible: Should be "onnn,ncp5623"
>>> +  - reg: I2C slave address (fixed to 0x38)
>>> +  - #address-cells: must be 1
>>> +  - #size-cells: must be 0
>>> +  - onnn,led-iref-microamp: Current on the Iref pin in microampere
>>
>> I think that you don't need this property. Just provide the formula for
>> calculating led-max-microamp value, similarly as you're doing that in
>> the commit message.
>>
>
> I am not completely sure to understand your suggestion. So at the end, I have to
> compute the value of the register (let call it 'ILED') that I need to send to
> chip to configure the current source. The formula is:
>
> ILED = 31 - 2400*Iref/led-max-microamp

led-max-microamp is the maximum current value for given LED.
According to the documentation it can be calculated as follows:

ILEDmax = Iref * 2400 / (31 - n)

Since this is global setting for all LEDs, then I'd always set n to 30,
and calculate max_brightness value for each LED separately, basing on
led-max-microamp property value. Effectively, I'm revoking my previous
statement about setting max_brightness to fixed level.

You can compare drivers/leds/leds-aat1290.c and its bindings, as it
uses similar approach.

>
> I need two pieces of information that depends on the hardware setup; the current
> on the Iref pin (which is setup by a bias resistor Iref = 0.6V/Rbias), and the
> desired output current (usually limited due to the chosen LED or the required
> brightness).
>
> On the other hand, I could also simply ask people to put the right value of
> 'ILED' (between 0 - 31) directly in the device tree, but this is less user-friendly.
>
>>> +  - led-max-microamp: Desired maximum current for each LED in microampere
>>> +                      (maximum 30000uA)
>>
>> Please add instead of (maximum ...):
>>
>> Valid values: min - max, step by N (rounded {up|down})
>>
>> E.g.
>>
>> Valid values: 10000 - 30000, step by 1000 (rounded down)
>>
>
> This is unfortunately not a linear relationship,

OK, please define only max and min value then.

> led-max-microamp = 2400*Iref/(31-ILED)
>
> thus steps are not constant. This can be seen on figure 5 (p.9) of the datasheet
> [1].
>
> Thanks for your review,
> Florian
>
> [1] http://www.onsemi.com/pub/Collateral/NCP5623-D.PDF
>
>


-- 
Best regards,
Jacek Anaszewski

  reply	other threads:[~2016-06-22  8:51 UTC|newest]

Thread overview: 30+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-06-21  7:29 [PATCH 0/2] leds: Add driver for NCP5623 3-channel I2C LED driver Florian Vaussard
     [not found] ` <1466494154-3786-1-git-send-email-florian.vaussard-EWQkb/GNqlFyDzI6CaY1VQ@public.gmane.org>
2016-06-21  7:29   ` [PATCH 1/2] leds: ncp5623: Add device tree binding documentation Florian Vaussard
2016-06-21  7:29     ` Florian Vaussard
2016-06-21 15:28     ` Jacek Anaszewski
2016-06-22  6:08       ` Florian Vaussard
2016-06-22  6:08         ` Florian Vaussard
2016-06-22  8:51         ` Jacek Anaszewski [this message]
     [not found]           ` <576A5191.4070402-Sze3O3UU22JBDgjK7y7TUQ@public.gmane.org>
2016-06-22 14:25             ` Florian Vaussard
2016-06-22 14:25               ` Florian Vaussard
     [not found]               ` <c97adf5a-7c5b-8602-83c1-f85854bd64d6-EWQkb/GNqlFyDzI6CaY1VQ@public.gmane.org>
2016-06-23  7:23                 ` Jacek Anaszewski
2016-06-23  7:23                   ` Jacek Anaszewski
2016-06-23  8:32                   ` Florian Vaussard
2016-06-23  8:32                     ` Florian Vaussard
2016-06-23 11:21                     ` Jacek Anaszewski
2016-06-23 12:01                       ` Florian Vaussard
2016-06-23 12:01                         ` Florian Vaussard
2016-06-23 13:53                         ` Jacek Anaszewski
2016-06-22  8:52       ` Jacek Anaszewski
2016-06-21 21:52     ` Rob Herring
2016-06-22  6:17       ` Florian Vaussard
2016-06-22  6:17         ` Florian Vaussard
2016-06-21  7:29 ` [PATCH 2/2] leds: Add driver for NCP5623 3-channel I2C LED driver Florian Vaussard
2016-06-21 15:29   ` Jacek Anaszewski
2016-06-22  6:08     ` Florian Vaussard
2016-06-22  6:08       ` Florian Vaussard
2016-06-22  7:26       ` Jacek Anaszewski
2016-06-26 21:49     ` Pavel Machek
2016-06-27  5:46       ` Florian Vaussard
2016-06-27  5:46         ` Florian Vaussard
2016-06-27  7:09         ` Jacek Anaszewski

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=576A5191.4070402@samsung.com \
    --to=j.anaszewski@samsung.com \
    --cc=devicetree@vger.kernel.org \
    --cc=florian.vaussard@gmail.com \
    --cc=florian.vaussard@heig-vd.ch \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-leds@vger.kernel.org \
    --cc=mark.rutland@arm.com \
    --cc=robh+dt@kernel.org \
    --cc=rpurdie@rpsys.net \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.