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
69 interrupt-controller: true
85 # maxItems as half of total number of GPIOs, as there has to be at
86 # least one usable GPIO between each reserved range.
92 The first cell will be used to define gpio number and the
93 second denotes the flags for this gpio
95 additionalProperties: false
103 - interrupt-controller
118 gpio-reserved-ranges:
137 gpio-reserved-ranges:
153 gpio-reserved-ranges:
170 gpio-reserved-ranges:
186 gpio-reserved-ranges:
202 - qcom,pmm8155au-gpio
208 gpio-reserved-ranges:
223 gpio-reserved-ranges:
245 gpio-reserved-ranges:
260 gpio-reserved-ranges:
275 gpio-reserved-ranges:
290 gpio-reserved-ranges:
306 gpio-reserved-ranges:
321 gpio-reserved-ranges:
336 gpio-reserved-ranges:
351 gpio-reserved-ranges:
367 gpio-reserved-ranges:
374 - $ref: "#/$defs/qcom-pmic-gpio-state"
377 $ref: "#/$defs/qcom-pmic-gpio-state"
378 additionalProperties: false
381 qcom-pmic-gpio-state:
384 - $ref: "pinmux-node.yaml"
385 - $ref: "pincfg-node.yaml"
389 List of gpio pins affected by the properties specified in
390 this subnode. Valid pins are
391 - gpio1-gpio9 for pm6125
392 - gpio1-gpio10 for pm6150
393 - gpio1-gpio12 for pm6150l
394 - gpio1-gpio9 for pm6350
395 - gpio1-gpio10 for pm7325
396 - gpio1-gpio4 for pm8005
397 - gpio1-gpio2 for pm8008
398 - gpio1-gpio6 for pm8018
399 - gpio1-gpio12 for pm8038
400 - gpio1-gpio40 for pm8058
401 - gpio1-gpio10 for pm8150 (holes on gpio2, gpio5,
403 - gpio1-gpio12 for pm8150b (holes on gpio3, gpio4
405 - gpio1-gpio12 for pm8150l (hole on gpio7)
406 - gpio1-gpio4 for pm8916
407 - gpio1-gpio10 for pm8350
408 - gpio1-gpio8 for pm8350b
409 - gpio1-gpio9 for pm8350c
410 - gpio1-gpio38 for pm8917
411 - gpio1-gpio44 for pm8921
412 - gpio1-gpio36 for pm8941
413 - gpio1-gpio8 for pm8950 (hole on gpio3)
414 - gpio1-gpio22 for pm8994
415 - gpio1-gpio26 for pm8998
416 - gpio1-gpio22 for pma8084
417 - gpio1-gpio2 for pmi8950
418 - gpio1-gpio10 for pmi8994
419 - gpio1-gpio4 for pmk8350
420 - gpio1-gpio10 for pmm8155au
421 - gpio1-gpio12 for pmp8074 (holes on gpio1 and gpio12)
422 - gpio1-gpio4 for pmr735a
423 - gpio1-gpio4 for pmr735b
424 - gpio1-gpio12 for pms405 (holes on gpio1, gpio9
426 - gpio1-gpio11 for pmx55 (holes on gpio3, gpio7, gpio10
428 - gpio1-gpio16 for pmx65
431 pattern: "^gpio([0-9]+)$"
444 - func3 # supported by LV/MV GPIO subtypes
445 - func4 # supported by LV/MV GPIO subtypes
451 qcom,pull-up-strength:
452 $ref: /schemas/types.yaml#/definitions/uint32
454 Specifies the strength to use for pull up, if selected.
455 Valid values are defined in
456 <dt-bindings/pinctrl/qcom,pmic-gpio.h>
457 If this property is omitted 30uA strength will be used
458 if pull up is selected
461 bias-high-impedance: true
471 $ref: /schemas/types.yaml#/definitions/uint32
473 Selects the drive strength for the specified pins
474 Valid drive strength values are defined in
475 <dt-bindings/pinctrl/qcom,pmic-gpio.h>
478 drive-push-pull: true
479 drive-open-drain: true
480 drive-open-source: true
483 $ref: /schemas/types.yaml#/definitions/flag
485 The specified pins are configured in
486 analog-pass-through mode.
489 $ref: /schemas/types.yaml#/definitions/uint32
491 Selects ATEST rail to route to GPIO when it's
492 configured in analog-pass-through mode.
496 $ref: /schemas/types.yaml#/definitions/uint32
498 Selects DTEST rail to route to GPIO when it's
499 configured as digital input.
506 additionalProperties: false
510 #include <dt-bindings/pinctrl/qcom,pmic-gpio.h>
512 pm8921_gpio: gpio@150 {
513 compatible = "qcom,pm8921-gpio", "qcom,ssbi-gpio";
515 interrupt-controller;
516 #interrupt-cells = <2>;
518 gpio-ranges = <&pm8921_gpio 0 0 44>;
521 pm8921_gpio_keys: gpio-keys-state {
523 pins = "gpio20", "gpio21";
529 qcom,drive-strength = <PMIC_GPIO_STRENGTH_NO>;
530 power-source = <PM8921_GPIO_S4>;