mirror of
https://github.com/torvalds/linux.git
synced 2026-05-22 22:22:08 +02:00
dt-bindings: leds: pca955x: Convert text bindings to YAML
Convert the text bindings of pca955x to YAML so it could be used to validate the DTS. Signed-off-by: Ricky CX Wu <ricky.cx.wu.wiwynn@gmail.com> Signed-off-by: Delphine CC Chiu <Delphine_CC_Chiu@wiwynn.com> Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> Link: https://lore.kernel.org/r/20241016093857.925467-1-Delphine_CC_Chiu@wiwynn.com Signed-off-by: Lee Jones <lee@kernel.org>
This commit is contained in:
parent
6cbf5c9954
commit
f92d2e9334
|
|
@ -1,89 +0,0 @@
|
|||
* NXP - pca955x LED driver
|
||||
|
||||
The PCA955x family of chips are I2C LED blinkers whose pins not used
|
||||
to control LEDs can be used as general purpose I/Os. The GPIO pins can
|
||||
be input or output, and output pins can also be pulse-width controlled.
|
||||
|
||||
Required properties:
|
||||
- compatible : should be one of :
|
||||
"nxp,pca9550"
|
||||
"nxp,pca9551"
|
||||
"nxp,pca9552"
|
||||
"ibm,pca9552"
|
||||
"nxp,pca9553"
|
||||
- #address-cells: must be 1
|
||||
- #size-cells: must be 0
|
||||
- reg: I2C slave address. depends on the model.
|
||||
|
||||
Optional properties:
|
||||
- gpio-controller: allows pins to be used as GPIOs.
|
||||
- #gpio-cells: must be 2.
|
||||
- gpio-line-names: define the names of the GPIO lines
|
||||
|
||||
LED sub-node properties:
|
||||
- reg : number of LED line.
|
||||
from 0 to 1 for the pca9550
|
||||
from 0 to 7 for the pca9551
|
||||
from 0 to 15 for the pca9552
|
||||
from 0 to 3 for the pca9553
|
||||
- type: (optional) either
|
||||
PCA955X_TYPE_NONE
|
||||
PCA955X_TYPE_LED
|
||||
PCA955X_TYPE_GPIO
|
||||
see dt-bindings/leds/leds-pca955x.h (default to LED)
|
||||
- label : (optional)
|
||||
see Documentation/devicetree/bindings/leds/common.txt
|
||||
- linux,default-trigger : (optional)
|
||||
see Documentation/devicetree/bindings/leds/common.txt
|
||||
|
||||
Examples:
|
||||
|
||||
pca9552: pca9552@60 {
|
||||
compatible = "nxp,pca9552";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
reg = <0x60>;
|
||||
|
||||
gpio-controller;
|
||||
#gpio-cells = <2>;
|
||||
gpio-line-names = "GPIO12", "GPIO13", "GPIO14", "GPIO15";
|
||||
|
||||
gpio@12 {
|
||||
reg = <12>;
|
||||
type = <PCA955X_TYPE_GPIO>;
|
||||
};
|
||||
gpio@13 {
|
||||
reg = <13>;
|
||||
type = <PCA955X_TYPE_GPIO>;
|
||||
};
|
||||
gpio@14 {
|
||||
reg = <14>;
|
||||
type = <PCA955X_TYPE_GPIO>;
|
||||
};
|
||||
gpio@15 {
|
||||
reg = <15>;
|
||||
type = <PCA955X_TYPE_GPIO>;
|
||||
};
|
||||
|
||||
led@0 {
|
||||
label = "red:power";
|
||||
linux,default-trigger = "default-on";
|
||||
reg = <0>;
|
||||
type = <PCA955X_TYPE_LED>;
|
||||
};
|
||||
led@1 {
|
||||
label = "green:power";
|
||||
reg = <1>;
|
||||
type = <PCA955X_TYPE_LED>;
|
||||
};
|
||||
led@2 {
|
||||
label = "pca9552:yellow";
|
||||
reg = <2>;
|
||||
type = <PCA955X_TYPE_LED>;
|
||||
};
|
||||
led@3 {
|
||||
label = "pca9552:white";
|
||||
reg = <3>;
|
||||
type = <PCA955X_TYPE_LED>;
|
||||
};
|
||||
};
|
||||
158
Documentation/devicetree/bindings/leds/nxp,pca955x.yaml
Normal file
158
Documentation/devicetree/bindings/leds/nxp,pca955x.yaml
Normal file
|
|
@ -0,0 +1,158 @@
|
|||
# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
|
||||
%YAML 1.2
|
||||
---
|
||||
$id: http://devicetree.org/schemas/leds/nxp,pca955x.yaml#
|
||||
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||
|
||||
title: NXP PCA955X LED controllers
|
||||
|
||||
maintainers:
|
||||
- Nate Case <ncase@xes-inc.com>
|
||||
|
||||
description: |
|
||||
The PCA955x family of chips are I2C LED blinkers whose pins not used
|
||||
to control LEDs can be used as general purpose I/Os. The GPIO pins can
|
||||
be input or output, and output pins can also be pulse-width controlled.
|
||||
|
||||
For more product information please see the link below:
|
||||
- https://www.nxp.com/docs/en/data-sheet/PCA9552.pdf
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
enum:
|
||||
- nxp,pca9550
|
||||
- nxp,pca9551
|
||||
- nxp,pca9552
|
||||
- ibm,pca9552
|
||||
- nxp,pca9553
|
||||
|
||||
reg:
|
||||
maxItems: 1
|
||||
|
||||
"#address-cells":
|
||||
const: 1
|
||||
|
||||
"#size-cells":
|
||||
const: 0
|
||||
|
||||
gpio-controller: true
|
||||
|
||||
gpio-line-names:
|
||||
minItems: 1
|
||||
maxItems: 16
|
||||
|
||||
"#gpio-cells":
|
||||
const: 2
|
||||
|
||||
patternProperties:
|
||||
"^led@[0-9a-f]$":
|
||||
type: object
|
||||
$ref: common.yaml#
|
||||
unevaluatedProperties: false
|
||||
|
||||
properties:
|
||||
reg:
|
||||
maxItems: 1
|
||||
type:
|
||||
description: |
|
||||
Output configuration, see include/dt-bindings/leds/leds-pca955x.h
|
||||
$ref: /schemas/types.yaml#/definitions/uint32
|
||||
default: 0
|
||||
minimum: 0
|
||||
maximum: 2
|
||||
|
||||
required:
|
||||
- reg
|
||||
|
||||
allOf:
|
||||
- if:
|
||||
properties:
|
||||
compatible:
|
||||
contains:
|
||||
enum:
|
||||
- nxp,pca9550
|
||||
then:
|
||||
patternProperties:
|
||||
"^led@[0-9a-f]$":
|
||||
properties:
|
||||
reg:
|
||||
maximum: 1
|
||||
- if:
|
||||
properties:
|
||||
compatible:
|
||||
contains:
|
||||
enum:
|
||||
- nxp,pca9551
|
||||
then:
|
||||
patternProperties:
|
||||
"^led@[0-9a-f]$":
|
||||
properties:
|
||||
reg:
|
||||
maximum: 7
|
||||
- if:
|
||||
properties:
|
||||
compatible:
|
||||
contains:
|
||||
enum:
|
||||
- nxp,pca9552
|
||||
- ibm,pca9552
|
||||
then:
|
||||
patternProperties:
|
||||
"^led@[0-9a-f]$":
|
||||
properties:
|
||||
reg:
|
||||
maximum: 15
|
||||
- if:
|
||||
properties:
|
||||
compatible:
|
||||
contains:
|
||||
enum:
|
||||
- nxp,pca9553
|
||||
then:
|
||||
patternProperties:
|
||||
"^led@[0-9a-f]$":
|
||||
properties:
|
||||
reg:
|
||||
maximum: 3
|
||||
|
||||
additionalProperties: false
|
||||
|
||||
examples:
|
||||
- |
|
||||
#include <dt-bindings/leds/leds-pca955x.h>
|
||||
|
||||
i2c {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
led-controller@60 {
|
||||
compatible = "nxp,pca9552";
|
||||
reg = <0x60>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
led@0 {
|
||||
reg = <0>;
|
||||
label = "red:power";
|
||||
linux,default-trigger = "default-on";
|
||||
type = <PCA955X_TYPE_LED>;
|
||||
};
|
||||
led@1 {
|
||||
reg = <1>;
|
||||
label = "green:power";
|
||||
type = <PCA955X_TYPE_LED>;
|
||||
};
|
||||
led@2 {
|
||||
reg = <2>;
|
||||
label = "pca9552:yellow";
|
||||
type = <PCA955X_TYPE_LED>;
|
||||
};
|
||||
led@3 {
|
||||
reg = <3>;
|
||||
label = "pca9552:white";
|
||||
type = <PCA955X_TYPE_LED>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
...
|
||||
Loading…
Reference in New Issue
Block a user