dt-bindings: leds: Convert leds-tlc591xx.txt to yaml format

Convert binding doc leds-tlc591xx.txt to yaml format to fix below DTB_CHECK
warning.

arch/arm64/boot/dts/freescale/imx8mp-aristainetos3-proton2s.dtb:
  /soc@0/bus@30800000/i2c@30a30000/tlc59108@40: failed to match any schema with compatible: ['ti,tlc59108']

Additional change:
- ref to common.yaml for child nodes.
- limit child's reg to 0 - 7 for ti,tlc59108.
- fix typo 'linux,default_trigger' in example.
- change child node name's prefix to led-.
- change nodename to led-controller.
- fix properties order in example.

Signed-off-by: Frank Li <Frank.Li@nxp.com>
Reviewed-by: Rob Herring (Arm) <robh@kernel.org>
Link: https://lore.kernel.org/r/20250107161628.121685-1-Frank.Li@nxp.com
Signed-off-by: Lee Jones <lee@kernel.org>
This commit is contained in:
Frank Li 2025-01-07 11:16:26 -05:00 committed by Lee Jones
parent 8168906bbb
commit 346e704278
2 changed files with 90 additions and 40 deletions

View file

@ -1,40 +0,0 @@
LEDs connected to tlc59116 or tlc59108
Required properties
- compatible: should be "ti,tlc59116" or "ti,tlc59108"
- #address-cells: must be 1
- #size-cells: must be 0
- reg: typically 0x68
Each led is represented as a sub-node of the ti,tlc59116.
See Documentation/devicetree/bindings/leds/common.txt
LED sub-node properties:
- reg: number of LED line, 0 to 15 or 0 to 7
- label: (optional) name of LED
- linux,default-trigger : (optional)
Examples:
tlc59116@68 {
#address-cells = <1>;
#size-cells = <0>;
compatible = "ti,tlc59116";
reg = <0x68>;
wan@0 {
label = "wrt1900ac:amber:wan";
reg = <0x0>;
};
2g@2 {
label = "wrt1900ac:white:2g";
reg = <0x2>;
};
alive@9 {
label = "wrt1900ac:green:alive";
reg = <0x9>;
linux,default_trigger = "heartbeat";
};
};

View file

@ -0,0 +1,90 @@
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/leds/ti,tlc59116.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#
title: LEDs connected to tlc59116 or tlc59108
maintainers:
- Andrew Lunn <andrew@lunn.ch>
properties:
compatible:
enum:
- ti,tlc59108
- ti,tlc59116
reg:
maxItems: 1
"#address-cells":
const: 1
"#size-cells":
const: 0
patternProperties:
"^led@[0-9a-f]$":
type: object
$ref: common.yaml#
properties:
reg:
items:
minimum: 0
maximum: 15
unevaluatedProperties: false
required:
- compatible
- reg
- "#address-cells"
- "#size-cells"
allOf:
- if:
properties:
compatible:
contains:
const: ti,tlc59108
then:
patternProperties:
"^led@[0-9a-f]$":
properties:
reg:
items:
maximum: 7
additionalProperties: false
examples:
- |
i2c {
#address-cells = <1>;
#size-cells = <0>;
led-controller@68 {
compatible = "ti,tlc59116";
reg = <0x68>;
#address-cells = <1>;
#size-cells = <0>;
led@0 {
reg = <0x0>;
label = "wrt1900ac:amber:wan";
};
led@2 {
reg = <0x2>;
label = "wrt1900ac:white:2g";
};
led@9 {
reg = <0x9>;
label = "wrt1900ac:green:alive";
linux,default-trigger = "heartbeat";
};
};
};