xref: /freebsd/sys/contrib/device-tree/Bindings/pinctrl/qcom,pmic-gpio.yaml (revision f126890ac5386406dadf7c4cfa9566cbb56537c5)
1354d7675SEmmanuel Vadot# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
2354d7675SEmmanuel Vadot%YAML 1.2
3354d7675SEmmanuel Vadot---
4354d7675SEmmanuel Vadot$id: http://devicetree.org/schemas/pinctrl/qcom,pmic-gpio.yaml#
5354d7675SEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml#
6354d7675SEmmanuel Vadot
7354d7675SEmmanuel Vadottitle: Qualcomm PMIC GPIO block
8354d7675SEmmanuel Vadot
9354d7675SEmmanuel Vadotmaintainers:
10354d7675SEmmanuel Vadot  - Bjorn Andersson <bjorn.andersson@linaro.org>
11354d7675SEmmanuel Vadot
12354d7675SEmmanuel Vadotdescription:
13354d7675SEmmanuel Vadot  This binding describes the GPIO block(s) found in the 8xxx series of
14354d7675SEmmanuel Vadot  PMIC's from Qualcomm.
15354d7675SEmmanuel Vadot
16354d7675SEmmanuel Vadotproperties:
17354d7675SEmmanuel Vadot  compatible:
18354d7675SEmmanuel Vadot    items:
19354d7675SEmmanuel Vadot      - enum:
20e67e8565SEmmanuel Vadot          - qcom,pm2250-gpio
21354d7675SEmmanuel Vadot          - qcom,pm660-gpio
22354d7675SEmmanuel Vadot          - qcom,pm660l-gpio
23d5b0e70fSEmmanuel Vadot          - qcom,pm6125-gpio
24354d7675SEmmanuel Vadot          - qcom,pm6150-gpio
25354d7675SEmmanuel Vadot          - qcom,pm6150l-gpio
268cc087a1SEmmanuel Vadot          - qcom,pm6350-gpio
277ef62cebSEmmanuel Vadot          - qcom,pm7250b-gpio
28354d7675SEmmanuel Vadot          - qcom,pm7325-gpio
29354d7675SEmmanuel Vadot          - qcom,pm8005-gpio
30354d7675SEmmanuel Vadot          - qcom,pm8008-gpio
31354d7675SEmmanuel Vadot          - qcom,pm8018-gpio
32e67e8565SEmmanuel Vadot          - qcom,pm8019-gpio
33354d7675SEmmanuel Vadot          - qcom,pm8038-gpio
34354d7675SEmmanuel Vadot          - qcom,pm8058-gpio
35354d7675SEmmanuel Vadot          - qcom,pm8150-gpio
36354d7675SEmmanuel Vadot          - qcom,pm8150b-gpio
37d5b0e70fSEmmanuel Vadot          - qcom,pm8150l-gpio
38e67e8565SEmmanuel Vadot          - qcom,pm8226-gpio
39354d7675SEmmanuel Vadot          - qcom,pm8350-gpio
40354d7675SEmmanuel Vadot          - qcom,pm8350b-gpio
41354d7675SEmmanuel Vadot          - qcom,pm8350c-gpio
42c9ccf3a3SEmmanuel Vadot          - qcom,pm8450-gpio
43cb7aa33aSEmmanuel Vadot          - qcom,pm8550-gpio
44cb7aa33aSEmmanuel Vadot          - qcom,pm8550b-gpio
45cb7aa33aSEmmanuel Vadot          - qcom,pm8550ve-gpio
46cb7aa33aSEmmanuel Vadot          - qcom,pm8550vs-gpio
47354d7675SEmmanuel Vadot          - qcom,pm8916-gpio
48354d7675SEmmanuel Vadot          - qcom,pm8917-gpio
49354d7675SEmmanuel Vadot          - qcom,pm8921-gpio
50354d7675SEmmanuel Vadot          - qcom,pm8941-gpio
51354d7675SEmmanuel Vadot          - qcom,pm8950-gpio
52*f126890aSEmmanuel Vadot          - qcom,pm8953-gpio
53354d7675SEmmanuel Vadot          - qcom,pm8994-gpio
54354d7675SEmmanuel Vadot          - qcom,pm8998-gpio
55354d7675SEmmanuel Vadot          - qcom,pma8084-gpio
56fac71e4eSEmmanuel Vadot          - qcom,pmi632-gpio
57354d7675SEmmanuel Vadot          - qcom,pmi8950-gpio
58354d7675SEmmanuel Vadot          - qcom,pmi8994-gpio
59354d7675SEmmanuel Vadot          - qcom,pmi8998-gpio
60354d7675SEmmanuel Vadot          - qcom,pmk8350-gpio
61cb7aa33aSEmmanuel Vadot          - qcom,pmk8550-gpio
62d5b0e70fSEmmanuel Vadot          - qcom,pmm8155au-gpio
63fac71e4eSEmmanuel Vadot          - qcom,pmm8654au-gpio
64b97ee269SEmmanuel Vadot          - qcom,pmp8074-gpio
65354d7675SEmmanuel Vadot          - qcom,pmr735a-gpio
66354d7675SEmmanuel Vadot          - qcom,pmr735b-gpio
67cb7aa33aSEmmanuel Vadot          - qcom,pmr735d-gpio
68354d7675SEmmanuel Vadot          - qcom,pms405-gpio
69354d7675SEmmanuel Vadot          - qcom,pmx55-gpio
70d5b0e70fSEmmanuel Vadot          - qcom,pmx65-gpio
71354d7675SEmmanuel Vadot
72354d7675SEmmanuel Vadot      - enum:
73354d7675SEmmanuel Vadot          - qcom,spmi-gpio
74354d7675SEmmanuel Vadot          - qcom,ssbi-gpio
75354d7675SEmmanuel Vadot
76354d7675SEmmanuel Vadot  reg:
77354d7675SEmmanuel Vadot    maxItems: 1
78354d7675SEmmanuel Vadot
79354d7675SEmmanuel Vadot  interrupt-controller: true
80354d7675SEmmanuel Vadot
81354d7675SEmmanuel Vadot  '#interrupt-cells':
82354d7675SEmmanuel Vadot    const: 2
83354d7675SEmmanuel Vadot
84354d7675SEmmanuel Vadot  gpio-controller: true
85354d7675SEmmanuel Vadot
86354d7675SEmmanuel Vadot  gpio-ranges:
87354d7675SEmmanuel Vadot    maxItems: 1
88354d7675SEmmanuel Vadot
89d5b0e70fSEmmanuel Vadot  gpio-line-names:
90d5b0e70fSEmmanuel Vadot    minItems: 2
91d5b0e70fSEmmanuel Vadot    maxItems: 44
92d5b0e70fSEmmanuel Vadot
93d5b0e70fSEmmanuel Vadot  gpio-reserved-ranges:
94d5b0e70fSEmmanuel Vadot    minItems: 1
95d5b0e70fSEmmanuel Vadot    # maxItems as half of total number of GPIOs, as there has to be at
96d5b0e70fSEmmanuel Vadot    # least one usable GPIO between each reserved range.
97d5b0e70fSEmmanuel Vadot    maxItems: 22
98d5b0e70fSEmmanuel Vadot
99354d7675SEmmanuel Vadot  '#gpio-cells':
100354d7675SEmmanuel Vadot    const: 2
101354d7675SEmmanuel Vadot    description:
102354d7675SEmmanuel Vadot      The first cell will be used to define gpio number and the
103354d7675SEmmanuel Vadot      second denotes the flags for this gpio
104354d7675SEmmanuel Vadot
105354d7675SEmmanuel VadotadditionalProperties: false
106354d7675SEmmanuel Vadot
107354d7675SEmmanuel Vadotrequired:
108354d7675SEmmanuel Vadot  - compatible
109354d7675SEmmanuel Vadot  - reg
110354d7675SEmmanuel Vadot  - gpio-controller
111354d7675SEmmanuel Vadot  - '#gpio-cells'
112354d7675SEmmanuel Vadot  - gpio-ranges
113354d7675SEmmanuel Vadot  - interrupt-controller
114354d7675SEmmanuel Vadot
115d5b0e70fSEmmanuel VadotallOf:
116d5b0e70fSEmmanuel Vadot  - if:
117d5b0e70fSEmmanuel Vadot      properties:
118d5b0e70fSEmmanuel Vadot        compatible:
119d5b0e70fSEmmanuel Vadot          contains:
120d5b0e70fSEmmanuel Vadot            enum:
121d5b0e70fSEmmanuel Vadot              - qcom,pm8008-gpio
122d5b0e70fSEmmanuel Vadot              - qcom,pmi8950-gpio
123cb7aa33aSEmmanuel Vadot              - qcom,pmr735d-gpio
124d5b0e70fSEmmanuel Vadot    then:
125d5b0e70fSEmmanuel Vadot      properties:
126d5b0e70fSEmmanuel Vadot        gpio-line-names:
127d5b0e70fSEmmanuel Vadot          minItems: 2
128d5b0e70fSEmmanuel Vadot          maxItems: 2
129d5b0e70fSEmmanuel Vadot        gpio-reserved-ranges:
130d5b0e70fSEmmanuel Vadot          maxItems: 1
131d5b0e70fSEmmanuel Vadot
132d5b0e70fSEmmanuel Vadot  - if:
133d5b0e70fSEmmanuel Vadot      properties:
134d5b0e70fSEmmanuel Vadot        compatible:
135d5b0e70fSEmmanuel Vadot          contains:
136d5b0e70fSEmmanuel Vadot            enum:
137d5b0e70fSEmmanuel Vadot              - qcom,pm8005-gpio
138d5b0e70fSEmmanuel Vadot              - qcom,pm8450-gpio
139d5b0e70fSEmmanuel Vadot              - qcom,pm8916-gpio
140d5b0e70fSEmmanuel Vadot              - qcom,pmk8350-gpio
141d5b0e70fSEmmanuel Vadot              - qcom,pmr735a-gpio
142d5b0e70fSEmmanuel Vadot              - qcom,pmr735b-gpio
143d5b0e70fSEmmanuel Vadot    then:
144d5b0e70fSEmmanuel Vadot      properties:
145d5b0e70fSEmmanuel Vadot        gpio-line-names:
146d5b0e70fSEmmanuel Vadot          minItems: 4
147d5b0e70fSEmmanuel Vadot          maxItems: 4
148d5b0e70fSEmmanuel Vadot        gpio-reserved-ranges:
149d5b0e70fSEmmanuel Vadot          minItems: 1
150d5b0e70fSEmmanuel Vadot          maxItems: 2
151d5b0e70fSEmmanuel Vadot
152d5b0e70fSEmmanuel Vadot  - if:
153d5b0e70fSEmmanuel Vadot      properties:
154d5b0e70fSEmmanuel Vadot        compatible:
155d5b0e70fSEmmanuel Vadot          contains:
156d5b0e70fSEmmanuel Vadot            enum:
157d5b0e70fSEmmanuel Vadot              - qcom,pm8018-gpio
158d5b0e70fSEmmanuel Vadot              - qcom,pm8019-gpio
159cb7aa33aSEmmanuel Vadot              - qcom,pm8550vs-gpio
160cb7aa33aSEmmanuel Vadot              - qcom,pmk8550-gpio
161d5b0e70fSEmmanuel Vadot    then:
162d5b0e70fSEmmanuel Vadot      properties:
163d5b0e70fSEmmanuel Vadot        gpio-line-names:
164d5b0e70fSEmmanuel Vadot          minItems: 6
165d5b0e70fSEmmanuel Vadot          maxItems: 6
166d5b0e70fSEmmanuel Vadot        gpio-reserved-ranges:
167d5b0e70fSEmmanuel Vadot          minItems: 1
168d5b0e70fSEmmanuel Vadot          maxItems: 3
169d5b0e70fSEmmanuel Vadot
170d5b0e70fSEmmanuel Vadot  - if:
171d5b0e70fSEmmanuel Vadot      properties:
172d5b0e70fSEmmanuel Vadot        compatible:
173d5b0e70fSEmmanuel Vadot          contains:
174d5b0e70fSEmmanuel Vadot            enum:
175b97ee269SEmmanuel Vadot              - qcom,pm8226-gpio
176d5b0e70fSEmmanuel Vadot              - qcom,pm8350b-gpio
177cb7aa33aSEmmanuel Vadot              - qcom,pm8550ve-gpio
178d5b0e70fSEmmanuel Vadot              - qcom,pm8950-gpio
179*f126890aSEmmanuel Vadot              - qcom,pm8953-gpio
180fac71e4eSEmmanuel Vadot              - qcom,pmi632-gpio
181d5b0e70fSEmmanuel Vadot    then:
182d5b0e70fSEmmanuel Vadot      properties:
183d5b0e70fSEmmanuel Vadot        gpio-line-names:
184d5b0e70fSEmmanuel Vadot          minItems: 8
185d5b0e70fSEmmanuel Vadot          maxItems: 8
186d5b0e70fSEmmanuel Vadot        gpio-reserved-ranges:
187d5b0e70fSEmmanuel Vadot          minItems: 1
188d5b0e70fSEmmanuel Vadot          maxItems: 4
189d5b0e70fSEmmanuel Vadot
190d5b0e70fSEmmanuel Vadot  - if:
191d5b0e70fSEmmanuel Vadot      properties:
192d5b0e70fSEmmanuel Vadot        compatible:
193d5b0e70fSEmmanuel Vadot          contains:
194d5b0e70fSEmmanuel Vadot            enum:
195d5b0e70fSEmmanuel Vadot              - qcom,pm6350-gpio
196d5b0e70fSEmmanuel Vadot              - qcom,pm8350c-gpio
197d5b0e70fSEmmanuel Vadot    then:
198d5b0e70fSEmmanuel Vadot      properties:
199d5b0e70fSEmmanuel Vadot        gpio-line-names:
200d5b0e70fSEmmanuel Vadot          minItems: 9
201d5b0e70fSEmmanuel Vadot          maxItems: 9
202d5b0e70fSEmmanuel Vadot        gpio-reserved-ranges:
203d5b0e70fSEmmanuel Vadot          minItems: 1
204d5b0e70fSEmmanuel Vadot          maxItems: 5
205d5b0e70fSEmmanuel Vadot
206d5b0e70fSEmmanuel Vadot  - if:
207d5b0e70fSEmmanuel Vadot      properties:
208d5b0e70fSEmmanuel Vadot        compatible:
209d5b0e70fSEmmanuel Vadot          contains:
210d5b0e70fSEmmanuel Vadot            enum:
211d5b0e70fSEmmanuel Vadot              - qcom,pm2250-gpio
212d5b0e70fSEmmanuel Vadot              - qcom,pm6150-gpio
213d5b0e70fSEmmanuel Vadot              - qcom,pm7325-gpio
214d5b0e70fSEmmanuel Vadot              - qcom,pm8150-gpio
215d5b0e70fSEmmanuel Vadot              - qcom,pm8350-gpio
216d5b0e70fSEmmanuel Vadot              - qcom,pmc8180-gpio
217d5b0e70fSEmmanuel Vadot              - qcom,pmi8994-gpio
218d5b0e70fSEmmanuel Vadot              - qcom,pmm8155au-gpio
219d5b0e70fSEmmanuel Vadot    then:
220d5b0e70fSEmmanuel Vadot      properties:
221d5b0e70fSEmmanuel Vadot        gpio-line-names:
222d5b0e70fSEmmanuel Vadot          minItems: 10
223d5b0e70fSEmmanuel Vadot          maxItems: 10
224d5b0e70fSEmmanuel Vadot        gpio-reserved-ranges:
225d5b0e70fSEmmanuel Vadot          minItems: 1
226d5b0e70fSEmmanuel Vadot          maxItems: 5
227d5b0e70fSEmmanuel Vadot
228d5b0e70fSEmmanuel Vadot  - if:
229d5b0e70fSEmmanuel Vadot      properties:
230d5b0e70fSEmmanuel Vadot        compatible:
231d5b0e70fSEmmanuel Vadot          contains:
232d5b0e70fSEmmanuel Vadot            enum:
233d5b0e70fSEmmanuel Vadot              - qcom,pmx55-gpio
234d5b0e70fSEmmanuel Vadot    then:
235d5b0e70fSEmmanuel Vadot      properties:
236d5b0e70fSEmmanuel Vadot        gpio-line-names:
237d5b0e70fSEmmanuel Vadot          minItems: 11
238d5b0e70fSEmmanuel Vadot          maxItems: 11
239d5b0e70fSEmmanuel Vadot        gpio-reserved-ranges:
240d5b0e70fSEmmanuel Vadot          minItems: 1
241d5b0e70fSEmmanuel Vadot          maxItems: 6
242d5b0e70fSEmmanuel Vadot
243d5b0e70fSEmmanuel Vadot  - if:
244d5b0e70fSEmmanuel Vadot      properties:
245d5b0e70fSEmmanuel Vadot        compatible:
246d5b0e70fSEmmanuel Vadot          contains:
247d5b0e70fSEmmanuel Vadot            enum:
248d5b0e70fSEmmanuel Vadot              - qcom,pm660l-gpio
249d5b0e70fSEmmanuel Vadot              - qcom,pm6150l-gpio
2507ef62cebSEmmanuel Vadot              - qcom,pm7250b-gpio
251d5b0e70fSEmmanuel Vadot              - qcom,pm8038-gpio
252d5b0e70fSEmmanuel Vadot              - qcom,pm8150b-gpio
253d5b0e70fSEmmanuel Vadot              - qcom,pm8150l-gpio
254cb7aa33aSEmmanuel Vadot              - qcom,pm8550-gpio
255cb7aa33aSEmmanuel Vadot              - qcom,pm8550b-gpio
256d5b0e70fSEmmanuel Vadot              - qcom,pmc8180c-gpio
257b97ee269SEmmanuel Vadot              - qcom,pmp8074-gpio
258d5b0e70fSEmmanuel Vadot              - qcom,pms405-gpio
259d5b0e70fSEmmanuel Vadot    then:
260d5b0e70fSEmmanuel Vadot      properties:
261d5b0e70fSEmmanuel Vadot        gpio-line-names:
262d5b0e70fSEmmanuel Vadot          minItems: 12
263d5b0e70fSEmmanuel Vadot          maxItems: 12
264d5b0e70fSEmmanuel Vadot        gpio-reserved-ranges:
265d5b0e70fSEmmanuel Vadot          minItems: 1
266d5b0e70fSEmmanuel Vadot          maxItems: 6
267d5b0e70fSEmmanuel Vadot
268d5b0e70fSEmmanuel Vadot  - if:
269d5b0e70fSEmmanuel Vadot      properties:
270d5b0e70fSEmmanuel Vadot        compatible:
271d5b0e70fSEmmanuel Vadot          contains:
272d5b0e70fSEmmanuel Vadot            enum:
273d5b0e70fSEmmanuel Vadot              - qcom,pm660-gpio
274d5b0e70fSEmmanuel Vadot    then:
275d5b0e70fSEmmanuel Vadot      properties:
276d5b0e70fSEmmanuel Vadot        gpio-line-names:
277d5b0e70fSEmmanuel Vadot          minItems: 13
278d5b0e70fSEmmanuel Vadot          maxItems: 13
279d5b0e70fSEmmanuel Vadot        gpio-reserved-ranges:
280d5b0e70fSEmmanuel Vadot          minItems: 1
281d5b0e70fSEmmanuel Vadot          maxItems: 7
282d5b0e70fSEmmanuel Vadot
283d5b0e70fSEmmanuel Vadot  - if:
284d5b0e70fSEmmanuel Vadot      properties:
285d5b0e70fSEmmanuel Vadot        compatible:
286d5b0e70fSEmmanuel Vadot          contains:
287d5b0e70fSEmmanuel Vadot            enum:
288d5b0e70fSEmmanuel Vadot              - qcom,pmi8998-gpio
289d5b0e70fSEmmanuel Vadot    then:
290d5b0e70fSEmmanuel Vadot      properties:
291d5b0e70fSEmmanuel Vadot        gpio-line-names:
292d5b0e70fSEmmanuel Vadot          minItems: 14
293d5b0e70fSEmmanuel Vadot          maxItems: 14
294d5b0e70fSEmmanuel Vadot        gpio-reserved-ranges:
295d5b0e70fSEmmanuel Vadot          minItems: 1
296d5b0e70fSEmmanuel Vadot          maxItems: 7
297d5b0e70fSEmmanuel Vadot
298d5b0e70fSEmmanuel Vadot  - if:
299d5b0e70fSEmmanuel Vadot      properties:
300d5b0e70fSEmmanuel Vadot        compatible:
301d5b0e70fSEmmanuel Vadot          contains:
302d5b0e70fSEmmanuel Vadot            enum:
303d5b0e70fSEmmanuel Vadot              - qcom,pmx65-gpio
304d5b0e70fSEmmanuel Vadot    then:
305d5b0e70fSEmmanuel Vadot      properties:
306d5b0e70fSEmmanuel Vadot        gpio-line-names:
307d5b0e70fSEmmanuel Vadot          minItems: 16
308d5b0e70fSEmmanuel Vadot          maxItems: 16
309d5b0e70fSEmmanuel Vadot        gpio-reserved-ranges:
310d5b0e70fSEmmanuel Vadot          minItems: 1
311d5b0e70fSEmmanuel Vadot          maxItems: 8
312d5b0e70fSEmmanuel Vadot
313d5b0e70fSEmmanuel Vadot  - if:
314d5b0e70fSEmmanuel Vadot      properties:
315d5b0e70fSEmmanuel Vadot        compatible:
316d5b0e70fSEmmanuel Vadot          contains:
317d5b0e70fSEmmanuel Vadot            enum:
318d5b0e70fSEmmanuel Vadot              - qcom,pm8994-gpio
319d5b0e70fSEmmanuel Vadot              - qcom,pma8084-gpio
320d5b0e70fSEmmanuel Vadot    then:
321d5b0e70fSEmmanuel Vadot      properties:
322d5b0e70fSEmmanuel Vadot        gpio-line-names:
323d5b0e70fSEmmanuel Vadot          minItems: 22
324d5b0e70fSEmmanuel Vadot          maxItems: 22
325d5b0e70fSEmmanuel Vadot        gpio-reserved-ranges:
326d5b0e70fSEmmanuel Vadot          minItems: 1
327d5b0e70fSEmmanuel Vadot          maxItems: 11
328d5b0e70fSEmmanuel Vadot
329d5b0e70fSEmmanuel Vadot  - if:
330d5b0e70fSEmmanuel Vadot      properties:
331d5b0e70fSEmmanuel Vadot        compatible:
332d5b0e70fSEmmanuel Vadot          contains:
333d5b0e70fSEmmanuel Vadot            enum:
334d5b0e70fSEmmanuel Vadot              - qcom,pm8998-gpio
335d5b0e70fSEmmanuel Vadot    then:
336d5b0e70fSEmmanuel Vadot      properties:
337d5b0e70fSEmmanuel Vadot        gpio-line-names:
338d5b0e70fSEmmanuel Vadot          minItems: 26
339d5b0e70fSEmmanuel Vadot          maxItems: 26
340d5b0e70fSEmmanuel Vadot        gpio-reserved-ranges:
341d5b0e70fSEmmanuel Vadot          minItems: 1
342d5b0e70fSEmmanuel Vadot          maxItems: 13
343d5b0e70fSEmmanuel Vadot
344d5b0e70fSEmmanuel Vadot  - if:
345d5b0e70fSEmmanuel Vadot      properties:
346d5b0e70fSEmmanuel Vadot        compatible:
347d5b0e70fSEmmanuel Vadot          contains:
348d5b0e70fSEmmanuel Vadot            enum:
349d5b0e70fSEmmanuel Vadot              - qcom,pm8941-gpio
350d5b0e70fSEmmanuel Vadot    then:
351d5b0e70fSEmmanuel Vadot      properties:
352d5b0e70fSEmmanuel Vadot        gpio-line-names:
353d5b0e70fSEmmanuel Vadot          minItems: 36
354d5b0e70fSEmmanuel Vadot          maxItems: 36
355d5b0e70fSEmmanuel Vadot        gpio-reserved-ranges:
356d5b0e70fSEmmanuel Vadot          minItems: 1
357d5b0e70fSEmmanuel Vadot          maxItems: 18
358d5b0e70fSEmmanuel Vadot
359d5b0e70fSEmmanuel Vadot  - if:
360d5b0e70fSEmmanuel Vadot      properties:
361d5b0e70fSEmmanuel Vadot        compatible:
362d5b0e70fSEmmanuel Vadot          contains:
363d5b0e70fSEmmanuel Vadot            enum:
364d5b0e70fSEmmanuel Vadot              - qcom,pm8917-gpio
365d5b0e70fSEmmanuel Vadot    then:
366d5b0e70fSEmmanuel Vadot      properties:
367d5b0e70fSEmmanuel Vadot        gpio-line-names:
368d5b0e70fSEmmanuel Vadot          minItems: 38
369d5b0e70fSEmmanuel Vadot          maxItems: 38
370d5b0e70fSEmmanuel Vadot        gpio-reserved-ranges:
371d5b0e70fSEmmanuel Vadot          minItems: 1
372d5b0e70fSEmmanuel Vadot          maxItems: 19
373d5b0e70fSEmmanuel Vadot
374d5b0e70fSEmmanuel Vadot  - if:
375d5b0e70fSEmmanuel Vadot      properties:
376d5b0e70fSEmmanuel Vadot        compatible:
377d5b0e70fSEmmanuel Vadot          contains:
378d5b0e70fSEmmanuel Vadot            enum:
379d5b0e70fSEmmanuel Vadot              - qcom,pm8058-gpio
380d5b0e70fSEmmanuel Vadot              - qcom,pm8921-gpio
381d5b0e70fSEmmanuel Vadot    then:
382d5b0e70fSEmmanuel Vadot      properties:
383d5b0e70fSEmmanuel Vadot        gpio-line-names:
384d5b0e70fSEmmanuel Vadot          minItems: 44
385d5b0e70fSEmmanuel Vadot          maxItems: 44
386d5b0e70fSEmmanuel Vadot        gpio-reserved-ranges:
387d5b0e70fSEmmanuel Vadot          minItems: 1
388d5b0e70fSEmmanuel Vadot          maxItems: 22
389d5b0e70fSEmmanuel Vadot
390354d7675SEmmanuel VadotpatternProperties:
391354d7675SEmmanuel Vadot  '-state$':
392354d7675SEmmanuel Vadot    oneOf:
393354d7675SEmmanuel Vadot      - $ref: "#/$defs/qcom-pmic-gpio-state"
394354d7675SEmmanuel Vadot      - patternProperties:
395d5b0e70fSEmmanuel Vadot          "(pinconf|-pins)$":
396354d7675SEmmanuel Vadot            $ref: "#/$defs/qcom-pmic-gpio-state"
397d5b0e70fSEmmanuel Vadot        additionalProperties: false
398354d7675SEmmanuel Vadot
399354d7675SEmmanuel Vadot$defs:
400354d7675SEmmanuel Vadot  qcom-pmic-gpio-state:
401354d7675SEmmanuel Vadot    type: object
402354d7675SEmmanuel Vadot    allOf:
403fac71e4eSEmmanuel Vadot      - $ref: pinmux-node.yaml
404fac71e4eSEmmanuel Vadot      - $ref: pincfg-node.yaml
405354d7675SEmmanuel Vadot    properties:
406354d7675SEmmanuel Vadot      pins:
407354d7675SEmmanuel Vadot        description:
408354d7675SEmmanuel Vadot          List of gpio pins affected by the properties specified in
409354d7675SEmmanuel Vadot          this subnode.  Valid pins are
410d5b0e70fSEmmanuel Vadot                 - gpio1-gpio9 for pm6125
411354d7675SEmmanuel Vadot                 - gpio1-gpio10 for pm6150
412354d7675SEmmanuel Vadot                 - gpio1-gpio12 for pm6150l
4138cc087a1SEmmanuel Vadot                 - gpio1-gpio9 for pm6350
4147ef62cebSEmmanuel Vadot                 - gpio1-gpio12 for pm7250b
415354d7675SEmmanuel Vadot                 - gpio1-gpio10 for pm7325
416354d7675SEmmanuel Vadot                 - gpio1-gpio4 for pm8005
417354d7675SEmmanuel Vadot                 - gpio1-gpio2 for pm8008
418354d7675SEmmanuel Vadot                 - gpio1-gpio6 for pm8018
419354d7675SEmmanuel Vadot                 - gpio1-gpio12 for pm8038
420354d7675SEmmanuel Vadot                 - gpio1-gpio40 for pm8058
421354d7675SEmmanuel Vadot                 - gpio1-gpio10 for pm8150 (holes on gpio2, gpio5,
422354d7675SEmmanuel Vadot                                            gpio7 and gpio8)
423354d7675SEmmanuel Vadot                 - gpio1-gpio12 for pm8150b (holes on gpio3, gpio4
424354d7675SEmmanuel Vadot                                             and gpio7)
425354d7675SEmmanuel Vadot                 - gpio1-gpio12 for pm8150l (hole on gpio7)
426354d7675SEmmanuel Vadot                 - gpio1-gpio4 for pm8916
427354d7675SEmmanuel Vadot                 - gpio1-gpio10 for pm8350
428354d7675SEmmanuel Vadot                 - gpio1-gpio8 for pm8350b
429354d7675SEmmanuel Vadot                 - gpio1-gpio9 for pm8350c
4307ef62cebSEmmanuel Vadot                 - gpio1-gpio4 for pm8450
431cb7aa33aSEmmanuel Vadot                 - gpio1-gpio12 for pm8550
432cb7aa33aSEmmanuel Vadot                 - gpio1-gpio12 for pm8550b
433cb7aa33aSEmmanuel Vadot                 - gpio1-gpio8 for pm8550ve
434cb7aa33aSEmmanuel Vadot                 - gpio1-gpio6 for pm8550vs
435354d7675SEmmanuel Vadot                 - gpio1-gpio38 for pm8917
436354d7675SEmmanuel Vadot                 - gpio1-gpio44 for pm8921
437354d7675SEmmanuel Vadot                 - gpio1-gpio36 for pm8941
438354d7675SEmmanuel Vadot                 - gpio1-gpio8 for pm8950 (hole on gpio3)
439*f126890aSEmmanuel Vadot                 - gpio1-gpio8 for pm8953 (hole on gpio3 and gpio6)
440354d7675SEmmanuel Vadot                 - gpio1-gpio22 for pm8994
441354d7675SEmmanuel Vadot                 - gpio1-gpio26 for pm8998
442354d7675SEmmanuel Vadot                 - gpio1-gpio22 for pma8084
443fac71e4eSEmmanuel Vadot                 - gpio1-gpio8 for pmi632
444354d7675SEmmanuel Vadot                 - gpio1-gpio2 for pmi8950
445354d7675SEmmanuel Vadot                 - gpio1-gpio10 for pmi8994
446354d7675SEmmanuel Vadot                 - gpio1-gpio4 for pmk8350
447cb7aa33aSEmmanuel Vadot                 - gpio1-gpio6 for pmk8550
448d5b0e70fSEmmanuel Vadot                 - gpio1-gpio10 for pmm8155au
449fac71e4eSEmmanuel Vadot                 - gpio1-gpio12 for pmm8654au
450b97ee269SEmmanuel Vadot                 - gpio1-gpio12 for pmp8074 (holes on gpio1 and gpio12)
451354d7675SEmmanuel Vadot                 - gpio1-gpio4 for pmr735a
452354d7675SEmmanuel Vadot                 - gpio1-gpio4 for pmr735b
453cb7aa33aSEmmanuel Vadot                 - gpio1-gpio2 for pmr735d
454354d7675SEmmanuel Vadot                 - gpio1-gpio12 for pms405 (holes on gpio1, gpio9
455354d7675SEmmanuel Vadot                                            and gpio10)
456354d7675SEmmanuel Vadot                 - gpio1-gpio11 for pmx55 (holes on gpio3, gpio7, gpio10
457354d7675SEmmanuel Vadot                                            and gpio11)
458d5b0e70fSEmmanuel Vadot                 - gpio1-gpio16 for pmx65
459354d7675SEmmanuel Vadot
460354d7675SEmmanuel Vadot        items:
461354d7675SEmmanuel Vadot          pattern: "^gpio([0-9]+)$"
462354d7675SEmmanuel Vadot
463354d7675SEmmanuel Vadot      function:
464354d7675SEmmanuel Vadot        items:
465354d7675SEmmanuel Vadot          - enum:
466354d7675SEmmanuel Vadot              - normal
467354d7675SEmmanuel Vadot              - paired
468354d7675SEmmanuel Vadot              - func1
469354d7675SEmmanuel Vadot              - func2
470354d7675SEmmanuel Vadot              - dtest1
471354d7675SEmmanuel Vadot              - dtest2
472354d7675SEmmanuel Vadot              - dtest3
473354d7675SEmmanuel Vadot              - dtest4
474354d7675SEmmanuel Vadot              - func3  # supported by LV/MV GPIO subtypes
475354d7675SEmmanuel Vadot              - func4  # supported by LV/MV GPIO subtypes
476354d7675SEmmanuel Vadot
477354d7675SEmmanuel Vadot      bias-disable: true
478354d7675SEmmanuel Vadot      bias-pull-down: true
479354d7675SEmmanuel Vadot      bias-pull-up: true
480354d7675SEmmanuel Vadot
481354d7675SEmmanuel Vadot      qcom,pull-up-strength:
482354d7675SEmmanuel Vadot        $ref: /schemas/types.yaml#/definitions/uint32
483354d7675SEmmanuel Vadot        description:
484354d7675SEmmanuel Vadot          Specifies the strength to use for pull up, if selected.
485354d7675SEmmanuel Vadot          Valid values are defined in
486354d7675SEmmanuel Vadot          <dt-bindings/pinctrl/qcom,pmic-gpio.h>
487354d7675SEmmanuel Vadot          If this property is omitted 30uA strength will be used
488354d7675SEmmanuel Vadot          if pull up is selected
489354d7675SEmmanuel Vadot        enum: [0, 1, 2, 3]
490354d7675SEmmanuel Vadot
491354d7675SEmmanuel Vadot      bias-high-impedance: true
492354d7675SEmmanuel Vadot      input-enable: true
493d5b0e70fSEmmanuel Vadot      input-disable: true
494354d7675SEmmanuel Vadot      output-high: true
495354d7675SEmmanuel Vadot      output-low: true
4968cc087a1SEmmanuel Vadot      output-enable: true
4978cc087a1SEmmanuel Vadot      output-disable: true
498354d7675SEmmanuel Vadot      power-source: true
499354d7675SEmmanuel Vadot
500354d7675SEmmanuel Vadot      qcom,drive-strength:
501354d7675SEmmanuel Vadot        $ref: /schemas/types.yaml#/definitions/uint32
502354d7675SEmmanuel Vadot        description:
503354d7675SEmmanuel Vadot          Selects the drive strength for the specified pins
504354d7675SEmmanuel Vadot          Valid drive strength values are defined in
505354d7675SEmmanuel Vadot          <dt-bindings/pinctrl/qcom,pmic-gpio.h>
506354d7675SEmmanuel Vadot        enum: [0, 1, 2, 3]
507354d7675SEmmanuel Vadot
508354d7675SEmmanuel Vadot      drive-push-pull: true
509354d7675SEmmanuel Vadot      drive-open-drain: true
510354d7675SEmmanuel Vadot      drive-open-source: true
511354d7675SEmmanuel Vadot
512354d7675SEmmanuel Vadot      qcom,analog-pass:
513354d7675SEmmanuel Vadot        $ref: /schemas/types.yaml#/definitions/flag
514354d7675SEmmanuel Vadot        description:
515354d7675SEmmanuel Vadot          The specified pins are configured in
516354d7675SEmmanuel Vadot          analog-pass-through mode.
517354d7675SEmmanuel Vadot
518354d7675SEmmanuel Vadot      qcom,atest:
519354d7675SEmmanuel Vadot        $ref: /schemas/types.yaml#/definitions/uint32
520354d7675SEmmanuel Vadot        description:
521354d7675SEmmanuel Vadot          Selects ATEST rail to route to GPIO when it's
522354d7675SEmmanuel Vadot          configured in analog-pass-through mode.
523354d7675SEmmanuel Vadot        enum: [1, 2, 3, 4]
524354d7675SEmmanuel Vadot
525354d7675SEmmanuel Vadot      qcom,dtest-buffer:
526354d7675SEmmanuel Vadot        $ref: /schemas/types.yaml#/definitions/uint32
527354d7675SEmmanuel Vadot        description:
528354d7675SEmmanuel Vadot          Selects DTEST rail to route to GPIO when it's
529354d7675SEmmanuel Vadot          configured as digital input.
530354d7675SEmmanuel Vadot        enum: [1, 2, 3, 4]
531354d7675SEmmanuel Vadot
532354d7675SEmmanuel Vadot    required:
533354d7675SEmmanuel Vadot      - pins
534354d7675SEmmanuel Vadot      - function
535354d7675SEmmanuel Vadot
536354d7675SEmmanuel Vadot    additionalProperties: false
537354d7675SEmmanuel Vadot
538354d7675SEmmanuel Vadotexamples:
539354d7675SEmmanuel Vadot  - |
540354d7675SEmmanuel Vadot    #include <dt-bindings/pinctrl/qcom,pmic-gpio.h>
541354d7675SEmmanuel Vadot
542354d7675SEmmanuel Vadot    pm8921_gpio: gpio@150 {
543354d7675SEmmanuel Vadot      compatible = "qcom,pm8921-gpio", "qcom,ssbi-gpio";
544354d7675SEmmanuel Vadot      reg = <0x150 0x160>;
545354d7675SEmmanuel Vadot      interrupt-controller;
546354d7675SEmmanuel Vadot      #interrupt-cells = <2>;
547354d7675SEmmanuel Vadot      gpio-controller;
548354d7675SEmmanuel Vadot      gpio-ranges = <&pm8921_gpio 0 0 44>;
549354d7675SEmmanuel Vadot      #gpio-cells = <2>;
550354d7675SEmmanuel Vadot
551354d7675SEmmanuel Vadot      pm8921_gpio_keys: gpio-keys-state {
552d5b0e70fSEmmanuel Vadot        volume-keys-pins {
553354d7675SEmmanuel Vadot          pins = "gpio20", "gpio21";
554354d7675SEmmanuel Vadot          function = "normal";
555354d7675SEmmanuel Vadot
556354d7675SEmmanuel Vadot          input-enable;
557354d7675SEmmanuel Vadot          bias-pull-up;
558354d7675SEmmanuel Vadot          drive-push-pull;
559354d7675SEmmanuel Vadot          qcom,drive-strength = <PMIC_GPIO_STRENGTH_NO>;
560354d7675SEmmanuel Vadot          power-source = <PM8921_GPIO_S4>;
561354d7675SEmmanuel Vadot        };
562354d7675SEmmanuel Vadot      };
563354d7675SEmmanuel Vadot    };
564354d7675SEmmanuel Vadot...
565