dt-bindings: leds: tca6507: convert to YAML

This converts the tca6507 LED binding to yaml.

Signed-off-by: Marek 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: Rob Herring <robh+dt@kernel.org>
Cc: devicetree@vger.kernel.org
Signed-off-by: Pavel Machek <pavel@ucw.cz>
This commit is contained in:
Marek Behún 2020-09-20 00:15:38 +02:00 committed by Pavel Machek
parent abcc131292
commit 9694881d92
2 changed files with 134 additions and 49 deletions

View File

@ -1,49 +0,0 @@
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";
};
};

View File

@ -0,0 +1,134 @@
# 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>;
};
};
};
...