linux/Documentation/devicetree/bindings/leds/rohm,bd2606mvv.yaml

# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
%YAML 1.2
---
$id: http://devicetree.org/schemas/leds/rohm,bd2606mvv.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: ROHM BD2606MVV LED controller

maintainers:
  - Andreas Kemnade <[email protected]>

description:
  The BD2606 MVV is a programmable LED controller connected via I2C that can
  drive 6 separate lines. Each of them can be individually switched on and off,
  but the brightness setting is shared between pairs of them.

  Datasheet is available at
  https://fscdn.rohm.com/en/products/databook/datasheet/ic/power/led_driver/bd2606mvv_1-e.pdf

properties:
  compatible:
    const: rohm,bd2606mvv

  reg:
    maxItems: 1

  "#address-cells":
    const: 1

  "#size-cells":
    const: 0

  enable-gpios:
    maxItems: 1
    description: GPIO pin to enable/disable the device.

patternProperties:
  "^led@[0-5]$":
    type: object
    $ref: common.yaml#
    unevaluatedProperties: false

    properties:
      reg:
        minimum: 0
        maximum: 5

    required:
      - reg

additionalProperties: false

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

    i2c {
        #address-cells = <1>;
        #size-cells = <0>;

        led-controller@66 {
            compatible = "rohm,bd2606mvv";
            reg = <0x66>;
            #address-cells = <1>;
            #size-cells = <0>;

            led@0 {
                reg = <0x0>;
                color = <LED_COLOR_ID_RED>;
                function = LED_FUNCTION_POWER;
            };

            led@2 {
                reg = <0x2>;
                color = <LED_COLOR_ID_WHITE>;
                function = LED_FUNCTION_STATUS;
            };
        };
    };

...