# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/pinctrl/qcom,pmic-gpio.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Qualcomm PMIC GPIO block

maintainers:
  - Bjorn Andersson <bjorn.andersson@linaro.org>

description:
  This binding describes the GPIO block(s) found in the 8xxx series of
  PMIC's from Qualcomm.

properties:
  compatible:
    items:
      - enum:
          - qcom,pm2250-gpio
          - qcom,pm660-gpio
          - qcom,pm660l-gpio
          - qcom,pm6125-gpio
          - qcom,pm6150-gpio
          - qcom,pm6150l-gpio
          - qcom,pm6350-gpio
          - qcom,pm7325-gpio
          - qcom,pm8005-gpio
          - qcom,pm8008-gpio
          - qcom,pm8018-gpio
          - qcom,pm8019-gpio
          - qcom,pm8038-gpio
          - qcom,pm8058-gpio
          - qcom,pm8150-gpio
          - qcom,pm8150b-gpio
          - qcom,pm8150l-gpio
          - qcom,pm8226-gpio
          - qcom,pm8350-gpio
          - qcom,pm8350b-gpio
          - qcom,pm8350c-gpio
          - qcom,pm8450-gpio
          - qcom,pm8916-gpio
          - qcom,pm8917-gpio
          - qcom,pm8921-gpio
          - qcom,pm8941-gpio
          - qcom,pm8950-gpio
          - qcom,pm8994-gpio
          - qcom,pm8998-gpio
          - qcom,pma8084-gpio
          - qcom,pmi8950-gpio
          - qcom,pmi8994-gpio
          - qcom,pmi8998-gpio
          - qcom,pmk8350-gpio
          - qcom,pmm8155au-gpio
          - qcom,pmp8074-gpio
          - qcom,pmr735a-gpio
          - qcom,pmr735b-gpio
          - qcom,pms405-gpio
          - qcom,pmx55-gpio
          - qcom,pmx65-gpio

      - enum:
          - qcom,spmi-gpio
          - qcom,ssbi-gpio

  reg:
    maxItems: 1

  interrupt-controller: true

  '#interrupt-cells':
    const: 2

  gpio-controller: true

  gpio-ranges:
    maxItems: 1

  gpio-line-names:
    minItems: 2
    maxItems: 44

  gpio-reserved-ranges:
    minItems: 1
    # maxItems as half of total number of GPIOs, as there has to be at
    # least one usable GPIO between each reserved range.
    maxItems: 22

  '#gpio-cells':
    const: 2
    description:
      The first cell will be used to define gpio number and the
      second denotes the flags for this gpio

additionalProperties: false

required:
  - compatible
  - reg
  - gpio-controller
  - '#gpio-cells'
  - gpio-ranges
  - interrupt-controller

