Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
torvalds
GitHub Repository: torvalds/linux
Path: blob/master/Documentation/devicetree/bindings/gpio/gpio-pca95xx.yaml
52978 views
1
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2
%YAML 1.2
3
---
4
$id: http://devicetree.org/schemas/gpio/gpio-pca95xx.yaml#
5
$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7
title: NXP PCA95xx I2C GPIO multiplexer
8
9
maintainers:
10
- Krzysztof Kozlowski <krzk@kernel.org>
11
12
description: |+
13
Bindings for the family of I2C GPIO multiplexers/expanders: NXP PCA95xx,
14
Maxim MAX73xx
15
16
properties:
17
compatible:
18
oneOf:
19
- items:
20
- const: toradex,ecgpiol16
21
- const: nxp,pcal6416
22
- items:
23
- const: diodes,pi4ioe5v6534q
24
- const: nxp,pcal6534
25
- items:
26
- enum:
27
- exar,xra1202
28
- maxim,max7310
29
- maxim,max7312
30
- maxim,max7313
31
- maxim,max7315
32
- maxim,max7319
33
- maxim,max7320
34
- maxim,max7321
35
- maxim,max7322
36
- maxim,max7323
37
- maxim,max7324
38
- maxim,max7325
39
- maxim,max7326
40
- maxim,max7327
41
- nxp,pca6408
42
- nxp,pca6416
43
- nxp,pca9505
44
- nxp,pca9506
45
- nxp,pca9534
46
- nxp,pca9535
47
- nxp,pca9536
48
- nxp,pca9537
49
- nxp,pca9538
50
- nxp,pca9539
51
- nxp,pca9554
52
- nxp,pca9555
53
- nxp,pca9556
54
- nxp,pca9557
55
- nxp,pca9574
56
- nxp,pca9575
57
- nxp,pca9698
58
- nxp,pcal6408
59
- nxp,pcal6416
60
- nxp,pcal6524
61
- nxp,pcal6534
62
- nxp,pcal9535
63
- nxp,pcal9554b
64
- nxp,pcal9555a
65
- onnn,cat9554
66
- onnn,pca9654
67
- ti,pca6107
68
- ti,pca9536
69
- ti,tca6408
70
- ti,tca6416
71
- ti,tca6418
72
- ti,tca6424
73
- ti,tca9535
74
- ti,tca9538
75
- ti,tca9539
76
- ti,tca9554
77
- ti,tcal6408
78
- ti,tcal6416
79
80
reg:
81
maxItems: 1
82
83
gpio-controller: true
84
85
'#gpio-cells':
86
const: 2
87
88
gpio-line-names:
89
minItems: 1
90
maxItems: 40
91
92
interrupts:
93
maxItems: 1
94
95
interrupt-controller: true
96
97
'#interrupt-cells':
98
const: 2
99
100
reset-gpios:
101
maxItems: 1
102
description:
103
GPIO specification for the RESET input. This is an active low signal to
104
the PCA953x. Not valid for Maxim MAX732x devices.
105
106
vcc-supply:
107
description:
108
Optional power supply. Not valid for Maxim MAX732x devices.
109
110
wakeup-source:
111
$ref: /schemas/types.yaml#/definitions/flag
112
113
patternProperties:
114
"^(hog-[0-9]+|.+-hog(-[0-9]+)?)$":
115
type: object
116
required:
117
- gpio-hog
118
119
required:
120
- compatible
121
- reg
122
- gpio-controller
123
- "#gpio-cells"
124
125
additionalProperties: false
126
127
allOf:
128
- if:
129
properties:
130
compatible:
131
contains:
132
enum:
133
- maxim,max7320
134
- maxim,max7321
135
- maxim,max7322
136
- maxim,max7323
137
- maxim,max7324
138
- maxim,max7325
139
- maxim,max7326
140
- maxim,max7327
141
- toradex,ecgpiol16
142
then:
143
properties:
144
reset-gpios: false
145
vcc-supply: false
146
147
examples:
148
- |
149
#include <dt-bindings/gpio/gpio.h>
150
#include <dt-bindings/interrupt-controller/irq.h>
151
152
i2c {
153
#address-cells = <1>;
154
#size-cells = <0>;
155
156
gpio@20 {
157
compatible = "nxp,pca9505";
158
reg = <0x20>;
159
pinctrl-names = "default";
160
pinctrl-0 = <&pinctrl_pca9505>;
161
gpio-controller;
162
#gpio-cells = <2>;
163
interrupt-parent = <&gpio3>;
164
interrupts = <23 IRQ_TYPE_LEVEL_LOW>;
165
166
usb3-sata-sel-hog {
167
gpio-hog;
168
gpios = <4 GPIO_ACTIVE_HIGH>;
169
output-low;
170
line-name = "usb3_sata_sel";
171
};
172
};
173
};
174
175
- |
176
#include <dt-bindings/interrupt-controller/irq.h>
177
178
i2c {
179
#address-cells = <1>;
180
#size-cells = <0>;
181
182
gpio99: gpio@22 {
183
compatible = "nxp,pcal6524";
184
reg = <0x22>;
185
interrupt-parent = <&gpio6>;
186
interrupts = <1 IRQ_TYPE_EDGE_FALLING>; /* gpio6_161 */
187
interrupt-controller;
188
#interrupt-cells = <2>;
189
vcc-supply = <&vdds_1v8_main>;
190
gpio-controller;
191
#gpio-cells = <2>;
192
gpio-line-names = "hdmi-ct-hpd", "hdmi.ls-oe", "p02", "p03",
193
"vibra", "fault2", "p06", "p07", "en-usb",
194
"en-host1", "en-host2", "chg-int", "p14", "p15",
195
"mic-int", "en-modem", "shdn-hs-amp",
196
"chg-status+red", "green", "blue", "en-esata",
197
"fault1", "p26", "p27";
198
};
199
};
200
201
- |
202
#include <dt-bindings/interrupt-controller/irq.h>
203
204
i2c {
205
#address-cells = <1>;
206
#size-cells = <0>;
207
208
/* MAX7325 with interrupt support enabled */
209
gpio@6d {
210
compatible = "maxim,max7325";
211
reg = <0x6d>;
212
gpio-controller;
213
#gpio-cells = <2>;
214
interrupt-controller;
215
#interrupt-cells = <2>;
216
interrupt-parent = <&gpio4>;
217
interrupts = <29 IRQ_TYPE_EDGE_FALLING>;
218
};
219
};
220
221
- |
222
i2c {
223
#address-cells = <1>;
224
#size-cells = <0>;
225
226
/* MAX7325 with interrupt support disabled */
227
gpio@6e {
228
compatible = "maxim,max7325";
229
reg = <0x6e>;
230
gpio-controller;
231
#gpio-cells = <2>;
232
};
233
};
234
235