Commit 3c84d8c2 authored by Krzysztof Kozlowski's avatar Krzysztof Kozlowski
Browse files

dt-bindings: pinctrl: qcom,sm6115: use common TLMM schema



Reference common Qualcomm TLMM pin controller schema, to bring common
properties, other pinctrl schemas and additional checks, like function
required only for GPIOs.

Reviewed-by: default avatarIskren Chernev <iskren.chernev@gmail.com>
Acked-by: default avatarRob Herring <robh@kernel.org>
Acked-by: default avatarLinus Walleij <linus.walleij@linaro.org>
Link: https://lore.kernel.org/r/20221017230012.47878-6-krzysztof.kozlowski@linaro.org


Signed-off-by: default avatarKrzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
parent 4412a0e5
Loading
Loading
Loading
Loading
+7 −48
Original line number Diff line number Diff line
@@ -27,30 +27,13 @@ properties:
      - const: south
      - const: east

  interrupts:
    description: Specifies the TLMM summary IRQ
    maxItems: 1

  interrupts: true
  interrupt-controller: true

  '#interrupt-cells':
    description:
      Specifies the PIN numbers and Flags, as defined in defined in
      include/dt-bindings/interrupt-controller/irq.h
    const: 2

  "#interrupt-cells": true
  gpio-controller: true

  '#gpio-cells':
    description: Specifying the pin number and flags, as defined in
      include/dt-bindings/gpio/gpio.h
    const: 2

  gpio-ranges:
    maxItems: 1

  "#gpio-cells": true
  gpio-ranges: true
  gpio-reserved-ranges: true

  wakeup-parent: true

#PIN CONFIGURATION NODES
@@ -69,6 +52,7 @@ patternProperties:
    description:
      Pinctrl node's client devices use subnodes for desired pin configuration.
      Client device subnodes use below standard properties.
    $ref: qcom,tlmm-common.yaml#/$defs/qcom-tlmm-state

    properties:
      pins:
@@ -101,50 +85,25 @@ patternProperties:
                uim2_present, uim2_reset, usb_phy, vfr_1, vsense_trigger,
                wlan1_adc0, elan1_adc1 ]

      drive-strength:
        enum: [2, 4, 6, 8, 10, 12, 14, 16]
        default: 2
        description:
          Selects the drive strength for the specified pins, in mA.

      bias-pull-down: true

      bias-pull-up: true

      bias-disable: true

      drive-strength: true
      output-high: true

      output-low: true

    required:
      - pins

    allOf:
      - $ref: "qcom,tlmm-common.yaml#/$defs/qcom-tlmm-state"
      - if:
          properties:
            pins:
              pattern: "^gpio([0-9]|[1-9][0-9]|10[0-9]|11[0-2])$"
        then:
          required:
            - function

    additionalProperties: false

allOf:
  - $ref: "pinctrl.yaml#"
  - $ref: /schemas/pinctrl/qcom,tlmm-common.yaml#

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

additionalProperties: false