# 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 <andreas@kemnade.info>

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;
            };
        };
    };

...