allOf:
  - if:
      properties:
        compatible:
          contains:
            enum:
              - qcom,pm8008-gpio
              - qcom,pmi8950-gpio
    then:
      properties:
        gpio-line-names:
          minItems: 2
          maxItems: 2
        gpio-reserved-ranges:
          maxItems: 1

  - if:
      properties:
        compatible:
          contains:
            enum:
              - qcom,pm8005-gpio
              - qcom,pm8450-gpio
              - qcom,pm8916-gpio
              - qcom,pmk8350-gpio
              - qcom,pmr735a-gpio
              - qcom,pmr735b-gpio
    then:
      properties:
        gpio-line-names:
          minItems: 4
          maxItems: 4
        gpio-reserved-ranges:
          minItems: 1
          maxItems: 2

  - if:
      properties:
        compatible:
          contains:
            enum:
              - qcom,pm8018-gpio
              - qcom,pm8019-gpio
    then:
      properties:
        gpio-line-names:
          minItems: 6
          maxItems: 6
        gpio-reserved-ranges:
          minItems: 1
          maxItems: 3

  - if:
      properties:
        compatible:
          contains:
            enum:
              - qcom,pm8226-gpio
              - qcom,pm8350b-gpio
              - qcom,pm8950-gpio
    then:
      properties:
        gpio-line-names:
          minItems: 8
          maxItems: 8
        gpio-reserved-ranges:
          minItems: 1
          maxItems: 4

  - if:
      properties:
        compatible:
          contains:
            enum:
              - qcom,pm6350-gpio
              - qcom,pm8350c-gpio
    then:
      properties:
        gpio-line-names:
          minItems: 9
          maxItems: 9
        gpio-reserved-ranges:
          minItems: 1
          maxItems: 5

  - if:
      properties:
        compatible:
          contains:
            enum:
              - qcom,pm2250-gpio
              - qcom,pm6150-gpio
              - qcom,pm7325-gpio
              - qcom,pm8150-gpio
              - qcom,pm8350-gpio
              - qcom,pmc8180-gpio
              - qcom,pmi8994-gpio
              - qcom,pmm8155au-gpio
    then:
      properties:
        gpio-line-names:
          minItems: 10
          maxItems: 10
        gpio-reserved-ranges:
          minItems: 1
          maxItems: 5

  - if:
      properties:
        compatible:
          contains:
            enum:
              - qcom,pmx55-gpio
    then:
      properties:
        gpio-line-names:
          minItems: 11
          maxItems: 11
        gpio-reserved-ranges:
          minItems: 1
          maxItems: 6

  - if:
      properties:
        compatible:
          contains:
            enum:
              - qcom,pm660l-gpio
              - qcom,pm6150l-gpio
              - qcom,pm8038-gpio
              - qcom,pm8150b-gpio
              - qcom,pm8150l-gpio
              - qcom,pmc8180c-gpio
              - qcom,pmp8074-gpio
              - qcom,pms405-gpio
    then:
      properties:
        gpio-line-names:
          minItems: 12
          maxItems: 12
        gpio-reserved-ranges:
          minItems: 1
          maxItems: 6

  - if:
      properties:
        compatible:
          contains:
            enum:
              - qcom,pm660-gpio
    then:
      properties:
        gpio-line-names:
          minItems: 13
          maxItems: 13
        gpio-reserved-ranges:
          minItems: 1
          maxItems: 7

  - if:
      properties:
        compatible:
          contains:
            enum:
              - qcom,pmi8998-gpio
    then:
      properties:
        gpio-line-names:
          minItems: 14
          maxItems: 14
        gpio-reserved-ranges:
          minItems: 1
          maxItems: 7

  - if:
      properties:
        compatible:
          contains:
            enum:
              - qcom,pmx65-gpio
    then:
      properties:
        gpio-line-names:
          minItems: 16
          maxItems: 16
        gpio-reserved-ranges:
          minItems: 1
          maxItems: 8

  - if:
      properties:
        compatible:
          contains:
            enum:
              - qcom,pm8994-gpio
              - qcom,pma8084-gpio
    then:
      properties:
        gpio-line-names:
          minItems: 22
          maxItems: 22
        gpio-reserved-ranges:
          minItems: 1
          maxItems: 11

  - if:
      properties:
        compatible:
          contains:
            enum:
              - qcom,pm8998-gpio
    then:
      properties:
        gpio-line-names:
          minItems: 26
          maxItems: 26
        gpio-reserved-ranges:
          minItems: 1
          maxItems: 13

  - if:
      properties:
        compatible:
          contains:
            enum:
              - qcom,pm8941-gpio
    then:
      properties:
        gpio-line-names:
          minItems: 36
          maxItems: 36
        gpio-reserved-ranges:
          minItems: 1
          maxItems: 18

  - if:
      properties:
        compatible:
          contains:
            enum:
              - qcom,pm8917-gpio
    then:
      properties:
        gpio-line-names:
          minItems: 38
          maxItems: 38
        gpio-reserved-ranges:
          minItems: 1
          maxItems: 19

  - if:
      properties:
        compatible:
          contains:
            enum:
              - qcom,pm8058-gpio
              - qcom,pm8921-gpio
    then:
      properties:
        gpio-line-names:
          minItems: 44
          maxItems: 44
        gpio-reserved-ranges:
          minItems: 1
          maxItems: 22

patternProperties:
  '-state$':
    oneOf:
      - $ref: "#/$defs/qcom-pmic-gpio-state"
      - patternProperties:
          "(pinconf|-pins)$":
            $ref: "#/$defs/qcom-pmic-gpio-state"
        additionalProperties: false

