From: "Marek Behún" <marek.behun@nic.cz>
To: sven@svenschwermer.de
Cc: linux-leds@vger.kernel.org, devicetree@vger.kernel.org,
linux-pwm@vger.kernel.org,
Sven Schwermer <sven.schwermer@disruptive-technologies.com>,
pavel@ucw.cz, dmurphy@ti.com, robh+dt@kernel.org,
thierry.reding@gmail.com, u.kleine-koenig@pengutronix.de,
lee.jones@linaro.org, post@lespocky.de
Subject: Re: [RFC PATCH v2 1/2] dt-bindings: leds: Add multicolor PWM LED bindings
Date: Tue, 25 Jan 2022 21:27:36 +0100 [thread overview]
Message-ID: <20220125212736.5ffafe2b@thinkpad> (raw)
In-Reply-To: <20220125151226.31049-2-sven@svenschwermer.de>
On Tue, 25 Jan 2022 16:12:25 +0100
sven@svenschwermer.de wrote:
> From: Sven Schwermer <sven.schwermer@disruptive-technologies.com>
>
> This allows to group multiple PWM-connected monochrome LEDs into
> multicolor LEDs, e.g. RGB LEDs.
>
> Signed-off-by: Sven Schwermer <sven.schwermer@disruptive-technologies.com>
> ---
> .../bindings/leds/leds-pwm-multicolor.yaml | 76 +++++++++++++++++++
> 1 file changed, 76 insertions(+)
> create mode 100644 Documentation/devicetree/bindings/leds/leds-pwm-multicolor.yaml
>
> diff --git a/Documentation/devicetree/bindings/leds/leds-pwm-multicolor.yaml b/Documentation/devicetree/bindings/leds/leds-pwm-multicolor.yaml
> new file mode 100644
> index 000000000000..b82b26f2e140
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/leds/leds-pwm-multicolor.yaml
> @@ -0,0 +1,76 @@
> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/leds/leds-pwm-multicolor.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: Multi-color LEDs connected to PWM
> +
> +maintainers:
> + - Sven Schwermer <sven.schwermer@disruptive-technologies.com>
> +
> +description: |
> + This driver combines several monochrome PWM LEDs into one multi-color
> + LED using the multicolor LED class.
> +
> +properties:
> + compatible:
> + const: pwm-leds-multicolor
> +
> +patternProperties:
> + '^multi-led@[0-9a-f]$':
> + type: object
> + allOf:
> + - $ref: leds-class-multicolor.yaml#
> +
> + patternProperties:
> + "^led-[0-9a-z]+$":
> + type: object
> + properties:
> + pwms:
> + maxItems: 1
> +
> + pwm-names: true
> +
> + color:
> + $ref: common.yaml#/properties/color
> +
> + required:
> + - pwms
> + - color
> +
> +required:
> + - compatible
> +
> +additionalProperties: false
> +
> +examples:
> + - |
> + #include <dt-bindings/leds/common.h>
> +
> + rgb-led {
> + compatible = "pwm-leds-multicolor";
> +
> + multi-led@0 {
> + color = <LED_COLOR_ID_RGB>;
> + function = LED_FUNCTION_INDICATOR;
> + max-brightness = <65535>;
> +
> + led-red {
> + pwms = <&pwm1 0 1000000>;
> + color = <LED_COLOR_ID_RED>;
> + };
> +
> + led-green {
> + pwms = <&pwm2 0 1000000>;
> + color = <LED_COLOR_ID_GREEN>;
> + };
> +
> + led-blue {
> + pwms = <&pwm3 0 1000000>;
> + color = <LED_COLOR_ID_BLUE>;
> + };
> + };
what about
multi-led@0 {
color = <LED_COLOR_ID_RGB>;
function = LED_FUNCTION_INDICATOR;
pwms = <&pwm1 0 1000000>,
<&pwm2 0 1000000>,
<&pwm3 0 1000000>;
channels = <LED_COLOR_ID_RED>,
<LED_COLOR_ID_GREEN>,
<LED_COLOR_ID_BLUE>;
};
I am not saying that it is necessarily better, just comenting that
maybe it is, since it saves some space. `pwms` is phandle-array, so it
can contain references to multiple pwms, and we have functions which
make getting these pwms in driver code easy...
Also this example won't compile with
make dt_bindings_check
because you don't have pwm1, pwm2
and pwm3 defined...
Marek
next prev parent reply other threads:[~2022-01-25 20:27 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-01-25 15:12 [RFC PATCH v2 0/2] Multicolor PWM LED support sven
2022-01-25 15:12 ` [RFC PATCH v2 1/2] dt-bindings: leds: Add multicolor PWM LED bindings sven
2022-01-25 20:27 ` Marek Behún [this message]
2022-01-26 8:02 ` Sven Schwermer
2022-01-26 10:17 ` Sven Schwermer
2022-01-26 3:29 ` Rob Herring
2022-01-25 15:12 ` [RFC PATCH v2 2/2] leds: Add PWM multicolor driver sven
2022-01-25 20:21 ` Marek Behún
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=20220125212736.5ffafe2b@thinkpad \
--to=marek.behun@nic.cz \
--cc=devicetree@vger.kernel.org \
--cc=dmurphy@ti.com \
--cc=lee.jones@linaro.org \
--cc=linux-leds@vger.kernel.org \
--cc=linux-pwm@vger.kernel.org \
--cc=pavel@ucw.cz \
--cc=post@lespocky.de \
--cc=robh+dt@kernel.org \
--cc=sven.schwermer@disruptive-technologies.com \
--cc=sven@svenschwermer.de \
--cc=thierry.reding@gmail.com \
--cc=u.kleine-koenig@pengutronix.de \
/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).