1 # SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
4 $id: http://devicetree.org/schemas/pinctrl/qcom,pmic-gpio.yaml#
5 $schema: http://devicetree.org/meta-schemas/core.yaml#
7 title: Qualcomm PMIC GPIO block
10 - Bjorn Andersson <bjorn.andersson@linaro.org>
13 This binding describes the GPIO block(s) found in the 8xxx series of
59 interrupt-controller: true
72 The first cell will be used to define gpio number and the
73 second denotes the flags for this gpio
75 additionalProperties: false
83 - interrupt-controller
88 - $ref: "#/$defs/qcom-pmic-gpio-state"
91 $ref: "#/$defs/qcom-pmic-gpio-state"
97 - $ref: "pinmux-node.yaml"
98 - $ref: "pincfg-node.yaml"
102 List of gpio pins affected by the properties specified in
103 this subnode. Valid pins are
104 - gpio1-gpio10 for pm6150
105 - gpio1-gpio12 for pm6150l
106 - gpio1-gpio10 for pm7325
107 - gpio1-gpio4 for pm8005
108 - gpio1-gpio2 for pm8008
109 - gpio1-gpio6 for pm8018
110 - gpio1-gpio12 for pm8038
111 - gpio1-gpio40 for pm8058
112 - gpio1-gpio10 for pm8150 (holes on gpio2, gpio5,
114 - gpio1-gpio12 for pm8150b (holes on gpio3, gpio4
116 - gpio1-gpio12 for pm8150l (hole on gpio7)
117 - gpio1-gpio4 for pm8916
118 - gpio1-gpio10 for pm8350
119 - gpio1-gpio8 for pm8350b
120 - gpio1-gpio9 for pm8350c
121 - gpio1-gpio38 for pm8917
122 - gpio1-gpio44 for pm8921
123 - gpio1-gpio36 for pm8941
124 - gpio1-gpio8 for pm8950 (hole on gpio3)
125 - gpio1-gpio22 for pm8994
126 - gpio1-gpio26 for pm8998
127 - gpio1-gpio22 for pma8084
128 - gpio1-gpio2 for pmi8950
129 - gpio1-gpio10 for pmi8994
130 - gpio1-gpio4 for pmk8350
131 - gpio1-gpio4 for pmr735a
132 - gpio1-gpio4 for pmr735b
133 - gpio1-gpio12 for pms405 (holes on gpio1, gpio9
135 - gpio1-gpio11 for pmx55 (holes on gpio3, gpio7, gpio10
139 pattern: "^gpio([0-9]+)$"
152 - func3 # supported by LV/MV GPIO subtypes
153 - func4 # supported by LV/MV GPIO subtypes
159 qcom,pull-up-strength:
160 $ref: /schemas/types.yaml#/definitions/uint32
162 Specifies the strength to use for pull up, if selected.
163 Valid values are defined in
164 <dt-bindings/pinctrl/qcom,pmic-gpio.h>
165 If this property is omitted 30uA strength will be used
166 if pull up is selected
169 bias-high-impedance: true
176 $ref: /schemas/types.yaml#/definitions/uint32
178 Selects the drive strength for the specified pins
179 Valid drive strength values are defined in
180 <dt-bindings/pinctrl/qcom,pmic-gpio.h>
183 drive-push-pull: true
184 drive-open-drain: true
185 drive-open-source: true
188 $ref: /schemas/types.yaml#/definitions/flag
190 The specified pins are configured in
191 analog-pass-through mode.
194 $ref: /schemas/types.yaml#/definitions/uint32
196 Selects ATEST rail to route to GPIO when it's
197 configured in analog-pass-through mode.
201 $ref: /schemas/types.yaml#/definitions/uint32
203 Selects DTEST rail to route to GPIO when it's
204 configured as digital input.
211 additionalProperties: false
215 #include <dt-bindings/pinctrl/qcom,pmic-gpio.h>
217 pm8921_gpio: gpio@150 {
218 compatible = "qcom,pm8921-gpio", "qcom,ssbi-gpio";
220 interrupt-controller;
221 #interrupt-cells = <2>;
223 gpio-ranges = <&pm8921_gpio 0 0 44>;
226 pm8921_gpio_keys: gpio-keys-state {
228 pins = "gpio20", "gpio21";
234 qcom,drive-strength = <PMIC_GPIO_STRENGTH_NO>;
235 power-source = <PM8921_GPIO_S4>;