Re: [PATCH v2 1/3] dt-bindings: leds: nxp,pca963x: add multicolor LED support

Loic Poulain <[email protected]>
Newsgroups org.kernel.vger.linux-leds,org.kernel.vger.linux-arm-msm,org.kernel.vger.linux-devicetree,org.kernel.vger.linux-kernel
Message-ID <CAFEp6-15kG6PhZ=C=7j1dwCGnaoYX4k3pm90Q+LGWDG8VaHuRA@mail.gmail.com>
Hi Conor,

On Wed, Jul 1, 2026 at 6:58 PM Conor Dooley <[email protected]> wrote:
>
> On Wed, Jul 01, 2026 at 06:15:51PM +0200, Loic Poulain wrote:
> > Add support for grouping individual PCA963x channels into a multicolor
> > LED by introducing a multi-led@N node pattern. This follows the
> > convention established by other multicolor LED drivers such as
> > kinetic,ktd202x.
> >
> > This is necessary to support and model hardware setups where multiple
> > PWM channels drive a single physical RGB LED.
> >
> > Signed-off-by: Loic Poulain <[email protected]>
> > ---
> >  .../devicetree/bindings/leds/nxp,pca963x.yaml      | 79 ++++++++++++++++++++++
> >  1 file changed, 79 insertions(+)
> >
> > diff --git a/Documentation/devicetree/bindings/leds/nxp,pca963x.yaml b/Documentation/devicetree/bindings/leds/nxp,pca963x.yaml
> > index 938d0e48fe51bce82779c4457c8e99cb6d80fe70..04b05b8195c18ae9fc1c1cb9d3c694d819ea88e5 100644
> > --- a/Documentation/devicetree/bindings/leds/nxp,pca963x.yaml
> > +++ b/Documentation/devicetree/bindings/leds/nxp,pca963x.yaml
> > @@ -74,6 +74,39 @@ patternProperties:
> >      required:
> >        - reg
> >
> > +  "^multi-led@[0-9a-f]+$":
> > +    type: object
> > +    $ref: leds-class-multicolor.yaml#
> > +    unevaluatedProperties: false
> > +
> > +    properties:
> > +      reg:
> > +        minimum: 0
>
> Some valid looking stuff from Sashiko here.
Yes, I'll address them in the upcoming v3.

> On this, was this meant to be minItems?

We really want to bound the register values.

Regards,
Loic

>
> pw-bot: changes-requested
>
> Thanks,
> Conor.
>
> > +
> > +      "#address-cells":
> > +        const: 1
> > +
> > +      "#size-cells":
> > +        const: 0
> > +
> > +    patternProperties:
> > +      "^led@[0-9a-f]+$":
> > +        type: object
> > +        $ref: common.yaml#
> > +        unevaluatedProperties: false
> > +
> > +        properties:
> > +          reg:
> > +            minimum: 0
> > +
> > +        required:
> > +          - reg
> > +
> > +    required:
> > +      - reg
> > +      - "#address-cells"
> > +      - "#size-cells"
> > +
> >  allOf:
> >    - if:
> >        properties:
> > @@ -137,4 +170,50 @@ examples:
> >          };
> >      };
> >
> > +  - |
> > +    #include <dt-bindings/leds/common.h>
> > +
> > +    i2c {
> > +        #address-cells = <1>;
> > +        #size-cells = <0>;
> > +
> > +        led-controller@62 {
> > +            compatible = "nxp,pca9633";
> > +            reg = <0x62>;
> > +            #address-cells = <1>;
> > +            #size-cells = <0>;
> > +
> > +            /* Three channels controlling one RGB LED */
> > +            multi-led@0 {
> > +                    reg = <0>;
> > +                    color = <LED_COLOR_ID_RGB>;
> > +                    function = LED_FUNCTION_STATUS;
> > +                    #address-cells = <1>;
> > +                    #size-cells = <0>;
> > +
> > +                    led@0 {
> > +                            reg = <0>;
> > +                            color = <LED_COLOR_ID_RED>;
> > +                    };
> > +
> > +                    led@1 {
> > +                            reg = <1>;
> > +                            color = <LED_COLOR_ID_GREEN>;
> > +                    };
> > +
> > +                    led@2 {
> > +                            reg = <2>;
> > +                            color = <LED_COLOR_ID_BLUE>;
> > +                    };
> > +            };
> > +
> > +            /* Remaining channel used as a plain white LED */
> > +            led@3 {
> > +                    reg = <3>;
> > +                    color = <LED_COLOR_ID_WHITE>;
> > +                    function = LED_FUNCTION_STATUS;
> > +            };
> > +        };
> > +    };
> > +
> >  ...
> >
> > --
> > 2.34.1
> >
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.