$defs:
  qcom-pmic-gpio-state:
    type: object
    allOf:
      - $ref: "pinmux-node.yaml"
      - $ref: "pincfg-node.yaml"
    properties:
      pins:
        description:
          List of gpio pins affected by the properties specified in
          this subnode.  Valid pins are
                 - gpio1-gpio9 for pm6125
                 - gpio1-gpio10 for pm6150
                 - gpio1-gpio12 for pm6150l
                 - gpio1-gpio9 for pm6350
                 - gpio1-gpio10 for pm7325
                 - gpio1-gpio4 for pm8005
                 - gpio1-gpio2 for pm8008
                 - gpio1-gpio6 for pm8018
                 - gpio1-gpio12 for pm8038
                 - gpio1-gpio40 for pm8058
                 - gpio1-gpio10 for pm8150 (holes on gpio2, gpio5,
                                            gpio7 and gpio8)
                 - gpio1-gpio12 for pm8150b (holes on gpio3, gpio4
                                             and gpio7)
                 - gpio1-gpio12 for pm8150l (hole on gpio7)
                 - gpio1-gpio4 for pm8916
                 - gpio1-gpio10 for pm8350
                 - gpio1-gpio8 for pm8350b
                 - gpio1-gpio9 for pm8350c
                 - gpio1-gpio38 for pm8917
                 - gpio1-gpio44 for pm8921
                 - gpio1-gpio36 for pm8941
                 - gpio1-gpio8 for pm8950 (hole on gpio3)
                 - gpio1-gpio22 for pm8994
                 - gpio1-gpio26 for pm8998
                 - gpio1-gpio22 for pma8084
                 - gpio1-gpio2 for pmi8950
                 - gpio1-gpio10 for pmi8994
                 - gpio1-gpio4 for pmk8350
                 - gpio1-gpio10 for pmm8155au
                 - gpio1-gpio12 for pmp8074 (holes on gpio1 and gpio12)
                 - gpio1-gpio4 for pmr735a
                 - gpio1-gpio4 for pmr735b
                 - gpio1-gpio12 for pms405 (holes on gpio1, gpio9
                                            and gpio10)
                 - gpio1-gpio11 for pmx55 (holes on gpio3, gpio7, gpio10
                                            and gpio11)
                 - gpio1-gpio16 for pmx65

        items:
          pattern: "^gpio([0-9]+)$"

      function:
        items:
          - enum:
              - normal
              - paired
              - func1
              - func2
              - dtest1
              - dtest2
              - dtest3
              - dtest4
              - func3  # supported by LV/MV GPIO subtypes
              - func4  # supported by LV/MV GPIO subtypes

      bias-disable: true
      bias-pull-down: true
      bias-pull-up: true

      qcom,pull-up-strength:
        $ref: /schemas/types.yaml#/definitions/uint32
        description:
          Specifies the strength to use for pull up, if selected.
          Valid values are defined in
          <dt-bindings/pinctrl/qcom,pmic-gpio.h>
          If this property is omitted 30uA strength will be used
          if pull up is selected
        enum: [0, 1, 2, 3]

      bias-high-impedance: true
      input-enable: true
      input-disable: true
      output-high: true
      output-low: true
      output-enable: true
      output-disable: true
      power-source: true

      qcom,drive-strength:
        $ref: /schemas/types.yaml#/definitions/uint32
        description:
          Selects the drive strength for the specified pins
          Valid drive strength values are defined in
          <dt-bindings/pinctrl/qcom,pmic-gpio.h>
        enum: [0, 1, 2, 3]

      drive-push-pull: true
      drive-open-drain: true
      drive-open-source: true

      qcom,analog-pass:
        $ref: /schemas/types.yaml#/definitions/flag
        description:
          The specified pins are configured in
          analog-pass-through mode.

      qcom,atest:
        $ref: /schemas/types.yaml#/definitions/uint32
        description:
          Selects ATEST rail to route to GPIO when it's
          configured in analog-pass-through mode.
        enum: [1, 2, 3, 4]

      qcom,dtest-buffer:
        $ref: /schemas/types.yaml#/definitions/uint32
        description:
          Selects DTEST rail to route to GPIO when it's
          configured as digital input.
        enum: [1, 2, 3, 4]

    required:
      - pins
      - function

    additionalProperties: false

examples:
  - |
    #include <dt-bindings/pinctrl/qcom,pmic-gpio.h>

    pm8921_gpio: gpio@150 {
      compatible = "qcom,pm8921-gpio", "qcom,ssbi-gpio";
      reg = <0x150 0x160>;
      interrupt-controller;
      #interrupt-cells = <2>;
      gpio-controller;
      gpio-ranges = <&pm8921_gpio 0 0 44>;
      #gpio-cells = <2>;

      pm8921_gpio_keys: gpio-keys-state {
        volume-keys-pins {
          pins = "gpio20", "gpio21";
          function = "normal";

          input-enable;
          bias-pull-up;
          drive-push-pull;
          qcom,drive-strength = <PMIC_GPIO_STRENGTH_NO>;
          power-source = <PM8921_GPIO_S4>;
        };
      };
    };
...
