xref: /linux/Documentation/devicetree/bindings/pinctrl/qcom,sc8280xp-lpass-lpi-pinctrl.yaml (revision 06d07429858317ded2db7986113a9e0129cd599b)
1958bb025SSrinivas Kandagatla# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2958bb025SSrinivas Kandagatla%YAML 1.2
3958bb025SSrinivas Kandagatla---
4958bb025SSrinivas Kandagatla$id: http://devicetree.org/schemas/pinctrl/qcom,sc8280xp-lpass-lpi-pinctrl.yaml#
5958bb025SSrinivas Kandagatla$schema: http://devicetree.org/meta-schemas/core.yaml#
6958bb025SSrinivas Kandagatla
7e1c36247SKrzysztof Kozlowskititle: Qualcomm SC8280XP SoC LPASS LPI TLMM
8958bb025SSrinivas Kandagatla
9958bb025SSrinivas Kandagatlamaintainers:
10958bb025SSrinivas Kandagatla  - Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
11958bb025SSrinivas Kandagatla
12e1c36247SKrzysztof Kozlowskidescription:
13e1c36247SKrzysztof Kozlowski  Top Level Mode Multiplexer pin controller in the Low Power Audio SubSystem
14e1c36247SKrzysztof Kozlowski  (LPASS) Low Power Island (LPI) of Qualcomm SC8280XP SoC.
15958bb025SSrinivas Kandagatla
16958bb025SSrinivas Kandagatlaproperties:
17958bb025SSrinivas Kandagatla  compatible:
18958bb025SSrinivas Kandagatla    const: qcom,sc8280xp-lpass-lpi-pinctrl
19958bb025SSrinivas Kandagatla
20958bb025SSrinivas Kandagatla  reg:
21958bb025SSrinivas Kandagatla    items:
22958bb025SSrinivas Kandagatla      - description: LPASS LPI TLMM Control and Status registers
233abe84eaSKrzysztof Kozlowski      - description: LPASS LPI MCC registers
24958bb025SSrinivas Kandagatla
25958bb025SSrinivas Kandagatla  clocks:
26958bb025SSrinivas Kandagatla    items:
27958bb025SSrinivas Kandagatla      - description: LPASS Core voting clock
28958bb025SSrinivas Kandagatla      - description: LPASS Audio voting clock
29958bb025SSrinivas Kandagatla
30958bb025SSrinivas Kandagatla  clock-names:
31958bb025SSrinivas Kandagatla    items:
32958bb025SSrinivas Kandagatla      - const: core
33958bb025SSrinivas Kandagatla      - const: audio
34958bb025SSrinivas Kandagatla
35958bb025SSrinivas KandagatlapatternProperties:
36b47a6c8bSKrzysztof Kozlowski  "-state$":
37b47a6c8bSKrzysztof Kozlowski    oneOf:
38b47a6c8bSKrzysztof Kozlowski      - $ref: "#/$defs/qcom-sc8280xp-lpass-state"
39b47a6c8bSKrzysztof Kozlowski      - patternProperties:
40b47a6c8bSKrzysztof Kozlowski          "-pins$":
41b47a6c8bSKrzysztof Kozlowski            $ref: "#/$defs/qcom-sc8280xp-lpass-state"
42b47a6c8bSKrzysztof Kozlowski        additionalProperties: false
43b47a6c8bSKrzysztof Kozlowski
44b47a6c8bSKrzysztof Kozlowski$defs:
45b47a6c8bSKrzysztof Kozlowski  qcom-sc8280xp-lpass-state:
46958bb025SSrinivas Kandagatla    type: object
47958bb025SSrinivas Kandagatla    description:
48958bb025SSrinivas Kandagatla      Pinctrl node's client devices use subnodes for desired pin configuration.
49958bb025SSrinivas Kandagatla      Client device subnodes use below standard properties.
50*5a5ecedcSKrzysztof Kozlowski    $ref: qcom,lpass-lpi-common.yaml#/$defs/qcom-tlmm-state
51*5a5ecedcSKrzysztof Kozlowski    unevaluatedProperties: false
52958bb025SSrinivas Kandagatla
53958bb025SSrinivas Kandagatla    properties:
54958bb025SSrinivas Kandagatla      pins:
55958bb025SSrinivas Kandagatla        description:
56958bb025SSrinivas Kandagatla          List of gpio pins affected by the properties specified in this
57958bb025SSrinivas Kandagatla          subnode.
58958bb025SSrinivas Kandagatla        items:
593c90b1baSKrzysztof Kozlowski          pattern: "^gpio([0-9]|1[0-8])$"
60958bb025SSrinivas Kandagatla
61958bb025SSrinivas Kandagatla      function:
62958bb025SSrinivas Kandagatla        enum: [ swr_tx_clk, swr_tx_data, swr_rx_clk, swr_rx_data,
63958bb025SSrinivas Kandagatla                dmic1_clk, dmic1_data, dmic2_clk, dmic2_data, dmic4_clk,
64958bb025SSrinivas Kandagatla                dmic4_data, i2s2_clk, i2s2_ws, dmic3_clk, dmic3_data,
65958bb025SSrinivas Kandagatla                qua_mi2s_sclk, qua_mi2s_ws, qua_mi2s_data, i2s1_clk, i2s1_ws,
66958bb025SSrinivas Kandagatla                i2s1_data, wsa_swr_clk, wsa_swr_data, wsa2_swr_clk,
67958bb025SSrinivas Kandagatla                wsa2_swr_data, i2s2_data, i2s3_clk, i2s3_ws, i2s3_data,
68958bb025SSrinivas Kandagatla                ext_mclk1_c, ext_mclk1_b, ext_mclk1_a ]
69958bb025SSrinivas Kandagatla        description:
70958bb025SSrinivas Kandagatla          Specify the alternative function to be configured for the specified
71958bb025SSrinivas Kandagatla          pins.
72958bb025SSrinivas Kandagatla
73958bb025SSrinivas KandagatlaallOf:
74*5a5ecedcSKrzysztof Kozlowski  - $ref: qcom,lpass-lpi-common.yaml#
75958bb025SSrinivas Kandagatla
76958bb025SSrinivas Kandagatlarequired:
77958bb025SSrinivas Kandagatla  - compatible
78958bb025SSrinivas Kandagatla  - reg
79958bb025SSrinivas Kandagatla  - clocks
80958bb025SSrinivas Kandagatla  - clock-names
81958bb025SSrinivas Kandagatla
82*5a5ecedcSKrzysztof KozlowskiunevaluatedProperties: false
83958bb025SSrinivas Kandagatla
84958bb025SSrinivas Kandagatlaexamples:
85958bb025SSrinivas Kandagatla  - |
86958bb025SSrinivas Kandagatla    #include <dt-bindings/sound/qcom,q6afe.h>
87958bb025SSrinivas Kandagatla    pinctrl@33c0000 {
88958bb025SSrinivas Kandagatla        compatible = "qcom,sc8280xp-lpass-lpi-pinctrl";
89958bb025SSrinivas Kandagatla        reg = <0x33c0000 0x20000>,
90958bb025SSrinivas Kandagatla              <0x3550000 0x10000>;
91958bb025SSrinivas Kandagatla        clocks = <&q6afecc LPASS_HW_MACRO_VOTE LPASS_CLK_ATTRIBUTE_COUPLE_NO>,
92958bb025SSrinivas Kandagatla                 <&q6afecc LPASS_HW_DCODEC_VOTE LPASS_CLK_ATTRIBUTE_COUPLE_NO>;
93958bb025SSrinivas Kandagatla        clock-names = "core", "audio";
94958bb025SSrinivas Kandagatla        gpio-controller;
95958bb025SSrinivas Kandagatla        #gpio-cells = <2>;
96315dffb8SKrzysztof Kozlowski        gpio-ranges = <&lpi_tlmm 0 0 19>;
97b47a6c8bSKrzysztof Kozlowski
98b47a6c8bSKrzysztof Kozlowski        dmic01-state {
99b47a6c8bSKrzysztof Kozlowski            dmic01-clk-pins {
100b47a6c8bSKrzysztof Kozlowski                pins = "gpio16";
101b47a6c8bSKrzysztof Kozlowski                function = "dmic1_clk";
102b47a6c8bSKrzysztof Kozlowski            };
103b47a6c8bSKrzysztof Kozlowski
104b47a6c8bSKrzysztof Kozlowski            dmic01-clk-sleep-pins {
105b47a6c8bSKrzysztof Kozlowski                pins = "gpio16";
106b47a6c8bSKrzysztof Kozlowski                function = "dmic1_clk";
107b47a6c8bSKrzysztof Kozlowski            };
108b47a6c8bSKrzysztof Kozlowski        };
109b47a6c8bSKrzysztof Kozlowski
110b47a6c8bSKrzysztof Kozlowski        tx-swr-data-sleep-state {
111b47a6c8bSKrzysztof Kozlowski            pins = "gpio0", "gpio1";
112b47a6c8bSKrzysztof Kozlowski            function = "swr_tx_data";
113b47a6c8bSKrzysztof Kozlowski        };
114958bb025SSrinivas Kandagatla    };
115