xref: /openbmc/linux/Documentation/devicetree/bindings/pinctrl/qcom,pmic-gpio.yaml (revision 4f2c0a4acffbec01079c28f839422e64ddeff004)
1328fb93aSsatya priya# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
2328fb93aSsatya priya%YAML 1.2
3328fb93aSsatya priya---
4328fb93aSsatya priya$id: http://devicetree.org/schemas/pinctrl/qcom,pmic-gpio.yaml#
5328fb93aSsatya priya$schema: http://devicetree.org/meta-schemas/core.yaml#
6328fb93aSsatya priya
7328fb93aSsatya priyatitle: Qualcomm PMIC GPIO block
8328fb93aSsatya priya
9328fb93aSsatya priyamaintainers:
10328fb93aSsatya priya  - Bjorn Andersson <bjorn.andersson@linaro.org>
11328fb93aSsatya priya
12328fb93aSsatya priyadescription:
13328fb93aSsatya priya  This binding describes the GPIO block(s) found in the 8xxx series of
14328fb93aSsatya priya  PMIC's from Qualcomm.
15328fb93aSsatya priya
16328fb93aSsatya priyaproperties:
17328fb93aSsatya priya  compatible:
18328fb93aSsatya priya    items:
19328fb93aSsatya priya      - enum:
20f35172c0SLoic Poulain          - qcom,pm2250-gpio
21328fb93aSsatya priya          - qcom,pm660-gpio
22328fb93aSsatya priya          - qcom,pm660l-gpio
23f82a2c21SMarijn Suijten          - qcom,pm6125-gpio
24328fb93aSsatya priya          - qcom,pm6150-gpio
25328fb93aSsatya priya          - qcom,pm6150l-gpio
263d45c843SLuca Weiss          - qcom,pm6350-gpio
27*a72be048SAnjelique Melendez          - qcom,pm7250b-gpio
28328fb93aSsatya priya          - qcom,pm7325-gpio
29328fb93aSsatya priya          - qcom,pm7550ba-gpio
30328fb93aSsatya priya          - qcom,pm8005-gpio
31328fb93aSsatya priya          - qcom,pm8008-gpio
32e3da3323SKonrad Dybcio          - qcom,pm8018-gpio
33328fb93aSsatya priya          - qcom,pm8019-gpio
34328fb93aSsatya priya          - qcom,pm8038-gpio
35328fb93aSsatya priya          - qcom,pm8058-gpio
36328fb93aSsatya priya          - qcom,pm8150-gpio
372313623dSKrzysztof Kozlowski          - qcom,pm8150b-gpio
38deee705aSDominik Kobinski          - qcom,pm8150l-gpio
39328fb93aSsatya priya          - qcom,pm8226-gpio
40328fb93aSsatya priya          - qcom,pm8350-gpio
41328fb93aSsatya priya          - qcom,pm8350b-gpio
42168a0abfSDmitry Baryshkov          - qcom,pm8350c-gpio
43328fb93aSsatya priya          - qcom,pm8450-gpio
44328fb93aSsatya priya          - qcom,pm8550-gpio
45328fb93aSsatya priya          - qcom,pm8550b-gpio
46328fb93aSsatya priya          - qcom,pm8550ve-gpio
47328fb93aSsatya priya          - qcom,pm8550vs-gpio
48328fb93aSsatya priya          - qcom,pm8916-gpio
49328fb93aSsatya priya          - qcom,pm8917-gpio
50328fb93aSsatya priya          - qcom,pm8921-gpio
51328fb93aSsatya priya          - qcom,pm8941-gpio
52328fb93aSsatya priya          - qcom,pm8950-gpio
53328fb93aSsatya priya          - qcom,pm8953-gpio
54328fb93aSsatya priya          - qcom,pm8994-gpio
552313623dSKrzysztof Kozlowski          - qcom,pm8998-gpio
56ed16b6d7SRobert Marko          - qcom,pma8084-gpio
57328fb93aSsatya priya          - qcom,pmc8180-gpio
58328fb93aSsatya priya          - qcom,pmc8180c-gpio
59328fb93aSsatya priya          - qcom,pmi632-gpio
60328fb93aSsatya priya          - qcom,pmi8950-gpio
612d71025eSRohit Agarwal          - qcom,pmi8994-gpio
62328fb93aSsatya priya          - qcom,pmi8998-gpio
63328fb93aSsatya priya          - qcom,pmk8350-gpio
64328fb93aSsatya priya          - qcom,pmk8550-gpio
65328fb93aSsatya priya          - qcom,pmm8155au-gpio
66328fb93aSsatya priya          - qcom,pmm8654au-gpio
67328fb93aSsatya priya          - qcom,pmp8074-gpio
68328fb93aSsatya priya          - qcom,pmr735a-gpio
69328fb93aSsatya priya          - qcom,pmr735b-gpio
70f03f5c75Ssatya priya          - qcom,pmr735d-gpio
71328fb93aSsatya priya          - qcom,pms405-gpio
72328fb93aSsatya priya          - qcom,pmx55-gpio
73328fb93aSsatya priya          - qcom,pmx65-gpio
74328fb93aSsatya priya          - qcom,pmx75-gpio
75328fb93aSsatya priya
76328fb93aSsatya priya      - enum:
77328fb93aSsatya priya          - qcom,spmi-gpio
78328fb93aSsatya priya          - qcom,ssbi-gpio
79328fb93aSsatya priya
8004bed640SKrzysztof Kozlowski  reg:
8104bed640SKrzysztof Kozlowski    maxItems: 1
8204bed640SKrzysztof Kozlowski
8304bed640SKrzysztof Kozlowski  interrupt-controller: true
84d31dcf1fSKrzysztof Kozlowski
85d31dcf1fSKrzysztof Kozlowski  '#interrupt-cells':
86d31dcf1fSKrzysztof Kozlowski    const: 2
87d31dcf1fSKrzysztof Kozlowski
88d31dcf1fSKrzysztof Kozlowski  gpio-controller: true
89d31dcf1fSKrzysztof Kozlowski
90328fb93aSsatya priya  gpio-ranges:
91328fb93aSsatya priya    maxItems: 1
92328fb93aSsatya priya
93328fb93aSsatya priya  gpio-line-names:
94328fb93aSsatya priya    minItems: 2
95328fb93aSsatya priya    maxItems: 44
96328fb93aSsatya priya
97328fb93aSsatya priya  gpio-reserved-ranges:
98328fb93aSsatya priya    minItems: 1
99328fb93aSsatya priya    # maxItems as half of total number of GPIOs, as there has to be at
100328fb93aSsatya priya    # least one usable GPIO between each reserved range.
101328fb93aSsatya priya    maxItems: 22
102328fb93aSsatya priya
103328fb93aSsatya priya  '#gpio-cells':
104f03f5c75Ssatya priya    const: 2
105328fb93aSsatya priya    description:
10604bed640SKrzysztof Kozlowski      The first cell will be used to define gpio number and the
10704bed640SKrzysztof Kozlowski      second denotes the flags for this gpio
10804bed640SKrzysztof Kozlowski
10904bed640SKrzysztof KozlowskiadditionalProperties: false
11004bed640SKrzysztof Kozlowski
11104bed640SKrzysztof Kozlowskirequired:
11204bed640SKrzysztof Kozlowski  - compatible
11304bed640SKrzysztof Kozlowski  - reg
11404bed640SKrzysztof Kozlowski  - gpio-controller
11504bed640SKrzysztof Kozlowski  - '#gpio-cells'
11604bed640SKrzysztof Kozlowski  - gpio-ranges
11704bed640SKrzysztof Kozlowski  - interrupt-controller
11804bed640SKrzysztof Kozlowski
119d31dcf1fSKrzysztof KozlowskiallOf:
120d31dcf1fSKrzysztof Kozlowski  - if:
12104bed640SKrzysztof Kozlowski      properties:
12204bed640SKrzysztof Kozlowski        compatible:
12304bed640SKrzysztof Kozlowski          contains:
12404bed640SKrzysztof Kozlowski            enum:
12504bed640SKrzysztof Kozlowski              - qcom,pm8008-gpio
12604bed640SKrzysztof Kozlowski              - qcom,pmi8950-gpio
12704bed640SKrzysztof Kozlowski              - qcom,pmr735d-gpio
12804bed640SKrzysztof Kozlowski    then:
12904bed640SKrzysztof Kozlowski      properties:
13004bed640SKrzysztof Kozlowski        gpio-line-names:
13104bed640SKrzysztof Kozlowski          minItems: 2
13204bed640SKrzysztof Kozlowski          maxItems: 2
13304bed640SKrzysztof Kozlowski        gpio-reserved-ranges:
13404bed640SKrzysztof Kozlowski          maxItems: 1
13504bed640SKrzysztof Kozlowski
13604bed640SKrzysztof Kozlowski  - if:
13704bed640SKrzysztof Kozlowski      properties:
138d31dcf1fSKrzysztof Kozlowski        compatible:
139d31dcf1fSKrzysztof Kozlowski          contains:
140d31dcf1fSKrzysztof Kozlowski            enum:
14104bed640SKrzysztof Kozlowski              - qcom,pm8005-gpio
14204bed640SKrzysztof Kozlowski              - qcom,pm8450-gpio
14304bed640SKrzysztof Kozlowski              - qcom,pm8916-gpio
14404bed640SKrzysztof Kozlowski              - qcom,pmk8350-gpio
14504bed640SKrzysztof Kozlowski              - qcom,pmr735a-gpio
14604bed640SKrzysztof Kozlowski              - qcom,pmr735b-gpio
14704bed640SKrzysztof Kozlowski    then:
14804bed640SKrzysztof Kozlowski      properties:
14904bed640SKrzysztof Kozlowski        gpio-line-names:
15004bed640SKrzysztof Kozlowski          minItems: 4
15104bed640SKrzysztof Kozlowski          maxItems: 4
15204bed640SKrzysztof Kozlowski        gpio-reserved-ranges:
15304bed640SKrzysztof Kozlowski          minItems: 1
154d31dcf1fSKrzysztof Kozlowski          maxItems: 2
155d31dcf1fSKrzysztof Kozlowski
156d31dcf1fSKrzysztof Kozlowski  - if:
15704bed640SKrzysztof Kozlowski      properties:
15804bed640SKrzysztof Kozlowski        compatible:
15904bed640SKrzysztof Kozlowski          contains:
16004bed640SKrzysztof Kozlowski            enum:
16104bed640SKrzysztof Kozlowski              - qcom,pm8018-gpio
16204bed640SKrzysztof Kozlowski              - qcom,pm8019-gpio
1635b045200SKrzysztof Kozlowski              - qcom,pm8550vs-gpio
16404bed640SKrzysztof Kozlowski              - qcom,pmk8550-gpio
16504bed640SKrzysztof Kozlowski    then:
16604bed640SKrzysztof Kozlowski      properties:
16704bed640SKrzysztof Kozlowski        gpio-line-names:
16804bed640SKrzysztof Kozlowski          minItems: 6
16904bed640SKrzysztof Kozlowski          maxItems: 6
17004bed640SKrzysztof Kozlowski        gpio-reserved-ranges:
171d31dcf1fSKrzysztof Kozlowski          minItems: 1
172d31dcf1fSKrzysztof Kozlowski          maxItems: 3
173d31dcf1fSKrzysztof Kozlowski
17404bed640SKrzysztof Kozlowski  - if:
17504bed640SKrzysztof Kozlowski      properties:
17604bed640SKrzysztof Kozlowski        compatible:
17704bed640SKrzysztof Kozlowski          contains:
17804bed640SKrzysztof Kozlowski            enum:
17904bed640SKrzysztof Kozlowski              - qcom,pm7550ba-gpio
18004bed640SKrzysztof Kozlowski              - qcom,pm8226-gpio
18104bed640SKrzysztof Kozlowski              - qcom,pm8350b-gpio
18204bed640SKrzysztof Kozlowski              - qcom,pm8550ve-gpio
18304bed640SKrzysztof Kozlowski              - qcom,pm8950-gpio
18404bed640SKrzysztof Kozlowski              - qcom,pm8953-gpio
18504bed640SKrzysztof Kozlowski              - qcom,pmi632-gpio
18604bed640SKrzysztof Kozlowski    then:
187d31dcf1fSKrzysztof Kozlowski      properties:
188d31dcf1fSKrzysztof Kozlowski        gpio-line-names:
189d31dcf1fSKrzysztof Kozlowski          minItems: 8
19004bed640SKrzysztof Kozlowski          maxItems: 8
19104bed640SKrzysztof Kozlowski        gpio-reserved-ranges:
19204bed640SKrzysztof Kozlowski          minItems: 1
19304bed640SKrzysztof Kozlowski          maxItems: 4
19404bed640SKrzysztof Kozlowski
19504bed640SKrzysztof Kozlowski  - if:
19604bed640SKrzysztof Kozlowski      properties:
19704bed640SKrzysztof Kozlowski        compatible:
19804bed640SKrzysztof Kozlowski          contains:
19904bed640SKrzysztof Kozlowski            enum:
20004bed640SKrzysztof Kozlowski              - qcom,pm6350-gpio
20104bed640SKrzysztof Kozlowski              - qcom,pm8350c-gpio
20204bed640SKrzysztof Kozlowski    then:
20304bed640SKrzysztof Kozlowski      properties:
20404bed640SKrzysztof Kozlowski        gpio-line-names:
20504bed640SKrzysztof Kozlowski          minItems: 9
20604bed640SKrzysztof Kozlowski          maxItems: 9
20704bed640SKrzysztof Kozlowski        gpio-reserved-ranges:
20804bed640SKrzysztof Kozlowski          minItems: 1
209d31dcf1fSKrzysztof Kozlowski          maxItems: 5
210d31dcf1fSKrzysztof Kozlowski
211d31dcf1fSKrzysztof Kozlowski  - if:
21204bed640SKrzysztof Kozlowski      properties:
21304bed640SKrzysztof Kozlowski        compatible:
21404bed640SKrzysztof Kozlowski          contains:
21504bed640SKrzysztof Kozlowski            enum:
21604bed640SKrzysztof Kozlowski              - qcom,pm2250-gpio
21704bed640SKrzysztof Kozlowski              - qcom,pm6150-gpio
21804bed640SKrzysztof Kozlowski              - qcom,pm7325-gpio
21904bed640SKrzysztof Kozlowski              - qcom,pm8150-gpio
22004bed640SKrzysztof Kozlowski              - qcom,pm8350-gpio
22104bed640SKrzysztof Kozlowski              - qcom,pmc8180-gpio
22204bed640SKrzysztof Kozlowski              - qcom,pmi8994-gpio
22304bed640SKrzysztof Kozlowski              - qcom,pmm8155au-gpio
224d31dcf1fSKrzysztof Kozlowski    then:
225d31dcf1fSKrzysztof Kozlowski      properties:
226d31dcf1fSKrzysztof Kozlowski        gpio-line-names:
22704bed640SKrzysztof Kozlowski          minItems: 10
22804bed640SKrzysztof Kozlowski          maxItems: 10
22904bed640SKrzysztof Kozlowski        gpio-reserved-ranges:
23004bed640SKrzysztof Kozlowski          minItems: 1
23104bed640SKrzysztof Kozlowski          maxItems: 5
23204bed640SKrzysztof Kozlowski
23304bed640SKrzysztof Kozlowski  - if:
23404bed640SKrzysztof Kozlowski      properties:
235*a72be048SAnjelique Melendez        compatible:
23604bed640SKrzysztof Kozlowski          contains:
23704bed640SKrzysztof Kozlowski            enum:
23804bed640SKrzysztof Kozlowski              - qcom,pmx55-gpio
23904bed640SKrzysztof Kozlowski    then:
240ed16b6d7SRobert Marko      properties:
24104bed640SKrzysztof Kozlowski        gpio-line-names:
24204bed640SKrzysztof Kozlowski          minItems: 11
24304bed640SKrzysztof Kozlowski          maxItems: 11
24404bed640SKrzysztof Kozlowski        gpio-reserved-ranges:
24504bed640SKrzysztof Kozlowski          minItems: 1
24604bed640SKrzysztof Kozlowski          maxItems: 6
247d31dcf1fSKrzysztof Kozlowski
248d31dcf1fSKrzysztof Kozlowski  - if:
249d31dcf1fSKrzysztof Kozlowski      properties:
25004bed640SKrzysztof Kozlowski        compatible:
25104bed640SKrzysztof Kozlowski          contains:
25204bed640SKrzysztof Kozlowski            enum:
25304bed640SKrzysztof Kozlowski              - qcom,pm660l-gpio
25404bed640SKrzysztof Kozlowski              - qcom,pm6150l-gpio
25504bed640SKrzysztof Kozlowski              - qcom,pm7250b-gpio
25604bed640SKrzysztof Kozlowski              - qcom,pm8038-gpio
25704bed640SKrzysztof Kozlowski              - qcom,pm8150b-gpio
25804bed640SKrzysztof Kozlowski              - qcom,pm8150l-gpio
25904bed640SKrzysztof Kozlowski              - qcom,pm8550-gpio
26004bed640SKrzysztof Kozlowski              - qcom,pm8550b-gpio
26104bed640SKrzysztof Kozlowski              - qcom,pmc8180c-gpio
262d31dcf1fSKrzysztof Kozlowski              - qcom,pmp8074-gpio
263d31dcf1fSKrzysztof Kozlowski              - qcom,pms405-gpio
264d31dcf1fSKrzysztof Kozlowski    then:
26504bed640SKrzysztof Kozlowski      properties:
26604bed640SKrzysztof Kozlowski        gpio-line-names:
26704bed640SKrzysztof Kozlowski          minItems: 12
26804bed640SKrzysztof Kozlowski          maxItems: 12
26904bed640SKrzysztof Kozlowski        gpio-reserved-ranges:
27004bed640SKrzysztof Kozlowski          minItems: 1
27104bed640SKrzysztof Kozlowski          maxItems: 6
27204bed640SKrzysztof Kozlowski
27304bed640SKrzysztof Kozlowski  - if:
27404bed640SKrzysztof Kozlowski      properties:
27504bed640SKrzysztof Kozlowski        compatible:
27604bed640SKrzysztof Kozlowski          contains:
277d31dcf1fSKrzysztof Kozlowski            enum:
278d31dcf1fSKrzysztof Kozlowski              - qcom,pm660-gpio
279d31dcf1fSKrzysztof Kozlowski    then:
28004bed640SKrzysztof Kozlowski      properties:
28104bed640SKrzysztof Kozlowski        gpio-line-names:
28204bed640SKrzysztof Kozlowski          minItems: 13
28304bed640SKrzysztof Kozlowski          maxItems: 13
28404bed640SKrzysztof Kozlowski        gpio-reserved-ranges:
28504bed640SKrzysztof Kozlowski          minItems: 1
28604bed640SKrzysztof Kozlowski          maxItems: 7
28704bed640SKrzysztof Kozlowski
28804bed640SKrzysztof Kozlowski  - if:
28904bed640SKrzysztof Kozlowski      properties:
29004bed640SKrzysztof Kozlowski        compatible:
29104bed640SKrzysztof Kozlowski          contains:
292d31dcf1fSKrzysztof Kozlowski            enum:
293d31dcf1fSKrzysztof Kozlowski              - qcom,pmi8998-gpio
294d31dcf1fSKrzysztof Kozlowski    then:
29504bed640SKrzysztof Kozlowski      properties:
29604bed640SKrzysztof Kozlowski        gpio-line-names:
29704bed640SKrzysztof Kozlowski          minItems: 14
29804bed640SKrzysztof Kozlowski          maxItems: 14
29904bed640SKrzysztof Kozlowski        gpio-reserved-ranges:
30004bed640SKrzysztof Kozlowski          minItems: 1
30104bed640SKrzysztof Kozlowski          maxItems: 7
30204bed640SKrzysztof Kozlowski
30304bed640SKrzysztof Kozlowski  - if:
30404bed640SKrzysztof Kozlowski      properties:
30504bed640SKrzysztof Kozlowski        compatible:
30604bed640SKrzysztof Kozlowski          contains:
30704bed640SKrzysztof Kozlowski            enum:
308d31dcf1fSKrzysztof Kozlowski              - qcom,pmx65-gpio
309d31dcf1fSKrzysztof Kozlowski              - qcom,pmx75-gpio
310d31dcf1fSKrzysztof Kozlowski    then:
31104bed640SKrzysztof Kozlowski      properties:
31204bed640SKrzysztof Kozlowski        gpio-line-names:
31304bed640SKrzysztof Kozlowski          minItems: 16
31404bed640SKrzysztof Kozlowski          maxItems: 16
31504bed640SKrzysztof Kozlowski        gpio-reserved-ranges:
31604bed640SKrzysztof Kozlowski          minItems: 1
31704bed640SKrzysztof Kozlowski          maxItems: 8
31804bed640SKrzysztof Kozlowski
31904bed640SKrzysztof Kozlowski  - if:
32004bed640SKrzysztof Kozlowski      properties:
32104bed640SKrzysztof Kozlowski        compatible:
32204bed640SKrzysztof Kozlowski          contains:
323d31dcf1fSKrzysztof Kozlowski            enum:
324d31dcf1fSKrzysztof Kozlowski              - qcom,pm8994-gpio
325d31dcf1fSKrzysztof Kozlowski              - qcom,pma8084-gpio
32604bed640SKrzysztof Kozlowski    then:
32704bed640SKrzysztof Kozlowski      properties:
32804bed640SKrzysztof Kozlowski        gpio-line-names:
32904bed640SKrzysztof Kozlowski          minItems: 22
33004bed640SKrzysztof Kozlowski          maxItems: 22
33104bed640SKrzysztof Kozlowski        gpio-reserved-ranges:
33204bed640SKrzysztof Kozlowski          minItems: 1
33304bed640SKrzysztof Kozlowski          maxItems: 11
33404bed640SKrzysztof Kozlowski
33504bed640SKrzysztof Kozlowski  - if:
33604bed640SKrzysztof Kozlowski      properties:
33704bed640SKrzysztof Kozlowski        compatible:
338d31dcf1fSKrzysztof Kozlowski          contains:
339d31dcf1fSKrzysztof Kozlowski            enum:
340d31dcf1fSKrzysztof Kozlowski              - qcom,pm8998-gpio
34104bed640SKrzysztof Kozlowski    then:
34204bed640SKrzysztof Kozlowski      properties:
34304bed640SKrzysztof Kozlowski        gpio-line-names:
34404bed640SKrzysztof Kozlowski          minItems: 26
34504bed640SKrzysztof Kozlowski          maxItems: 26
34604bed640SKrzysztof Kozlowski        gpio-reserved-ranges:
34704bed640SKrzysztof Kozlowski          minItems: 1
34804bed640SKrzysztof Kozlowski          maxItems: 13
34904bed640SKrzysztof Kozlowski
35004bed640SKrzysztof Kozlowski  - if:
35104bed640SKrzysztof Kozlowski      properties:
35204bed640SKrzysztof Kozlowski        compatible:
353d31dcf1fSKrzysztof Kozlowski          contains:
354d31dcf1fSKrzysztof Kozlowski            enum:
355d31dcf1fSKrzysztof Kozlowski              - qcom,pm8941-gpio
35604bed640SKrzysztof Kozlowski    then:
35704bed640SKrzysztof Kozlowski      properties:
35804bed640SKrzysztof Kozlowski        gpio-line-names:
35904bed640SKrzysztof Kozlowski          minItems: 36
36004bed640SKrzysztof Kozlowski          maxItems: 36
36104bed640SKrzysztof Kozlowski        gpio-reserved-ranges:
36204bed640SKrzysztof Kozlowski          minItems: 1
36304bed640SKrzysztof Kozlowski          maxItems: 18
36404bed640SKrzysztof Kozlowski
36504bed640SKrzysztof Kozlowski  - if:
36604bed640SKrzysztof Kozlowski      properties:
36704bed640SKrzysztof Kozlowski        compatible:
36804bed640SKrzysztof Kozlowski          contains:
369d31dcf1fSKrzysztof Kozlowski            enum:
370d31dcf1fSKrzysztof Kozlowski              - qcom,pm8917-gpio
371d31dcf1fSKrzysztof Kozlowski    then:
37204bed640SKrzysztof Kozlowski      properties:
373328fb93aSsatya priya        gpio-line-names:
374328fb93aSsatya priya          minItems: 38
375328fb93aSsatya priya          maxItems: 38
376328fb93aSsatya priya        gpio-reserved-ranges:
377328fb93aSsatya priya          minItems: 1
37806367559SKrzysztof Kozlowski          maxItems: 19
379328fb93aSsatya priya
38006367559SKrzysztof Kozlowski  - if:
381328fb93aSsatya priya      properties:
382328fb93aSsatya priya        compatible:
383328fb93aSsatya priya          contains:
384328fb93aSsatya priya            enum:
385328fb93aSsatya priya              - qcom,pm8058-gpio
386328fb93aSsatya priya              - qcom,pm8921-gpio
387328fb93aSsatya priya    then:
388328fb93aSsatya priya      properties:
389328fb93aSsatya priya        gpio-line-names:
390328fb93aSsatya priya          minItems: 44
391328fb93aSsatya priya          maxItems: 44
392328fb93aSsatya priya        gpio-reserved-ranges:
393f82a2c21SMarijn Suijten          minItems: 1
394328fb93aSsatya priya          maxItems: 22
395328fb93aSsatya priya
3963d45c843SLuca WeisspatternProperties:
397*a72be048SAnjelique Melendez  '-state$':
398328fb93aSsatya priya    oneOf:
399328fb93aSsatya priya      - $ref: "#/$defs/qcom-pmic-gpio-state"
400328fb93aSsatya priya      - patternProperties:
401328fb93aSsatya priya          "(pinconf|-pins)$":
402328fb93aSsatya priya            $ref: "#/$defs/qcom-pmic-gpio-state"
403328fb93aSsatya priya        additionalProperties: false
404328fb93aSsatya priya
405328fb93aSsatya priya$defs:
406328fb93aSsatya priya  qcom-pmic-gpio-state:
407328fb93aSsatya priya    type: object
408328fb93aSsatya priya    allOf:
409328fb93aSsatya priya      - $ref: pinmux-node.yaml
410328fb93aSsatya priya      - $ref: pincfg-node.yaml
411328fb93aSsatya priya    properties:
412328fb93aSsatya priya      pins:
413*a72be048SAnjelique Melendez        description:
414328fb93aSsatya priya          List of gpio pins affected by the properties specified in
415328fb93aSsatya priya          this subnode.  Valid pins are
416328fb93aSsatya priya                 - gpio1-gpio9 for pm6125
417328fb93aSsatya priya                 - gpio1-gpio10 for pm6150
418328fb93aSsatya priya                 - gpio1-gpio12 for pm6150l
419328fb93aSsatya priya                 - gpio1-gpio9 for pm6350
420328fb93aSsatya priya                 - gpio1-gpio12 for pm7250b
421328fb93aSsatya priya                 - gpio1-gpio10 for pm7325
422328fb93aSsatya priya                 - gpio1-gpio8 for pm7550ba
423328fb93aSsatya priya                 - gpio1-gpio4 for pm8005
4242313623dSKrzysztof Kozlowski                 - gpio1-gpio2 for pm8008
425ed16b6d7SRobert Marko                 - gpio1-gpio6 for pm8018
426328fb93aSsatya priya                 - gpio1-gpio12 for pm8038
427328fb93aSsatya priya                 - gpio1-gpio40 for pm8058
428328fb93aSsatya priya                 - gpio1-gpio10 for pm8150 (holes on gpio2, gpio5,
429328fb93aSsatya priya                                            gpio7 and gpio8)
430328fb93aSsatya priya                 - gpio1-gpio12 for pm8150b (holes on gpio3, gpio4
431328fb93aSsatya priya                                             and gpio7)
4322d71025eSRohit Agarwal                 - gpio1-gpio12 for pm8150l (hole on gpio7)
433328fb93aSsatya priya                 - gpio1-gpio4 for pm8916
434328fb93aSsatya priya                 - gpio1-gpio10 for pm8350
435328fb93aSsatya priya                 - gpio1-gpio8 for pm8350b
436328fb93aSsatya priya                 - gpio1-gpio9 for pm8350c
437328fb93aSsatya priya                 - gpio1-gpio4 for pm8450
438328fb93aSsatya priya                 - gpio1-gpio12 for pm8550
439328fb93aSsatya priya                 - gpio1-gpio12 for pm8550b
440328fb93aSsatya priya                 - gpio1-gpio8 for pm8550ve
441328fb93aSsatya priya                 - gpio1-gpio6 for pm8550vs
442328fb93aSsatya priya                 - gpio1-gpio38 for pm8917
443328fb93aSsatya priya                 - gpio1-gpio44 for pm8921
444328fb93aSsatya priya                 - gpio1-gpio36 for pm8941
445328fb93aSsatya priya                 - gpio1-gpio8 for pm8950 (hole on gpio3)
446328fb93aSsatya priya                 - gpio1-gpio8 for pm8953 (hole on gpio3 and gpio6)
447328fb93aSsatya priya                 - gpio1-gpio22 for pm8994
448328fb93aSsatya priya                 - gpio1-gpio26 for pm8998
449328fb93aSsatya priya                 - gpio1-gpio22 for pma8084
450328fb93aSsatya priya                 - gpio1-gpio8 for pmi632
451328fb93aSsatya priya                 - gpio1-gpio2 for pmi8950
452328fb93aSsatya priya                 - gpio1-gpio10 for pmi8994
453328fb93aSsatya priya                 - gpio1-gpio4 for pmk8350
454328fb93aSsatya priya                 - gpio1-gpio6 for pmk8550
455328fb93aSsatya priya                 - gpio1-gpio10 for pmm8155au
456328fb93aSsatya priya                 - gpio1-gpio12 for pmm8654au
457328fb93aSsatya priya                 - gpio1-gpio12 for pmp8074 (holes on gpio1 and gpio12)
458328fb93aSsatya priya                 - gpio1-gpio4 for pmr735a
459328fb93aSsatya priya                 - gpio1-gpio4 for pmr735b
460328fb93aSsatya priya                 - gpio1-gpio2 for pmr735d
461328fb93aSsatya priya                 - gpio1-gpio12 for pms405 (holes on gpio1, gpio9
462328fb93aSsatya priya                                            and gpio10)
463328fb93aSsatya priya                 - gpio1-gpio11 for pmx55 (holes on gpio3, gpio7, gpio10
464328fb93aSsatya priya                                            and gpio11)
465328fb93aSsatya priya                 - gpio1-gpio16 for pmx65
466328fb93aSsatya priya                 - gpio1-gpio16 for pmx75
46758819949SKrzysztof Kozlowski
468328fb93aSsatya priya        items:
469328fb93aSsatya priya          pattern: "^gpio([0-9]+)$"
4708c826461SSubbaraman Narayanamurthy
4718c826461SSubbaraman Narayanamurthy      function:
472328fb93aSsatya priya        items:
473328fb93aSsatya priya          - enum:
474328fb93aSsatya priya              - normal
475328fb93aSsatya priya              - paired
476328fb93aSsatya priya              - func1
477328fb93aSsatya priya              - func2
478328fb93aSsatya priya              - dtest1
479328fb93aSsatya priya              - dtest2
480328fb93aSsatya priya              - dtest3
481328fb93aSsatya priya              - dtest4
482328fb93aSsatya priya              - func3  # supported by LV/MV GPIO subtypes
483328fb93aSsatya priya              - func4  # supported by LV/MV GPIO subtypes
484328fb93aSsatya priya
485328fb93aSsatya priya      bias-disable: true
486328fb93aSsatya priya      bias-pull-down: true
487328fb93aSsatya priya      bias-pull-up: true
488328fb93aSsatya priya
489328fb93aSsatya priya      qcom,pull-up-strength:
490328fb93aSsatya priya        $ref: /schemas/types.yaml#/definitions/uint32
491328fb93aSsatya priya        description:
492328fb93aSsatya priya          Specifies the strength to use for pull up, if selected.
493328fb93aSsatya priya          Valid values are defined in
494328fb93aSsatya priya          <dt-bindings/pinctrl/qcom,pmic-gpio.h>
495328fb93aSsatya priya          If this property is omitted 30uA strength will be used
496328fb93aSsatya priya          if pull up is selected
497328fb93aSsatya priya        enum: [0, 1, 2, 3]
498328fb93aSsatya priya
499328fb93aSsatya priya      bias-high-impedance: true
500328fb93aSsatya priya      input-enable: true
501328fb93aSsatya priya      input-disable: true
502328fb93aSsatya priya      output-high: true
503328fb93aSsatya priya      output-low: true
504328fb93aSsatya priya      output-enable: true
505328fb93aSsatya priya      output-disable: true
506328fb93aSsatya priya      power-source: true
507328fb93aSsatya priya
508328fb93aSsatya priya      qcom,drive-strength:
509328fb93aSsatya priya        $ref: /schemas/types.yaml#/definitions/uint32
510328fb93aSsatya priya        description:
511328fb93aSsatya priya          Selects the drive strength for the specified pins
512328fb93aSsatya priya          Valid drive strength values are defined in
513328fb93aSsatya priya          <dt-bindings/pinctrl/qcom,pmic-gpio.h>
514328fb93aSsatya priya        enum: [0, 1, 2, 3]
515328fb93aSsatya priya
516328fb93aSsatya priya      drive-push-pull: true
517328fb93aSsatya priya      drive-open-drain: true
518328fb93aSsatya priya      drive-open-source: true
519f03f5c75Ssatya priya
520f03f5c75Ssatya priya      qcom,analog-pass:
521328fb93aSsatya priya        $ref: /schemas/types.yaml#/definitions/flag
522328fb93aSsatya priya        description:
523328fb93aSsatya priya          The specified pins are configured in
524328fb93aSsatya priya          analog-pass-through mode.
525328fb93aSsatya priya
52606367559SKrzysztof Kozlowski      qcom,atest:
527328fb93aSsatya priya        $ref: /schemas/types.yaml#/definitions/uint32
528328fb93aSsatya priya        description:
529328fb93aSsatya priya          Selects ATEST rail to route to GPIO when it's
530328fb93aSsatya priya          configured in analog-pass-through mode.
531328fb93aSsatya priya        enum: [1, 2, 3, 4]
532328fb93aSsatya priya
533328fb93aSsatya priya      qcom,dtest-buffer:
534328fb93aSsatya priya        $ref: /schemas/types.yaml#/definitions/uint32
535328fb93aSsatya priya        description:
536328fb93aSsatya priya          Selects DTEST rail to route to GPIO when it's
537328fb93aSsatya priya          configured as digital input.
538328fb93aSsatya priya        enum: [1, 2, 3, 4]
539
540    required:
541      - pins
542      - function
543
544    additionalProperties: false
545
546examples:
547  - |
548    #include <dt-bindings/pinctrl/qcom,pmic-gpio.h>
549
550    pm8921_gpio: gpio@150 {
551      compatible = "qcom,pm8921-gpio", "qcom,ssbi-gpio";
552      reg = <0x150 0x160>;
553      interrupt-controller;
554      #interrupt-cells = <2>;
555      gpio-controller;
556      gpio-ranges = <&pm8921_gpio 0 0 44>;
557      #gpio-cells = <2>;
558
559      pm8921_gpio_keys: gpio-keys-state {
560        volume-keys-pins {
561          pins = "gpio20", "gpio21";
562          function = "normal";
563
564          input-enable;
565          bias-pull-up;
566          drive-push-pull;
567          qcom,drive-strength = <PMIC_GPIO_STRENGTH_NO>;
568          power-source = <PM8921_GPIO_S4>;
569        };
570      };
571    };
572...
573