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

title: CZ.NIC's Turris Omnia LEDs driver

maintainers:
  - Marek Behún <marek.behun@nic.cz>

description:
  This module adds support for the RGB LEDs found on the front panel of the
  Turris Omnia router. There are 12 RGB LEDs that are controlled by a
  microcontroller that communicates via the I2C bus. Each LED is described
  as a subnode of this I2C device.

properties:
  compatible:
    const: cznic,turris-omnia-leds

  reg:
    description: I2C slave address of the microcontroller.
    maxItems: 1

  "#address-cells":
    const: 1

  "#size-cells":
    const: 0

patternProperties:
  "^multi-led[0-9a-f]$":
    type: object
    allOf:
      - $ref: leds-class-multicolor.yaml#
    description:
      This node represents one of the RGB LED devices on Turris Omnia.
      No subnodes need to be added for subchannels since this controller only
      supports RGB LEDs.

    properties:
      reg:
        minimum: 0
        maximum: 11
        description:
          This property identifies one of the LEDs on the front panel of the
          Turris Omnia router.

    required:
      - reg

additionalProperties: false

examples:
  - |

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

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

        led-controller@2b {
            compatible = "cznic,turris-omnia-leds";
            reg = <0x2b>;
            #address-cells = <1>;
            #size-cells = <0>;

            multi-led@0 {
                /*
                 * No subnodes are needed, this controller only supports RGB
                 * LEDs.
                 */
                reg = <0>;
                color = <LED_COLOR_ID_MULTI>;
                function = LED_FUNCTION_POWER;
                linux,default-trigger = "heartbeat";
            };

            multi-led@a {
                reg = <0xa>;
                color = <LED_COLOR_ID_MULTI>;
                function = LED_FUNCTION_INDICATOR;
                function-enumerator = <1>;
            };
        };
    };

...
