linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Jacek Anaszewski <jacek.anaszewski@gmail.com>
To: Dan Murphy <dmurphy@ti.com>, Pavel Machek <pavel@ucw.cz>
Cc: robh+dt@kernel.org, devicetree@vger.kernel.org,
	linux-kernel@vger.kernel.org, linux-leds@vger.kernel.org
Subject: Re: [PATCH v2 1/2] dt: bindings: lm3697: Add bindings for lm3697 driver
Date: Thu, 9 Aug 2018 14:09:56 +0200	[thread overview]
Message-ID: <683f9e60-9ad8-93d8-e4ed-dbfdae78c307@gmail.com> (raw)
In-Reply-To: <01bbf05a-8e5e-d3ce-857a-ac5c6efb779c@ti.com>

Dan,

On 08/08/2018 11:45 PM, Dan Murphy wrote:
> Jacek
> 
> On 08/08/2018 04:09 PM, Jacek Anaszewski wrote:
>> Hi Dan,
>>
>> On 08/08/2018 11:04 PM, Dan Murphy wrote:
>>> On 08/08/2018 04:02 PM, Pavel Machek wrote:
>>>> Hi!
>>>>
>>>>>>> +	- #size-cells : 0
>>>>>>> +	- control-bank-cfg - : Indicates which sink is connected to which control bank
>>>>>>> +		0 - All HVLED outputs are controlled by bank A
>>>>>>> +		1 - HVLED1 is controlled bank B, HVLED2/3 are controlled by bank A
>>>>>>> +		2 - HVLED2 is controlled bank B, HVLED1/3 are controlled by bank A
>>>>>>> +		3 - HVLED1/2 are controlled by bank B, HVLED3 is controlled by bank A
>>>>>>> +		4 - HVLED3 is controlled by bank B, HVLED1/2 are controlled by bank A
>>>>>>> +		5 - HVLED1/3 is controlled by bank B, HVLED2 is controlled by bank A
>>>>>>> +		6 - (default) HVLED1 is controlled by bank A, HVLED2/3 are controlled by bank B
>>>>>>> +		7 - All HVLED outputs are controlled by bank B
>>>>>>
>>>>>> This is quite long way to describe a bitmask, no? Could we make
>>>>>> it so that control-bank-cfg is not needed?
>>>>>
>>>>> The problem we have here is there is a potential to control
>>>>> 3 different LED string but only 2 sinks.  So control bank A can control 2 LED strings and control
>>>>> bank b can control 1 LED string.  
>>>>>
>>>>
>>>> Can we forget about the LED strings, and just expose the sinks as
>>>> Linux LED devices?
>>>
>>> 2 sinks 3 LED strings.  How do you know which LED string is which and what bank it belongs
>>> to when setting the brightness.  Each Bank has a separate register for brightness control.
>>
>> Just a blind shot, without going into details - could you please check
>> if led-sources property documented in the common LED bindings couldn't
>> help here?
>>
> 
> I could change the name to led-sources.  But this part does not really follow the 1 output to a
> 1 LED string topology.

led-sources was designed for describing the topology where one LED can
be connected to more then one output, see bindings of
max77693-led (in Documentation/devicetree/bindings/mfd/max77693.txt).

Here the topology is a bit different - more than one LED (string) can be
connected to a single bank, but this is accomplished inside the chip.
Logically LEDs configured that way can be treated as a single LED
(string) connected to two outputs, and what follows they should be
described by a single DT child node.

led-sources will fit very well for this purpose. You could do
the following mapping:

0 - HVLED1
1 - HVLED2
2 - HVLED3

Then, in the child DT nodes you would use these identifiers to describe
the topology:

Following node would describe strings connected to the outputs
HVLED1 and HVLED2 controlled by bank A.

led@0 {
	reg = <0>;
	led-sources = <0>. <1>;
	label = "white:first_backlight_cluster";
	linux,default-trigger = "backlight";
};


IOW I agree with Pavel, but I propose to use already documented common
DT LED property.

-- 
Best regards,
Jacek Anaszewski

  reply	other threads:[~2018-08-09 12:10 UTC|newest]

Thread overview: 24+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-08-07 16:04 [PATCH v2 1/2] dt: bindings: lm3697: Add bindings for lm3697 driver Dan Murphy
2018-08-07 16:04 ` [PATCH v2 2/2] leds: lm3697: Introduce the " Dan Murphy
2018-08-08 19:59   ` Pavel Machek
2018-08-14 13:54     ` Dan Murphy
2018-08-08  7:56 ` [PATCH v2 1/2] dt: bindings: lm3697: Add bindings for " Michal Vokáč
2018-08-08  9:52   ` Jacek Anaszewski
2018-08-08 19:59 ` Pavel Machek
2018-08-08 20:42   ` Dan Murphy
2018-08-08 21:02     ` Pavel Machek
2018-08-08 21:04       ` Dan Murphy
2018-08-08 21:09         ` Pavel Machek
2018-08-08 21:41           ` Dan Murphy
2018-08-08 21:45             ` Pavel Machek
2018-08-08 21:50               ` Dan Murphy
2018-08-08 21:58                 ` Pavel Machek
2018-08-08 21:09         ` Jacek Anaszewski
2018-08-08 21:45           ` Dan Murphy
2018-08-09 12:09             ` Jacek Anaszewski [this message]
2018-08-09 13:24               ` Pavel Machek
2018-08-09 13:30               ` Dan Murphy
2018-08-09 14:48                 ` Jacek Anaszewski
2018-08-09 15:01                   ` Dan Murphy
2018-08-09 21:59                 ` Pavel Machek
2018-08-08 22:00 ` Pavel Machek

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=683f9e60-9ad8-93d8-e4ed-dbfdae78c307@gmail.com \
    --to=jacek.anaszewski@gmail.com \
    --cc=devicetree@vger.kernel.org \
    --cc=dmurphy@ti.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-leds@vger.kernel.org \
    --cc=pavel@ucw.cz \
    --cc=robh+dt@kernel.org \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).