xref: /linux/Documentation/devicetree/bindings/pinctrl/qcom,sm6115-lpass-lpi-pinctrl.yaml (revision 5a5ecedc4b57ec072b1ab780352087958fe2527e)
1743cbe65SKonrad Dybcio# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2743cbe65SKonrad Dybcio%YAML 1.2
3743cbe65SKonrad Dybcio---
4743cbe65SKonrad Dybcio$id: http://devicetree.org/schemas/pinctrl/qcom,sm6115-lpass-lpi-pinctrl.yaml#
5743cbe65SKonrad Dybcio$schema: http://devicetree.org/meta-schemas/core.yaml#
6743cbe65SKonrad Dybcio
7743cbe65SKonrad Dybciotitle: Qualcomm SM6115 SoC LPASS LPI TLMM
8743cbe65SKonrad Dybcio
9743cbe65SKonrad Dybciomaintainers:
10743cbe65SKonrad Dybcio  - Konrad Dybcio <konradybcio@kernel.org>
11743cbe65SKonrad Dybcio  - Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
12743cbe65SKonrad Dybcio
13743cbe65SKonrad Dybciodescription:
14743cbe65SKonrad Dybcio  Top Level Mode Multiplexer pin controller in the Low Power Audio SubSystem
15743cbe65SKonrad Dybcio  (LPASS) Low Power Island (LPI) of Qualcomm SM6115 SoC.
16743cbe65SKonrad Dybcio
17743cbe65SKonrad Dybcioproperties:
18743cbe65SKonrad Dybcio  compatible:
19743cbe65SKonrad Dybcio    const: qcom,sm6115-lpass-lpi-pinctrl
20743cbe65SKonrad Dybcio
21743cbe65SKonrad Dybcio  reg:
22743cbe65SKonrad Dybcio    items:
23743cbe65SKonrad Dybcio      - description: LPASS LPI TLMM Control and Status registers
24743cbe65SKonrad Dybcio      - description: LPASS LPI MCC registers
25743cbe65SKonrad Dybcio
26743cbe65SKonrad Dybcio  clocks:
27743cbe65SKonrad Dybcio    items:
28743cbe65SKonrad Dybcio      - description: LPASS Audio voting clock
29743cbe65SKonrad Dybcio
30743cbe65SKonrad Dybcio  clock-names:
31743cbe65SKonrad Dybcio    items:
32743cbe65SKonrad Dybcio      - const: audio
33743cbe65SKonrad Dybcio
34743cbe65SKonrad DybciopatternProperties:
35743cbe65SKonrad Dybcio  "-state$":
36743cbe65SKonrad Dybcio    oneOf:
37743cbe65SKonrad Dybcio      - $ref: "#/$defs/qcom-sm6115-lpass-state"
38743cbe65SKonrad Dybcio      - patternProperties:
39743cbe65SKonrad Dybcio          "-pins$":
40743cbe65SKonrad Dybcio            $ref: "#/$defs/qcom-sm6115-lpass-state"
41743cbe65SKonrad Dybcio        additionalProperties: false
42743cbe65SKonrad Dybcio
43743cbe65SKonrad Dybcio$defs:
44743cbe65SKonrad Dybcio  qcom-sm6115-lpass-state:
45743cbe65SKonrad Dybcio    type: object
46743cbe65SKonrad Dybcio    description:
47743cbe65SKonrad Dybcio      Pinctrl node's client devices use subnodes for desired pin configuration.
48743cbe65SKonrad Dybcio      Client device subnodes use below standard properties.
49*5a5ecedcSKrzysztof Kozlowski    $ref: qcom,lpass-lpi-common.yaml#/$defs/qcom-tlmm-state
50*5a5ecedcSKrzysztof Kozlowski    unevaluatedProperties: false
51743cbe65SKonrad Dybcio
52743cbe65SKonrad Dybcio    properties:
53743cbe65SKonrad Dybcio      pins:
54743cbe65SKonrad Dybcio        description:
55743cbe65SKonrad Dybcio          List of gpio pins affected by the properties specified in this
56743cbe65SKonrad Dybcio          subnode.
57743cbe65SKonrad Dybcio        items:
58743cbe65SKonrad Dybcio          pattern: "^gpio([0-9]|1[0-8])$"
59743cbe65SKonrad Dybcio
60743cbe65SKonrad Dybcio      function:
61743cbe65SKonrad Dybcio        enum: [ dmic01_clk, dmic01_data, dmic23_clk, dmic23_data, gpio, i2s1_clk,
62743cbe65SKonrad Dybcio                i2s1_data, i2s1_ws, i2s2_clk, i2s2_data, i2s2_ws, i2s3_clk,
63743cbe65SKonrad Dybcio                i2s3_data, i2s3_ws, qua_mi2s_data, qua_mi2s_sclk, qua_mi2s_ws,
64743cbe65SKonrad Dybcio                swr_rx_clk, swr_rx_data, swr_tx_clk, swr_tx_data, wsa_mclk ]
65743cbe65SKonrad Dybcio        description:
66743cbe65SKonrad Dybcio          Specify the alternative function to be configured for the specified
67743cbe65SKonrad Dybcio          pins.
68743cbe65SKonrad Dybcio
69743cbe65SKonrad Dybcio
70743cbe65SKonrad DybcioallOf:
71*5a5ecedcSKrzysztof Kozlowski  - $ref: qcom,lpass-lpi-common.yaml#
72743cbe65SKonrad Dybcio
73743cbe65SKonrad Dybciorequired:
74743cbe65SKonrad Dybcio  - compatible
75743cbe65SKonrad Dybcio  - reg
76743cbe65SKonrad Dybcio  - clocks
77743cbe65SKonrad Dybcio  - clock-names
78743cbe65SKonrad Dybcio
79*5a5ecedcSKrzysztof KozlowskiunevaluatedProperties: false
80743cbe65SKonrad Dybcio
81743cbe65SKonrad Dybcioexamples:
82743cbe65SKonrad Dybcio  - |
83743cbe65SKonrad Dybcio    #include <dt-bindings/sound/qcom,q6afe.h>
84743cbe65SKonrad Dybcio
85743cbe65SKonrad Dybcio    lpass_tlmm: pinctrl@a7c0000 {
86743cbe65SKonrad Dybcio        compatible = "qcom,sm6115-lpass-lpi-pinctrl";
87743cbe65SKonrad Dybcio        reg = <0x0a7c0000 0x20000>,
88743cbe65SKonrad Dybcio              <0x0a950000 0x10000>;
89743cbe65SKonrad Dybcio        clocks = <&q6afecc LPASS_HW_DCODEC_VOTE LPASS_CLK_ATTRIBUTE_COUPLE_NO>;
90743cbe65SKonrad Dybcio        clock-names = "audio";
91743cbe65SKonrad Dybcio
92743cbe65SKonrad Dybcio        gpio-controller;
93743cbe65SKonrad Dybcio        #gpio-cells = <2>;
94743cbe65SKonrad Dybcio        gpio-ranges = <&lpass_tlmm 0 0 19>;
95743cbe65SKonrad Dybcio    };
96