Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
torvalds
GitHub Repository: torvalds/linux
Path: blob/master/Documentation/devicetree/bindings/gpio/gpio-pca95xx.yaml
26308 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
78
reg:
79
maxItems: 1
80
81
gpio-controller: true
82
83
'#gpio-cells':
84
const: 2
85
86
gpio-line-names:
87
minItems: 1
88
maxItems: 40
89
90
interrupts:
91
maxItems: 1
92
93
interrupt-controller: true
94
95
'#interrupt-cells':
96
const: 2
97
98
reset-gpios:
99
maxItems: 1
100
description:
101
GPIO specification for the RESET input. This is an active low signal to
102
the PCA953x. Not valid for Maxim MAX732x devices.
103
104
vcc-supply:
105
description:
106
Optional power supply. Not valid for Maxim MAX732x devices.
107
108
wakeup-source:
109
$ref: /schemas/types.yaml#/definitions/flag
110
111
patternProperties:
112
"^(hog-[0-9]+|.+-hog(-[0-9]+)?)$":
113
type: object
114
required:
115
- gpio-hog
116
117
required:
118
- compatible
119
- reg
120
- gpio-controller
121
- "#gpio-cells"
122
123
additionalProperties: false
124
125
allOf:
126
- if:
127
properties:
128
compatible:
129
contains:
130
enum:
131
- maxim,max7320
132
- maxim,max7321
133
- maxim,max7322
134
- maxim,max7323
135
- maxim,max7324
136
- maxim,max7325
137
- maxim,max7326
138
- maxim,max7327
139
- toradex,ecgpiol16
140
then:
141
properties:
142
reset-gpios: false
143
vcc-supply: false
144
145
examples:
146
- |
147
#include <dt-bindings/gpio/gpio.h>
148
#include <dt-bindings/interrupt-controller/irq.h>
149
150
i2c {
151
#address-cells = <1>;
152
#size-cells = <0>;
153
154
gpio@20 {
155
compatible = "nxp,pca9505";
156
reg = <0x20>;
157
pinctrl-names = "default";
158
pinctrl-0 = <&pinctrl_pca9505>;
159
gpio-controller;
160
#gpio-cells = <2>;
161
interrupt-parent = <&gpio3>;
162
interrupts = <23 IRQ_TYPE_LEVEL_LOW>;
163
164
usb3-sata-sel-hog {
165
gpio-hog;
166
gpios = <4 GPIO_ACTIVE_HIGH>;
167
output-low;
168
line-name = "usb3_sata_sel";
169
};
170
};
171
};
172
173
- |
174
#include <dt-bindings/interrupt-controller/irq.h>
175
176
i2c {
177
#address-cells = <1>;
178
#size-cells = <0>;
179
180
gpio99: gpio@22 {
181
compatible = "nxp,pcal6524";
182
reg = <0x22>;
183
interrupt-parent = <&gpio6>;
184
interrupts = <1 IRQ_TYPE_EDGE_FALLING>; /* gpio6_161 */
185
interrupt-controller;
186
#interrupt-cells = <2>;
187
vcc-supply = <&vdds_1v8_main>;
188
gpio-controller;
189
#gpio-cells = <2>;
190
gpio-line-names = "hdmi-ct-hpd", "hdmi.ls-oe", "p02", "p03",
191
"vibra", "fault2", "p06", "p07", "en-usb",
192
"en-host1", "en-host2", "chg-int", "p14", "p15",
193
"mic-int", "en-modem", "shdn-hs-amp",
194
"chg-status+red", "green", "blue", "en-esata",
195
"fault1", "p26", "p27";
196
};
197
};
198
199
- |
200
#include <dt-bindings/interrupt-controller/irq.h>
201
202
i2c {
203
#address-cells = <1>;
204
#size-cells = <0>;
205
206
/* MAX7325 with interrupt support enabled */
207
gpio@6d {
208
compatible = "maxim,max7325";
209
reg = <0x6d>;
210
gpio-controller;
211
#gpio-cells = <2>;
212
interrupt-controller;
213
#interrupt-cells = <2>;
214
interrupt-parent = <&gpio4>;
215
interrupts = <29 IRQ_TYPE_EDGE_FALLING>;
216
};
217
};
218
219
- |
220
i2c {
221
#address-cells = <1>;
222
#size-cells = <0>;
223
224
/* MAX7325 with interrupt support disabled */
225
gpio@6e {
226
compatible = "maxim,max7325";
227
reg = <0x6e>;
228
gpio-controller;
229
#gpio-cells = <2>;
230
};
231
};
232
233