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
83 interrupt-controller: true
99 # maxItems as half of total number of GPIOs, as there has to be at
100 # least one usable GPIO between each reserved range.
106 The first cell will be used to define gpio number and the
107 second denotes the flags for this gpio
109 additionalProperties: false
117 - interrupt-controller
133 gpio-reserved-ranges:
152 gpio-reserved-ranges:
170 gpio-reserved-ranges:
191 gpio-reserved-ranges:
207 gpio-reserved-ranges:
223 - qcom,pmm8155au-gpio
229 gpio-reserved-ranges:
244 gpio-reserved-ranges:
269 gpio-reserved-ranges:
284 gpio-reserved-ranges:
299 gpio-reserved-ranges:
315 gpio-reserved-ranges:
331 gpio-reserved-ranges:
346 gpio-reserved-ranges:
361 gpio-reserved-ranges:
376 gpio-reserved-ranges:
392 gpio-reserved-ranges:
399 - $ref: "#/$defs/qcom-pmic-gpio-state"
402 $ref: "#/$defs/qcom-pmic-gpio-state"
403 additionalProperties: false
406 qcom-pmic-gpio-state:
409 - $ref: pinmux-node.yaml
410 - $ref: pincfg-node.yaml
414 List of gpio pins affected by the properties specified in
415 this subnode. Valid pins are
416 - gpio1-gpio9 for pm6125
417 - gpio1-gpio10 for pm6150
418 - gpio1-gpio12 for pm6150l
419 - gpio1-gpio9 for pm6350
420 - gpio1-gpio12 for pm7250b
421 - gpio1-gpio10 for pm7325
422 - gpio1-gpio8 for pm7550ba
423 - gpio1-gpio4 for pm8005
424 - gpio1-gpio2 for pm8008
425 - gpio1-gpio6 for pm8018
426 - gpio1-gpio12 for pm8038
427 - gpio1-gpio40 for pm8058
428 - gpio1-gpio10 for pm8150 (holes on gpio2, gpio5,
430 - gpio1-gpio12 for pm8150b (holes on gpio3, gpio4
432 - gpio1-gpio12 for pm8150l (hole on gpio7)
433 - gpio1-gpio4 for pm8916
434 - gpio1-gpio10 for pm8350
435 - gpio1-gpio8 for pm8350b
436 - gpio1-gpio9 for pm8350c
437 - gpio1-gpio4 for pm8450
438 - gpio1-gpio12 for pm8550
439 - gpio1-gpio12 for pm8550b
440 - gpio1-gpio8 for pm8550ve
441 - gpio1-gpio6 for pm8550vs
442 - gpio1-gpio38 for pm8917
443 - gpio1-gpio44 for pm8921
444 - gpio1-gpio36 for pm8941
445 - gpio1-gpio8 for pm8950 (hole on gpio3)
446 - gpio1-gpio8 for pm8953 (hole on gpio3 and gpio6)
447 - gpio1-gpio22 for pm8994
448 - gpio1-gpio26 for pm8998
449 - gpio1-gpio22 for pma8084
450 - gpio1-gpio8 for pmi632
451 - gpio1-gpio2 for pmi8950
452 - gpio1-gpio10 for pmi8994
453 - gpio1-gpio4 for pmk8350
454 - gpio1-gpio6 for pmk8550
455 - gpio1-gpio10 for pmm8155au
456 - gpio1-gpio12 for pmm8654au
457 - gpio1-gpio12 for pmp8074 (holes on gpio1 and gpio12)
458 - gpio1-gpio4 for pmr735a
459 - gpio1-gpio4 for pmr735b
460 - gpio1-gpio2 for pmr735d
461 - gpio1-gpio12 for pms405 (holes on gpio1, gpio9
463 - gpio1-gpio11 for pmx55 (holes on gpio3, gpio7, gpio10
465 - gpio1-gpio16 for pmx65
466 - gpio1-gpio16 for pmx75
469 pattern: "^gpio([0-9]+)$"
482 - func3 # supported by LV/MV GPIO subtypes
483 - func4 # supported by LV/MV GPIO subtypes
489 qcom,pull-up-strength:
490 $ref: /schemas/types.yaml#/definitions/uint32
492 Specifies the strength to use for pull up, if selected.
493 Valid values are defined in
494 <dt-bindings/pinctrl/qcom,pmic-gpio.h>
495 If this property is omitted 30uA strength will be used
496 if pull up is selected
499 bias-high-impedance: true
509 $ref: /schemas/types.yaml#/definitions/uint32
511 Selects the drive strength for the specified pins
512 Valid drive strength values are defined in
513 <dt-bindings/pinctrl/qcom,pmic-gpio.h>
516 drive-push-pull: true
517 drive-open-drain: true
518 drive-open-source: true
521 $ref: /schemas/types.yaml#/definitions/flag
523 The specified pins are configured in
524 analog-pass-through mode.
527 $ref: /schemas/types.yaml#/definitions/uint32
529 Selects ATEST rail to route to GPIO when it's
530 configured in analog-pass-through mode.
534 $ref: /schemas/types.yaml#/definitions/uint32
536 Selects DTEST rail to route to GPIO when it's
537 configured as digital input.
544 additionalProperties: false
548 #include <dt-bindings/pinctrl/qcom,pmic-gpio.h>
550 pm8921_gpio: gpio@150 {
551 compatible = "qcom,pm8921-gpio", "qcom,ssbi-gpio";
553 interrupt-controller;
554 #interrupt-cells = <2>;
556 gpio-ranges = <&pm8921_gpio 0 0 44>;
559 pm8921_gpio_keys: gpio-keys-state {
561 pins = "gpio20", "gpio21";
567 qcom,drive-strength = <PMIC_GPIO_STRENGTH_NO>;
568 power-source = <PM8921_GPIO_S4>;