# SPDX-License-Identifier: GPL-2.0-only
%YAML 1.2
---
$id: http://devicetree.org/schemas/leds/ti,tca6507.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: TCA6507 LED and GPIO controller

maintainers:
  - NeilBrown <neilb@suse.de>

description:
  The TCA6507 is a programmable LED controller connected via I2C that can drive
  7 separate lines either by holding them low, or by pulsing them with modulated
  width.

properties:
  compatible:
    const: ti,tca6507

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

  "#address-cells":
    const: 1

  "#size-cells":
    const: 0

  gpio-controller: true

  "#gpio-cells":
    const: 2

  gpio-line-names: true

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

    properties:
      reg:
        minimum: 0
        maximum: 6

    required:
      - reg

  "^gpio@[0-6]$":
    type: object

    properties:
      compatible:
        const: gpio

      reg:
        minimum: 0
        maximum: 6

    additionalProperties: false

    required:
      - reg
      - compatible

if:
  patternProperties:
    "^gpio@[0-6]$":
      type: object
      properties:
        compatible:
          contains:
            const: gpio
then:
  required:
    - gpio-controller
    - "#gpio-cells"

additionalProperties: false

examples:
  - |

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

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

        led-controller@45 {
            compatible = "ti,tca6507";
            #address-cells = <1>;
            #size-cells = <0>;
            reg = <0x45>;

            gpio-controller;
            #gpio-cells = <2>;

            gpio-line-names = "wifi_reset@6";

            led@0 {
                label = "gta04:red:aux";
                reg = <0x0>;
            };

            led@1 {
                label = "gta04:green:aux";
                reg = <0x1>;
            };

            led@3 {
                reg = <0x3>;
                color = <LED_COLOR_ID_RED>;
                function = LED_FUNCTION_POWER;
                linux,default-trigger = "default-on";
            };

            led@4 {
                color = <LED_COLOR_ID_GREEN>;
                function = LED_FUNCTION_POWER;
                reg = <0x4>;
            };

            gpio@6 {
                compatible = "gpio";
                reg = <0x6>;
            };
        };
    };

...
