xref: /linux/Documentation/devicetree/bindings/pinctrl/qcom,sm4250-lpass-lpi-pinctrl.yaml (revision a1ff5a7d78a036d6c2178ee5acd6ba4946243800)
1*2ffa7a35SSrinivas Kandagatla# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2*2ffa7a35SSrinivas Kandagatla%YAML 1.2
3*2ffa7a35SSrinivas Kandagatla---
4*2ffa7a35SSrinivas Kandagatla$id: http://devicetree.org/schemas/pinctrl/qcom,sm4250-lpass-lpi-pinctrl.yaml#
5*2ffa7a35SSrinivas Kandagatla$schema: http://devicetree.org/meta-schemas/core.yaml#
6*2ffa7a35SSrinivas Kandagatla
7*2ffa7a35SSrinivas Kandagatlatitle: Qualcomm SM4250 SoC LPASS LPI TLMM
8*2ffa7a35SSrinivas Kandagatla
9*2ffa7a35SSrinivas Kandagatlamaintainers:
10*2ffa7a35SSrinivas Kandagatla  - Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
11*2ffa7a35SSrinivas Kandagatla
12*2ffa7a35SSrinivas Kandagatladescription:
13*2ffa7a35SSrinivas Kandagatla  Top Level Mode Multiplexer pin controller in the Low Power Audio SubSystem
14*2ffa7a35SSrinivas Kandagatla  (LPASS) Low Power Island (LPI) of Qualcomm SM4250 SoC.
15*2ffa7a35SSrinivas Kandagatla
16*2ffa7a35SSrinivas Kandagatlaproperties:
17*2ffa7a35SSrinivas Kandagatla  compatible:
18*2ffa7a35SSrinivas Kandagatla    const: qcom,sm4250-lpass-lpi-pinctrl
19*2ffa7a35SSrinivas Kandagatla
20*2ffa7a35SSrinivas Kandagatla  reg:
21*2ffa7a35SSrinivas Kandagatla    items:
22*2ffa7a35SSrinivas Kandagatla      - description: LPASS LPI TLMM Control and Status registers
23*2ffa7a35SSrinivas Kandagatla      - description: LPASS LPI MCC registers
24*2ffa7a35SSrinivas Kandagatla
25*2ffa7a35SSrinivas Kandagatla  clocks:
26*2ffa7a35SSrinivas Kandagatla    items:
27*2ffa7a35SSrinivas Kandagatla      - description: LPASS Audio voting clock
28*2ffa7a35SSrinivas Kandagatla
29*2ffa7a35SSrinivas Kandagatla  clock-names:
30*2ffa7a35SSrinivas Kandagatla    items:
31*2ffa7a35SSrinivas Kandagatla      - const: audio
32*2ffa7a35SSrinivas Kandagatla
33*2ffa7a35SSrinivas KandagatlapatternProperties:
34*2ffa7a35SSrinivas Kandagatla  "-state$":
35*2ffa7a35SSrinivas Kandagatla    oneOf:
36*2ffa7a35SSrinivas Kandagatla      - $ref: "#/$defs/qcom-sm4250-lpass-state"
37*2ffa7a35SSrinivas Kandagatla      - patternProperties:
38*2ffa7a35SSrinivas Kandagatla          "-pins$":
39*2ffa7a35SSrinivas Kandagatla            $ref: "#/$defs/qcom-sm4250-lpass-state"
40*2ffa7a35SSrinivas Kandagatla        additionalProperties: false
41*2ffa7a35SSrinivas Kandagatla
42*2ffa7a35SSrinivas Kandagatla$defs:
43*2ffa7a35SSrinivas Kandagatla  qcom-sm4250-lpass-state:
44*2ffa7a35SSrinivas Kandagatla    type: object
45*2ffa7a35SSrinivas Kandagatla    description:
46*2ffa7a35SSrinivas Kandagatla      Pinctrl node's client devices use subnodes for desired pin configuration.
47*2ffa7a35SSrinivas Kandagatla      Client device subnodes use below standard properties.
48*2ffa7a35SSrinivas Kandagatla    $ref: qcom,lpass-lpi-common.yaml#/$defs/qcom-tlmm-state
49*2ffa7a35SSrinivas Kandagatla    unevaluatedProperties: false
50*2ffa7a35SSrinivas Kandagatla
51*2ffa7a35SSrinivas Kandagatla    properties:
52*2ffa7a35SSrinivas Kandagatla      pins:
53*2ffa7a35SSrinivas Kandagatla        description:
54*2ffa7a35SSrinivas Kandagatla          List of gpio pins affected by the properties specified in this
55*2ffa7a35SSrinivas Kandagatla          subnode.
56*2ffa7a35SSrinivas Kandagatla        items:
57*2ffa7a35SSrinivas Kandagatla          pattern: "^gpio([0-9]|1[0-9]|2[0-6])$"
58*2ffa7a35SSrinivas Kandagatla
59*2ffa7a35SSrinivas Kandagatla      function:
60*2ffa7a35SSrinivas Kandagatla        enum: [ gpio, dmic01_clk, dmic01_data, dmic23_clk, dmic23_data,
61*2ffa7a35SSrinivas Kandagatla                dmic4_clk, dmic4_data, ext_mclk0_a, ext_mclk0_b, ext_mclk1_a,
62*2ffa7a35SSrinivas Kandagatla                ext_mclk1_b, ext_mclk1_c, i2s1_clk, i2s1_data, i2s1_ws,
63*2ffa7a35SSrinivas Kandagatla                i2s2_clk, i2s2_data, i2s2_ws, i2s3_clk, i2s3_data, i2s3_ws,
64*2ffa7a35SSrinivas Kandagatla                qua_mi2s_data, qua_mi2s_sclk, qua_mi2s_ws, slim_clk, slim_data,
65*2ffa7a35SSrinivas Kandagatla                swr_rx_clk, swr_rx_data, swr_tx_clk, swr_tx_data, swr_wsa_clk,
66*2ffa7a35SSrinivas Kandagatla                swr_wsa_data ]
67*2ffa7a35SSrinivas Kandagatla        description:
68*2ffa7a35SSrinivas Kandagatla          Specify the alternative function to be configured for the specified
69*2ffa7a35SSrinivas Kandagatla          pins.
70*2ffa7a35SSrinivas Kandagatla
71*2ffa7a35SSrinivas KandagatlaallOf:
72*2ffa7a35SSrinivas Kandagatla  - $ref: qcom,lpass-lpi-common.yaml#
73*2ffa7a35SSrinivas Kandagatla
74*2ffa7a35SSrinivas Kandagatlarequired:
75*2ffa7a35SSrinivas Kandagatla  - compatible
76*2ffa7a35SSrinivas Kandagatla  - reg
77*2ffa7a35SSrinivas Kandagatla  - clocks
78*2ffa7a35SSrinivas Kandagatla  - clock-names
79*2ffa7a35SSrinivas Kandagatla
80*2ffa7a35SSrinivas KandagatlaunevaluatedProperties: false
81*2ffa7a35SSrinivas Kandagatla
82*2ffa7a35SSrinivas Kandagatlaexamples:
83*2ffa7a35SSrinivas Kandagatla  - |
84*2ffa7a35SSrinivas Kandagatla    #include <dt-bindings/sound/qcom,q6afe.h>
85*2ffa7a35SSrinivas Kandagatla    lpi_tlmm: pinctrl@a7c0000 {
86*2ffa7a35SSrinivas Kandagatla        compatible = "qcom,sm4250-lpass-lpi-pinctrl";
87*2ffa7a35SSrinivas Kandagatla        reg = <0xa7c0000 0x20000>,
88*2ffa7a35SSrinivas Kandagatla              <0xa950000 0x10000>;
89*2ffa7a35SSrinivas Kandagatla        clocks = <&q6afecc LPASS_HW_DCODEC_VOTE LPASS_CLK_ATTRIBUTE_COUPLE_NO>;
90*2ffa7a35SSrinivas Kandagatla        clock-names = "audio";
91*2ffa7a35SSrinivas Kandagatla        gpio-controller;
92*2ffa7a35SSrinivas Kandagatla        #gpio-cells = <2>;
93*2ffa7a35SSrinivas Kandagatla        gpio-ranges = <&lpi_tlmm 0 0 19>;
94*2ffa7a35SSrinivas Kandagatla
95*2ffa7a35SSrinivas Kandagatla        i2s2-active-state {
96*2ffa7a35SSrinivas Kandagatla            clk-pins {
97*2ffa7a35SSrinivas Kandagatla                pins = "gpio10";
98*2ffa7a35SSrinivas Kandagatla                function = "i2s2_clk";
99*2ffa7a35SSrinivas Kandagatla                drive-strength = <2>;
100*2ffa7a35SSrinivas Kandagatla                slew-rate = <1>;
101*2ffa7a35SSrinivas Kandagatla                bias-disable;
102*2ffa7a35SSrinivas Kandagatla            };
103*2ffa7a35SSrinivas Kandagatla
104*2ffa7a35SSrinivas Kandagatla            data-pins {
105*2ffa7a35SSrinivas Kandagatla                pins = "gpio12";
106*2ffa7a35SSrinivas Kandagatla                function = "i2s2_data";
107*2ffa7a35SSrinivas Kandagatla                drive-strength = <2>;
108*2ffa7a35SSrinivas Kandagatla                slew-rate = <1>;
109*2ffa7a35SSrinivas Kandagatla            };
110*2ffa7a35SSrinivas Kandagatla        };
111*2ffa7a35SSrinivas Kandagatla
112*2ffa7a35SSrinivas Kandagatla        i2s2-sleep-clk-state {
113*2ffa7a35SSrinivas Kandagatla            pins = "gpio10";
114*2ffa7a35SSrinivas Kandagatla            function = "i2s2_clk";
115*2ffa7a35SSrinivas Kandagatla            drive-strength = <2>;
116*2ffa7a35SSrinivas Kandagatla            bias-pull-down;
117*2ffa7a35SSrinivas Kandagatla        };
118*2ffa7a35SSrinivas Kandagatla    };
119