Commit 9694881d authored by Marek Behún's avatar Marek Behún Committed by Pavel Machek
Browse files

dt-bindings: leds: tca6507: convert to YAML



This converts the tca6507 LED binding to yaml.

Signed-off-by: default avatarMarek Behún <marek.behun@nic.cz>
Cc: NeilBrown <neilb@suse.de>
Cc: Linus Walleij <linus.walleij@linaro.org>
Cc: H. Nikolaus Schaller <hns@goldelico.com>
Cc: Tony Lindgren <tony@atomide.com>
Cc: Adam Ford <aford173@gmail.com>
Cc: Viresh Kumar <viresh.kumar@linaro.org>
Reviewed-by: default avatarRob Herring <robh+dt@kernel.org>
Cc: devicetree@vger.kernel.org
Signed-off-by: default avatarPavel Machek <pavel@ucw.cz>
parent abcc1312
Loading
Loading
Loading
Loading
+0 −49
Original line number Diff line number Diff line
LEDs connected to tca6507

Required properties:
- compatible : should be : "ti,tca6507".
- #address-cells: must be 1
- #size-cells: must be 0
- reg: typically 0x45.

Optional properties:
- gpio-controller: allows lines to be used as output-only GPIOs.
- #gpio-cells: if present, must not be 0.

Each led is represented as a sub-node of the ti,tca6507 device.

LED sub-node properties:
- label : (optional) see Documentation/devicetree/bindings/leds/common.txt
- reg : number of LED line (could be from 0 to 6)
- linux,default-trigger : (optional)
   see Documentation/devicetree/bindings/leds/common.txt
- compatible: either "led" (the default) or "gpio".

Examples:

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

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

	led0: red-aux@0 {
		label = "red:aux";
		reg = <0x0>;
	};

	led1: green-aux@1 {
		label = "green:aux";
		reg = <0x5>;
		linux,default-trigger = "default-on";
	};

	wifi-reset@6 {
		reg = <0x6>;
		compatible = "gpio";
	};
};
+134 −0
Original line number Diff line number Diff line
# 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#

    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]$":
      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>;
            };
        };
    };

...