xref: /linux/Documentation/devicetree/bindings/pinctrl/qcom,sm8250-lpass-lpi-pinctrl.yaml (revision 5a5ecedc4b57ec072b1ab780352087958fe2527e)
1e343cff7SSrinivasa Rao Mandadapu# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2e343cff7SSrinivasa Rao Mandadapu%YAML 1.2
3e343cff7SSrinivasa Rao Mandadapu---
4e343cff7SSrinivasa Rao Mandadapu$id: http://devicetree.org/schemas/pinctrl/qcom,sm8250-lpass-lpi-pinctrl.yaml#
5e343cff7SSrinivasa Rao Mandadapu$schema: http://devicetree.org/meta-schemas/core.yaml#
6e343cff7SSrinivasa Rao Mandadapu
727404203SKrzysztof Kozlowskititle: Qualcomm SM8250 SoC LPASS LPI TLMM
8e343cff7SSrinivasa Rao Mandadapu
9e343cff7SSrinivasa Rao Mandadapumaintainers:
10e343cff7SSrinivasa Rao Mandadapu  - Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
11e343cff7SSrinivasa Rao Mandadapu
1227404203SKrzysztof Kozlowskidescription:
1327404203SKrzysztof Kozlowski  Top Level Mode Multiplexer pin controller in the Low Power Audio SubSystem
1427404203SKrzysztof Kozlowski  (LPASS) Low Power Island (LPI) of Qualcomm SM8250 SoC.
15e343cff7SSrinivasa Rao Mandadapu
16e343cff7SSrinivasa Rao Mandadapuproperties:
17e343cff7SSrinivasa Rao Mandadapu  compatible:
18e343cff7SSrinivasa Rao Mandadapu    const: qcom,sm8250-lpass-lpi-pinctrl
19e343cff7SSrinivasa Rao Mandadapu
20e343cff7SSrinivasa Rao Mandadapu  reg:
21e343cff7SSrinivasa Rao Mandadapu    maxItems: 2
22e343cff7SSrinivasa Rao Mandadapu
23e343cff7SSrinivasa Rao Mandadapu  clocks:
24e343cff7SSrinivasa Rao Mandadapu    items:
25e343cff7SSrinivasa Rao Mandadapu      - description: LPASS Core voting clock
26e343cff7SSrinivasa Rao Mandadapu      - description: LPASS Audio voting clock
27e343cff7SSrinivasa Rao Mandadapu
28e343cff7SSrinivasa Rao Mandadapu  clock-names:
29e343cff7SSrinivasa Rao Mandadapu    items:
30e343cff7SSrinivasa Rao Mandadapu      - const: core
31e343cff7SSrinivasa Rao Mandadapu      - const: audio
32e343cff7SSrinivasa Rao Mandadapu
33e343cff7SSrinivasa Rao MandadapupatternProperties:
34351123e6SKrzysztof Kozlowski  "-state$":
35351123e6SKrzysztof Kozlowski    oneOf:
36351123e6SKrzysztof Kozlowski      - $ref: "#/$defs/qcom-sm8250-lpass-state"
37351123e6SKrzysztof Kozlowski      - patternProperties:
38351123e6SKrzysztof Kozlowski          "-pins$":
39351123e6SKrzysztof Kozlowski            $ref: "#/$defs/qcom-sm8250-lpass-state"
40351123e6SKrzysztof Kozlowski        additionalProperties: false
41351123e6SKrzysztof Kozlowski
42351123e6SKrzysztof Kozlowski$defs:
43351123e6SKrzysztof Kozlowski  qcom-sm8250-lpass-state:
44e343cff7SSrinivasa Rao Mandadapu    type: object
45e343cff7SSrinivasa Rao Mandadapu    description:
46e343cff7SSrinivasa Rao Mandadapu      Pinctrl node's client devices use subnodes for desired pin configuration.
47e343cff7SSrinivasa Rao Mandadapu      Client device subnodes use below standard properties.
48*5a5ecedcSKrzysztof Kozlowski    $ref: qcom,lpass-lpi-common.yaml#/$defs/qcom-tlmm-state
49*5a5ecedcSKrzysztof Kozlowski    unevaluatedProperties: false
50e343cff7SSrinivasa Rao Mandadapu
51e343cff7SSrinivasa Rao Mandadapu    properties:
52e343cff7SSrinivasa Rao Mandadapu      pins:
53e343cff7SSrinivasa Rao Mandadapu        description:
54e343cff7SSrinivasa Rao Mandadapu          List of gpio pins affected by the properties specified in this
55e343cff7SSrinivasa Rao Mandadapu          subnode.
56e343cff7SSrinivasa Rao Mandadapu        items:
57e343cff7SSrinivasa Rao Mandadapu          oneOf:
58315dffb8SKrzysztof Kozlowski            - pattern: "^gpio([0-9]|1[0-3])$"
59e343cff7SSrinivasa Rao Mandadapu        minItems: 1
60e343cff7SSrinivasa Rao Mandadapu        maxItems: 14
61e343cff7SSrinivasa Rao Mandadapu
62e343cff7SSrinivasa Rao Mandadapu      function:
63e343cff7SSrinivasa Rao Mandadapu        enum: [ gpio, swr_tx_clk, qua_mi2s_sclk, swr_tx_data, qua_mi2s_ws,
64e343cff7SSrinivasa Rao Mandadapu                qua_mi2s_data, swr_rx_clk, swr_rx_data, dmic1_clk, i2s1_clk,
65e343cff7SSrinivasa Rao Mandadapu                dmic1_data, i2s1_ws, dmic2_clk, dmic2_data, i2s1_data,
66e343cff7SSrinivasa Rao Mandadapu                i2s2_clk, wsa_swr_clk, i2s2_ws, wsa_swr_data, dmic3_clk,
67e343cff7SSrinivasa Rao Mandadapu                dmic3_data, i2s2_data ]
68e343cff7SSrinivasa Rao Mandadapu        description:
69e343cff7SSrinivasa Rao Mandadapu          Specify the alternative function to be configured for the specified
70e343cff7SSrinivasa Rao Mandadapu          pins.
71e343cff7SSrinivasa Rao Mandadapu
72e343cff7SSrinivasa Rao MandadapuallOf:
73*5a5ecedcSKrzysztof Kozlowski  - $ref: qcom,lpass-lpi-common.yaml#
74e343cff7SSrinivasa Rao Mandadapu
75e343cff7SSrinivasa Rao Mandadapurequired:
76e343cff7SSrinivasa Rao Mandadapu  - compatible
77e343cff7SSrinivasa Rao Mandadapu  - reg
78e343cff7SSrinivasa Rao Mandadapu  - clocks
79e343cff7SSrinivasa Rao Mandadapu  - clock-names
80e343cff7SSrinivasa Rao Mandadapu
81*5a5ecedcSKrzysztof KozlowskiunevaluatedProperties: false
82e343cff7SSrinivasa Rao Mandadapu
83e343cff7SSrinivasa Rao Mandadapuexamples:
84e343cff7SSrinivasa Rao Mandadapu  - |
85e343cff7SSrinivasa Rao Mandadapu    #include <dt-bindings/sound/qcom,q6afe.h>
86e343cff7SSrinivasa Rao Mandadapu    lpi_tlmm: pinctrl@33c0000 {
87e343cff7SSrinivasa Rao Mandadapu        compatible = "qcom,sm8250-lpass-lpi-pinctrl";
88e343cff7SSrinivasa Rao Mandadapu        reg = <0x33c0000 0x20000>,
89e343cff7SSrinivasa Rao Mandadapu              <0x3550000 0x10000>;
90e343cff7SSrinivasa Rao Mandadapu        clocks = <&q6afecc LPASS_HW_MACRO_VOTE LPASS_CLK_ATTRIBUTE_COUPLE_NO>,
91e343cff7SSrinivasa Rao Mandadapu                 <&q6afecc LPASS_HW_DCODEC_VOTE LPASS_CLK_ATTRIBUTE_COUPLE_NO>;
92e343cff7SSrinivasa Rao Mandadapu        clock-names = "core", "audio";
93e343cff7SSrinivasa Rao Mandadapu        gpio-controller;
94e343cff7SSrinivasa Rao Mandadapu        #gpio-cells = <2>;
95e343cff7SSrinivasa Rao Mandadapu        gpio-ranges = <&lpi_tlmm 0 0 14>;
96351123e6SKrzysztof Kozlowski
97351123e6SKrzysztof Kozlowski        wsa-swr-active-state {
98351123e6SKrzysztof Kozlowski            clk-pins {
99351123e6SKrzysztof Kozlowski                pins = "gpio10";
100351123e6SKrzysztof Kozlowski                function = "wsa_swr_clk";
101351123e6SKrzysztof Kozlowski                drive-strength = <2>;
102351123e6SKrzysztof Kozlowski                slew-rate = <1>;
103351123e6SKrzysztof Kozlowski                bias-disable;
104351123e6SKrzysztof Kozlowski            };
105351123e6SKrzysztof Kozlowski
106351123e6SKrzysztof Kozlowski            data-pins {
107351123e6SKrzysztof Kozlowski                pins = "gpio11";
108351123e6SKrzysztof Kozlowski                function = "wsa_swr_data";
109351123e6SKrzysztof Kozlowski                drive-strength = <2>;
110351123e6SKrzysztof Kozlowski                slew-rate = <1>;
111351123e6SKrzysztof Kozlowski            };
112351123e6SKrzysztof Kozlowski        };
113351123e6SKrzysztof Kozlowski
114351123e6SKrzysztof Kozlowski        tx-swr-sleep-clk-state {
115351123e6SKrzysztof Kozlowski            pins = "gpio0";
116351123e6SKrzysztof Kozlowski            function = "swr_tx_clk";
117351123e6SKrzysztof Kozlowski            drive-strength = <2>;
118351123e6SKrzysztof Kozlowski            bias-pull-down;
119351123e6SKrzysztof Kozlowski        };
120e343cff7SSrinivasa Rao Mandadapu    };
121