blob: ae7384cc760c1cd56a063d1287320e4cdc88f81e [file] [log] [blame]
# 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>;
};
};
};
...