File Index
Files and directories
Sign in
FILE

nxp,pca955x.yaml

File preview with syntax highlighting.

linux-6.19.14/Documentation/devicetree/bindings/leds/nxp,pca955x.yaml YAML
  1# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
  2%YAML 1.2
  3---
  4$id: http://devicetree.org/schemas/leds/nxp,pca955x.yaml#
  5$schema: http://devicetree.org/meta-schemas/core.yaml#
  6
  7title: NXP PCA955X LED controllers
  8
  9maintainers:
 10  - Nate Case <ncase@xes-inc.com>
 11
 12description: |
 13  The PCA955x family of chips are I2C LED blinkers whose pins not used
 14  to control LEDs can be used as general purpose I/Os. The GPIO pins can
 15  be input or output, and output pins can also be pulse-width controlled.
 16
 17  For more product information please see the link below:
 18  - https://www.nxp.com/docs/en/data-sheet/PCA9552.pdf
 19
 20properties:
 21  compatible:
 22    enum:
 23      - nxp,pca9550
 24      - nxp,pca9551
 25      - nxp,pca9552
 26      - ibm,pca9552
 27      - nxp,pca9553
 28
 29  reg:
 30    maxItems: 1
 31
 32  "#address-cells":
 33    const: 1
 34
 35  "#size-cells":
 36    const: 0
 37
 38  gpio-controller: true
 39
 40  gpio-line-names:
 41    minItems: 1
 42    maxItems: 16
 43
 44  "#gpio-cells":
 45    const: 2
 46
 47patternProperties:
 48  "^led@[0-9a-f]$":
 49    type: object
 50    $ref: common.yaml#
 51    unevaluatedProperties: false
 52
 53    properties:
 54      reg:
 55        maxItems: 1
 56      type:
 57        description: |
 58          Output configuration, see include/dt-bindings/leds/leds-pca955x.h
 59        $ref: /schemas/types.yaml#/definitions/uint32
 60        default: 0
 61        minimum: 0
 62        maximum: 2
 63
 64    required:
 65      - reg
 66
 67allOf:
 68  - if:
 69      properties:
 70        compatible:
 71          contains:
 72            enum:
 73              - nxp,pca9550
 74    then:
 75      patternProperties:
 76        "^led@[0-9a-f]$":
 77          properties:
 78            reg:
 79              maximum: 1
 80  - if:
 81      properties:
 82        compatible:
 83          contains:
 84            enum:
 85              - nxp,pca9551
 86    then:
 87      patternProperties:
 88        "^led@[0-9a-f]$":
 89          properties:
 90            reg:
 91              maximum: 7
 92  - if:
 93      properties:
 94        compatible:
 95          contains:
 96            enum:
 97              - nxp,pca9552
 98              - ibm,pca9552
 99    then:
100      patternProperties:
101        "^led@[0-9a-f]$":
102          properties:
103            reg:
104              maximum: 15
105  - if:
106      properties:
107        compatible:
108          contains:
109            enum:
110              - nxp,pca9553
111    then:
112      patternProperties:
113        "^led@[0-9a-f]$":
114          properties:
115            reg:
116              maximum: 3
117
118additionalProperties: false
119
120examples:
121  - |
122    #include <dt-bindings/leds/leds-pca955x.h>
123
124    i2c {
125        #address-cells = <1>;
126        #size-cells = <0>;
127
128        led-controller@60 {
129            compatible = "nxp,pca9552";
130            reg = <0x60>;
131            #address-cells = <1>;
132            #size-cells = <0>;
133
134            led@0 {
135                reg = <0>;
136                label = "red:power";
137                linux,default-trigger = "default-on";
138                type = <PCA955X_TYPE_LED>;
139            };
140            led@1 {
141                reg = <1>;
142                label = "green:power";
143                type = <PCA955X_TYPE_LED>;
144            };
145            led@2 {
146                reg = <2>;
147                label = "pca9552:yellow";
148                type = <PCA955X_TYPE_LED>;
149            };
150            led@3 {
151                reg = <3>;
152                label = "pca9552:white";
153                type = <PCA955X_TYPE_LED>;
154            };
155        };
156    };
157
158...
~/ Read-only file preview.