Commit 72102fda authored by Richard Acayan's avatar Richard Acayan Committed by Linus Walleij
Browse files

dt-bindings: pinctrl: qcom: Add SDM670 LPASS LPI pinctrl



Add the pin controller for the audio Low-Power Island (LPI) on SDM670.

Signed-off-by: default avatarRichard Acayan <mailingradian@gmail.com>
Reviewed-by: default avatarKrzysztof Kozlowski <krzysztof.kozlowski@oss.qualcomm.com>
Signed-off-by: default avatarLinus Walleij <linusw@kernel.org>
parent a22d2598
Loading
Loading
Loading
Loading
+81 −0
Original line number Diff line number Diff line
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/pinctrl/qcom,sdm670-lpass-lpi-pinctrl.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Qualcomm SDM670 SoC LPASS LPI TLMM

maintainers:
  - Richard Acayan <mailingradian@gmail.com>

description:
  Top Level Mode Multiplexer pin controller in the Low Power Audio SubSystem
  (LPASS) Low Power Island (LPI) of Qualcomm SDM670 SoC.

properties:
  compatible:
    const: qcom,sdm670-lpass-lpi-pinctrl

  reg:
    items:
      - description: LPASS LPI TLMM Control and Status registers

patternProperties:
  "-state$":
    oneOf:
      - $ref: "#/$defs/qcom-sdm670-lpass-state"
      - patternProperties:
          "-pins$":
            $ref: "#/$defs/qcom-sdm670-lpass-state"
        additionalProperties: false

$defs:
  qcom-sdm670-lpass-state:
    type: object
    description:
      Pinctrl node's client devices use subnodes for desired pin configuration.
      Client device subnodes use below standard properties.
    $ref: qcom,lpass-lpi-common.yaml#/$defs/qcom-tlmm-state
    unevaluatedProperties: false

    properties:
      pins:
        description:
          List of gpio pins affected by the properties specified in this
          subnode.
        items:
          pattern: "^gpio([0-9]|1[0-9]|2[0-9]|3[0-1])$"

      function:
        enum: [ gpio, comp_rx, dmic1_clk, dmic1_data, dmic2_clk, dmic2_data,
                i2s1_clk, i2s_data, i2s_ws, lpi_cdc_rst, mclk0, pdm_rx,
                pdm_sync, pdm_tx, slimbus_clk ]
        description:
          Specify the alternative function to be configured for the specified
          pins.

allOf:
  - $ref: qcom,lpass-lpi-common.yaml#

required:
  - compatible
  - reg

unevaluatedProperties: false

examples:
  - |
    lpi_tlmm: pinctrl@62b40000 {
        compatible = "qcom,sdm670-lpass-lpi-pinctrl";
        reg = <0x62b40000 0x20000>;
        gpio-controller;
        #gpio-cells = <2>;
        gpio-ranges = <&lpi_tlmm 0 0 32>;

        cdc_comp_default: cdc-comp-default-state {
            pins = "gpio22", "gpio24";
            function = "comp_rx";
            drive-strength = <4>;
        };
    };