# 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

  multi-led:
    type: object
    $ref: leds-class-multicolor.yaml#
    unevaluatedProperties: false

    properties:
      max-brightness:
        description:
          Maximum brightness possible for the LED
        $ref: /schemas/types.yaml#/definitions/uint32

    patternProperties:
      "^led-[0-9a-z]+$":
        type: object
        $ref: common.yaml#

        additionalProperties: false

        properties:
          pwms:
            maxItems: 1

          pwm-names: true

          active-low:
            description: For PWMs where the LED is wired to supply rather than ground.
            type: boolean

          color: true

        required:
          - pwms
          - color

required:
  - compatible

additionalProperties: false

examples:
  - |
    #include <dt-bindings/leds/common.h>

    led-controller {
        compatible = "pwm-leds-multicolor";

        multi-led {
            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>;
            };
        };
    };

...
