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
70 interrupt-controller: true
86 # maxItems as half of total number of GPIOs, as there has to be at
87 # least one usable GPIO between each reserved range.
93 The first cell will be used to define gpio number and the
94 second denotes the flags for this gpio
96 additionalProperties: false
104 - interrupt-controller
119 gpio-reserved-ranges:
138 gpio-reserved-ranges:
154 gpio-reserved-ranges:
171 gpio-reserved-ranges:
187 gpio-reserved-ranges:
203 - qcom,pmm8155au-gpio
209 gpio-reserved-ranges:
224 gpio-reserved-ranges:
247 gpio-reserved-ranges:
262 gpio-reserved-ranges:
277 gpio-reserved-ranges:
292 gpio-reserved-ranges:
308 gpio-reserved-ranges:
323 gpio-reserved-ranges:
338 gpio-reserved-ranges:
353 gpio-reserved-ranges:
369 gpio-reserved-ranges:
376 - $ref: "#/$defs/qcom-pmic-gpio-state"
379 $ref: "#/$defs/qcom-pmic-gpio-state"
380 additionalProperties: false
383 qcom-pmic-gpio-state:
386 - $ref: "pinmux-node.yaml"
387 - $ref: "pincfg-node.yaml"
391 List of gpio pins affected by the properties specified in
392 this subnode. Valid pins are
393 - gpio1-gpio9 for pm6125
394 - gpio1-gpio10 for pm6150
395 - gpio1-gpio12 for pm6150l
396 - gpio1-gpio9 for pm6350
397 - gpio1-gpio12 for pm7250b
398 - gpio1-gpio10 for pm7325
399 - gpio1-gpio4 for pm8005
400 - gpio1-gpio2 for pm8008
401 - gpio1-gpio6 for pm8018
402 - gpio1-gpio12 for pm8038
403 - gpio1-gpio40 for pm8058
404 - gpio1-gpio10 for pm8150 (holes on gpio2, gpio5,
406 - gpio1-gpio12 for pm8150b (holes on gpio3, gpio4
408 - gpio1-gpio12 for pm8150l (hole on gpio7)
409 - gpio1-gpio4 for pm8916
410 - gpio1-gpio10 for pm8350
411 - gpio1-gpio8 for pm8350b
412 - gpio1-gpio9 for pm8350c
413 - gpio1-gpio4 for pm8450
414 - gpio1-gpio38 for pm8917
415 - gpio1-gpio44 for pm8921
416 - gpio1-gpio36 for pm8941
417 - gpio1-gpio8 for pm8950 (hole on gpio3)
418 - gpio1-gpio22 for pm8994
419 - gpio1-gpio26 for pm8998
420 - gpio1-gpio22 for pma8084
421 - gpio1-gpio2 for pmi8950
422 - gpio1-gpio10 for pmi8994
423 - gpio1-gpio4 for pmk8350
424 - gpio1-gpio10 for pmm8155au
425 - gpio1-gpio12 for pmp8074 (holes on gpio1 and gpio12)
426 - gpio1-gpio4 for pmr735a
427 - gpio1-gpio4 for pmr735b
428 - gpio1-gpio12 for pms405 (holes on gpio1, gpio9
430 - gpio1-gpio11 for pmx55 (holes on gpio3, gpio7, gpio10
432 - gpio1-gpio16 for pmx65
435 pattern: "^gpio([0-9]+)$"
448 - func3 # supported by LV/MV GPIO subtypes
449 - func4 # supported by LV/MV GPIO subtypes
455 qcom,pull-up-strength:
456 $ref: /schemas/types.yaml#/definitions/uint32
458 Specifies the strength to use for pull up, if selected.
459 Valid values are defined in
460 <dt-bindings/pinctrl/qcom,pmic-gpio.h>
461 If this property is omitted 30uA strength will be used
462 if pull up is selected
465 bias-high-impedance: true
475 $ref: /schemas/types.yaml#/definitions/uint32
477 Selects the drive strength for the specified pins
478 Valid drive strength values are defined in
479 <dt-bindings/pinctrl/qcom,pmic-gpio.h>
482 drive-push-pull: true
483 drive-open-drain: true
484 drive-open-source: true
487 $ref: /schemas/types.yaml#/definitions/flag
489 The specified pins are configured in
490 analog-pass-through mode.
493 $ref: /schemas/types.yaml#/definitions/uint32
495 Selects ATEST rail to route to GPIO when it's
496 configured in analog-pass-through mode.
500 $ref: /schemas/types.yaml#/definitions/uint32
502 Selects DTEST rail to route to GPIO when it's
503 configured as digital input.
510 additionalProperties: false
514 #include <dt-bindings/pinctrl/qcom,pmic-gpio.h>
516 pm8921_gpio: gpio@150 {
517 compatible = "qcom,pm8921-gpio", "qcom,ssbi-gpio";
519 interrupt-controller;
520 #interrupt-cells = <2>;
522 gpio-ranges = <&pm8921_gpio 0 0 44>;
525 pm8921_gpio_keys: gpio-keys-state {
527 pins = "gpio20", "gpio21";
533 qcom,drive-strength = <PMIC_GPIO_STRENGTH_NO>;
534 power-source = <PM8921_GPIO_S4>;