From: Jacek Anaszewski <jacek.anaszewski@gmail.com>
To: Dan Murphy <dmurphy@ti.com>, pavel@ucw.cz
Cc: linux-leds@vger.kernel.org, linux-kernel@vger.kernel.org,
"Tony Lindgren" <tony@atomide.com>,
"Benoît Cousson" <bcousson@baylibre.com>,
"Linus Walleij" <linus.walleij@linaro.org>,
"Shawn Guo" <shawnguo@kernel.org>,
"Sascha Hauer" <s.hauer@pengutronix.de>,
"Pengutronix Kernel Team" <kernel@pengutronix.de>,
"Fabio Estevam" <festevam@gmail.com>,
"NXP Linux Team" <linux-imx@nxp.com>
Subject: Re: [PATCH v12 08/16] dt: bindings: lp55xx: Update binding for Multicolor Framework
Date: Fri, 11 Oct 2019 22:15:45 +0200 [thread overview]
Message-ID: <42fb3f20-be4c-8e9e-8035-e4eafbc1e687@gmail.com> (raw)
In-Reply-To: <20191011130657.4713-9-dmurphy@ti.com>
Dan,
On 10/11/19 3:06 PM, Dan Murphy wrote:
> Update the DT binding to include the properties to use the
> multicolor framework for the devices that use the LP55xx
> framework.
>
> Signed-off-by: Dan Murphy <dmurphy@ti.com>
> CC: Tony Lindgren <tony@atomide.com>
> CC: "Benoît Cousson" <bcousson@baylibre.com>
> CC: Linus Walleij <linus.walleij@linaro.org>
> CC: Shawn Guo <shawnguo@kernel.org>
> CC: Sascha Hauer <s.hauer@pengutronix.de>
> CC: Pengutronix Kernel Team <kernel@pengutronix.de>
> CC: Fabio Estevam <festevam@gmail.com>
> CC: NXP Linux Team <linux-imx@nxp.com>
> ---
> .../devicetree/bindings/leds/leds-lp55xx.txt | 149 +++++++++++++++---
> 1 file changed, 124 insertions(+), 25 deletions(-)
>
> diff --git a/Documentation/devicetree/bindings/leds/leds-lp55xx.txt b/Documentation/devicetree/bindings/leds/leds-lp55xx.txt
> index bfe2805c5534..736a2e1538be 100644
> --- a/Documentation/devicetree/bindings/leds/leds-lp55xx.txt
> +++ b/Documentation/devicetree/bindings/leds/leds-lp55xx.txt
> @@ -1,6 +1,8 @@
> Binding for TI/National Semiconductor LP55xx LED Drivers
>
> Required properties:
> +- #address-cells: 1
> +- #size-cells: 0
> - compatible: one of
> national,lp5521
> national,lp5523
> @@ -14,6 +16,18 @@ Required properties:
> Each child has own specific current settings
> - led-cur: Current setting at each LED channel (mA x10, 0 if LED is not connected)
> - max-cur: Maximun current at each LED channel.
> +- reg: Output channel for the LED. This is zero based channel identifier and
> + the data sheet is a one based channel identifier.
> + reg value to output to LED output number
> + D1 = reg value is 0
> + D2 = reg value is 1
> + D3 = reg value is 2
> + D4 = reg value is 3
> + D5 = reg value is 4
> + D6 = reg value is 5
> + D7 = reg value is 6
> + D8 = reg value is 7
> + D9 = reg value is 8
>
> Optional properties:
> - enable-gpio: GPIO attached to the chip's enable pin
> @@ -35,23 +49,28 @@ example 1) LP5521
> on channel 0.
>
> lp5521@32 {
While at it let's fix node prefix to led-controller.
It will not break anyone and yet it will adapt the node naming
to what is now recommended.
> + #address-cells = <1>;
> + #size-cells = <0>;
> compatible = "national,lp5521";
> reg = <0x32>;
> label = "lp5521_pri";
> clock-mode = /bits/ 8 <2>;
>
> - chan0 {
> + chan@0 {
Similarly in case of every child node:
s/chan/led/
> + reg = <0>;
> led-cur = /bits/ 8 <0x2f>;
> max-cur = /bits/ 8 <0x5f>;
> linux,default-trigger = "heartbeat";
> };
>
> - chan1 {
> + chan@1 {
> + reg = <1>;
> led-cur = /bits/ 8 <0x2f>;
> max-cur = /bits/ 8 <0x5f>;
> };
>
> - chan2 {
> + chan@2 {
> + reg = <2>;
> led-cur = /bits/ 8 <0x2f>;
> max-cur = /bits/ 8 <0x5f>;
> };
> @@ -70,59 +89,70 @@ ASEL1 ASEL0 Address
> VEN VEN 35h
>
> lp5523@32 {
s/lp5523/led-controller/
> + #address-cells = <1>;
> + #size-cells = <0>;
> compatible = "national,lp5523";
> reg = <0x32>;
> clock-mode = /bits/ 8 <1>;
>
> - chan0 {
> + chan@0 {
> + reg = <0>;
> chan-name = "d1";
> led-cur = /bits/ 8 <0x14>;
> max-cur = /bits/ 8 <0x20>;
> };
>
> - chan1 {
> + chan@1 {
> + reg = <1>;
> chan-name = "d2";
> led-cur = /bits/ 8 <0x14>;
> max-cur = /bits/ 8 <0x20>;
> };
>
> - chan2 {
> + chan@2 {
> + reg = <2>;
> chan-name = "d3";
> led-cur = /bits/ 8 <0x14>;
> max-cur = /bits/ 8 <0x20>;
> };
>
> - chan3 {
> + chan@3 {
> + reg = <3>;
> chan-name = "d4";
> led-cur = /bits/ 8 <0x14>;
> max-cur = /bits/ 8 <0x20>;
> };
>
> - chan4 {
> + chan@4 {
> + reg = <4>;
> chan-name = "d5";
> led-cur = /bits/ 8 <0x14>;
> max-cur = /bits/ 8 <0x20>;
> };
>
> - chan5 {
> + chan@5 {
> + reg = <5>;
> chan-name = "d6";
> led-cur = /bits/ 8 <0x14>;
> max-cur = /bits/ 8 <0x20>;
> };
>
> - chan6 {
> + chan@6 {
> + reg = <6>;
> chan-name = "d7";
> led-cur = /bits/ 8 <0x14>;
> max-cur = /bits/ 8 <0x20>;
> };
>
> - chan7 {
> + chan@7 {
> + reg = <7>;
> chan-name = "d8";
> led-cur = /bits/ 8 <0x14>;
> max-cur = /bits/ 8 <0x20>;
> };
>
> - chan8 {
> + chan@8 {
> + reg = <8>;
> chan-name = "d9";
> led-cur = /bits/ 8 <0x14>;
> max-cur = /bits/ 8 <0x20>;
> @@ -133,29 +163,35 @@ example 3) LP5562
> 4 channels are defined.
>
> lp5562@30 {
s/lp5562/led-controller/
> + #address-cells = <1>;
> + #size-cells = <0>;
> compatible = "ti,lp5562";
> reg = <0x30>;
> clock-mode = /bits/8 <2>;
>
> - chan0 {
> + chan@0 {
> + reg = <0>;
> chan-name = "R";
> led-cur = /bits/ 8 <0x20>;
> max-cur = /bits/ 8 <0x60>;
> };
>
> - chan1 {
> + chan@1 {
> + reg = <1>;
> chan-name = "G";
> led-cur = /bits/ 8 <0x20>;
> max-cur = /bits/ 8 <0x60>;
> };
>
> - chan2 {
> + chan@2 {
> + reg = <2>;
> chan-name = "B";
> led-cur = /bits/ 8 <0x20>;
> max-cur = /bits/ 8 <0x60>;
> };
>
> - chan3 {
> + chan@3 {
> + reg = <3>;
> chan-name = "W";
> led-cur = /bits/ 8 <0x20>;
> max-cur = /bits/ 8 <0x60>;
> @@ -167,62 +203,125 @@ example 4) LP8501
> Others are same as LP5523.
>
> lp8501@32 {
s/lp8501/led-controller/
> + #address-cells = <1>;
> + #size-cells = <0>;
> compatible = "ti,lp8501";
> reg = <0x32>;
> clock-mode = /bits/ 8 <2>;
> pwr-sel = /bits/ 8 <3>; /* D1~9 connected to VOUT */
>
> - chan0 {
> + chan@0 {
> + reg = <0>;
> chan-name = "d1";
> led-cur = /bits/ 8 <0x14>;
> max-cur = /bits/ 8 <0x20>;
> };
>
> - chan1 {
> + chan@1 {
> + reg = <1>;
> chan-name = "d2";
> led-cur = /bits/ 8 <0x14>;
> max-cur = /bits/ 8 <0x20>;
> };
>
> - chan2 {
> + chan@2 {
> + reg = <2>;
> chan-name = "d3";
> led-cur = /bits/ 8 <0x14>;
> max-cur = /bits/ 8 <0x20>;
> };
>
> - chan3 {
> + chan@3 {
> + reg = <3>;
> chan-name = "d4";
> led-cur = /bits/ 8 <0x14>;
> max-cur = /bits/ 8 <0x20>;
> };
>
> - chan4 {
> + chan@4 {
> + reg = <4>;
> chan-name = "d5";
> led-cur = /bits/ 8 <0x14>;
> max-cur = /bits/ 8 <0x20>;
> };
>
> - chan5 {
> + chan@5 {
> + reg = <5>;
> chan-name = "d6";
> led-cur = /bits/ 8 <0x14>;
> max-cur = /bits/ 8 <0x20>;
> };
>
> - chan6 {
> + chan@6 {
> + reg = <6>;
> chan-name = "d7";
> led-cur = /bits/ 8 <0x14>;
> max-cur = /bits/ 8 <0x20>;
> };
>
> - chan7 {
> + chan@7 {
> + reg = <7>;
> chan-name = "d8";
> led-cur = /bits/ 8 <0x14>;
> max-cur = /bits/ 8 <0x20>;
> };
>
> - chan8 {
> + chan@8 {
> + reg = <8>;
> chan-name = "d9";
> led-cur = /bits/ 8 <0x14>;
> max-cur = /bits/ 8 <0x20>;
> };
> };
> +
> +Multicolor Framework Support
> +In addition to the nodes and properties defined above for device support the
> +properties below are needed for multicolor framework support as defined in
> +Documentation/devicetree/bindings/leds/leds-class-multicolor.txt
> +
> +Required child properties for multicolor framework
> + - color : Must be LED_COLOR_ID_MULTI
> + - function : see Documentation/devicetree/bindings/leds/common.txt
> +
> +Required grandchildren properties
> + - reg : This is the LED output of the device
> + - color : see Documentation/devicetree/bindings/leds/common.txt
> +
> +Multicolor LED example:
> +lp5523: lp5523@32 {
Do you really need "lp5523:" node label ?
Besides:
s/lp5523@32/led-controller@32/
> + #address-cells = <1>;
> + #size-cells = <0>;
> + compatible = "national,lp5523";
> + reg = <0x32>;
> + clock-mode = /bits/ 8 <0>; /* LP55XX_CLOCK_AUTO */
> +
> + multi-led@2 {
> + #address-cells = <1>;
> + #size-cells = <0>;
> + reg = <2>;
> + color = <LED_COLOR_ID_MULTI>;
> + function = LED_FUNCTION_STANDBY;
> + linux,default-trigger = "heartbeat";
> +
> + led@0 {
> + led-cur = /bits/ 8 <50>;
> + max-cur = /bits/ 8 <100>;
> + reg = <0x0>;
> + color = <LED_COLOR_ID_GREEN>;
> + };
> +
> + led@1 {
> + led-cur = /bits/ 8 <50>;
> + max-cur = /bits/ 8 <100>;
> + reg = <0x1>;
> + color = <LED_COLOR_ID_BLUE>;
> + };
> +
> + led@6 {
> + led-cur = /bits/ 8 <50>;
> + max-cur = /bits/ 8 <100>;
> + reg = <0x6>;
> + color = <LED_COLOR_ID_RED>;
> + };
> + };
> +};
>
--
Best regards,
Jacek Anaszewski
next prev parent reply other threads:[~2019-10-11 20:15 UTC|newest]
Thread overview: 31+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-10-11 13:06 [PATCH v12 00/16] Multicolor Framework v12 Dan Murphy
2019-10-11 13:06 ` [PATCH v12 01/16] dt: bindings: Add multicolor class dt bindings documention Dan Murphy
2019-10-11 13:06 ` [PATCH v12 02/16] dt-bindings: leds: Add multicolor ID to the color ID list Dan Murphy
2019-10-11 13:06 ` [PATCH v12 03/16] " Dan Murphy
2019-10-11 13:06 ` [PATCH v12 04/16] leds: multicolor: Introduce a multicolor class definition Dan Murphy
2019-10-11 19:53 ` Jacek Anaszewski
2019-10-14 6:18 ` kbuild test robot
2019-10-11 13:06 ` [PATCH v12 05/16] dt: bindings: lp50xx: Introduce the lp50xx family of RGB drivers Dan Murphy
2019-10-11 13:06 ` [PATCH v12 06/16] leds: lp50xx: Add the LP50XX family of the RGB LED driver Dan Murphy
2019-10-11 20:04 ` Jacek Anaszewski
2019-10-14 9:17 ` kbuild test robot
2019-10-19 17:13 ` Jacek Anaszewski
2019-10-21 11:46 ` Dan Murphy
2019-10-11 13:06 ` [PATCH v12 07/16] dt: bindings: lp55xx: Be consistent in the document with LED acronym Dan Murphy
2019-10-11 13:06 ` [PATCH v12 08/16] dt: bindings: lp55xx: Update binding for Multicolor Framework Dan Murphy
2019-10-11 20:15 ` Jacek Anaszewski [this message]
2019-10-12 0:54 ` Dan Murphy
2019-10-12 13:32 ` Jacek Anaszewski
2019-10-11 13:06 ` [PATCH v12 09/16] ARM: dts: n900: Add reg property to the LP5523 channel node Dan Murphy
2019-10-11 13:06 ` [PATCH v12 10/16] ARM: dts: imx6dl-yapp4: Add reg property to the lp5562 " Dan Murphy
2019-10-11 13:06 ` [PATCH v12 11/16] ARM: dts: ste-href: Add reg property to the LP5521 channel nodes Dan Murphy
2019-10-11 13:06 ` [PATCH v12 12/16] leds: lp55xx: Add multicolor framework support to lp55xx Dan Murphy
2019-10-11 20:36 ` Jacek Anaszewski
2019-10-12 0:50 ` Dan Murphy
2019-10-12 13:27 ` Jacek Anaszewski
2019-10-11 13:06 ` [PATCH v12 13/16] leds: lp5523: Update the lp5523 code to add intensity function Dan Murphy
2019-10-11 13:06 ` [PATCH v12 14/16] leds: lp5521: Add multicolor framework intensity support Dan Murphy
2019-10-11 13:06 ` [PATCH v12 15/16] leds: lp55xx: Fix checkpatch file permissions issues Dan Murphy
2019-10-11 13:06 ` [PATCH v12 16/16] leds: lp5523: Fix checkpatch issues in the code Dan Murphy
2019-10-11 19:40 ` [PATCH v12 00/16] Multicolor Framework v12 Jacek Anaszewski
2019-10-12 0:48 ` Dan Murphy
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=42fb3f20-be4c-8e9e-8035-e4eafbc1e687@gmail.com \
--to=jacek.anaszewski@gmail.com \
--cc=bcousson@baylibre.com \
--cc=dmurphy@ti.com \
--cc=festevam@gmail.com \
--cc=kernel@pengutronix.de \
--cc=linus.walleij@linaro.org \
--cc=linux-imx@nxp.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-leds@vger.kernel.org \
--cc=pavel@ucw.cz \
--cc=s.hauer@pengutronix.de \
--cc=shawnguo@kernel.org \
--cc=tony@atomide.com \
/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).