xref: /linux/Documentation/devicetree/bindings/sound/qcom,sm8250.yaml (revision 7f71507851fc7764b36a3221839607d3a45c2025)
1# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2%YAML 1.2
3---
4$id: http://devicetree.org/schemas/sound/qcom,sm8250.yaml#
5$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7title: Qualcomm Technologies Inc. ASoC sound card drivers
8
9maintainers:
10  - Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
11
12description:
13  This bindings describes Qualcomm SoC based sound cards
14  which uses LPASS internal codec for audio.
15
16properties:
17  compatible:
18    oneOf:
19      - items:
20          - enum:
21              - lenovo,yoga-c630-sndcard
22              - qcom,db845c-sndcard
23          - const: qcom,sdm845-sndcard
24      - items:
25          - enum:
26              - qcom,sm8550-sndcard
27              - qcom,sm8650-sndcard
28              - qcom,sm8750-sndcard
29          - const: qcom,sm8450-sndcard
30      - enum:
31          - qcom,apq8096-sndcard
32          - qcom,qcm6490-idp-sndcard
33          - qcom,qcs6490-rb3gen2-sndcard
34          - qcom,qrb4210-rb2-sndcard
35          - qcom,qrb5165-rb5-sndcard
36          - qcom,sc7180-qdsp6-sndcard
37          - qcom,sc8280xp-sndcard
38          - qcom,sdm845-sndcard
39          - qcom,sm8250-sndcard
40          - qcom,sm8450-sndcard
41          - qcom,x1e80100-sndcard
42
43  audio-routing:
44    $ref: /schemas/types.yaml#/definitions/non-unique-string-array
45    description:
46      A list of the connections between audio components. Each entry is a
47      pair of strings, the first being the connection's sink, the second
48      being the connection's source. Valid names could be power supplies,
49      MicBias of codec and the jacks on the board.
50
51  aux-devs:
52    $ref: /schemas/types.yaml#/definitions/phandle-array
53    description: |
54      List of phandles pointing to auxiliary devices, such
55      as amplifiers, to be added to the sound card.
56
57  model:
58    $ref: /schemas/types.yaml#/definitions/string
59    description: User visible long sound card name
60
61patternProperties:
62  ".*-dai-link$":
63    description:
64      Each subnode represents a dai link. Subnodes of each dai links would be
65      cpu/codec dais.
66
67    type: object
68
69    properties:
70      link-name:
71        description: Indicates dai-link name and PCM stream name.
72        $ref: /schemas/types.yaml#/definitions/string
73        maxItems: 1
74
75      cpu:
76        description: Holds subnode which indicates cpu dai.
77        type: object
78        additionalProperties: false
79
80        properties:
81          sound-dai:
82            maxItems: 1
83
84      platform:
85        description: Holds subnode which indicates platform dai.
86        type: object
87        additionalProperties: false
88
89        properties:
90          sound-dai:
91            maxItems: 1
92
93      codec:
94        description: Holds subnode which indicates codec dai.
95        type: object
96        additionalProperties: false
97
98        properties:
99          sound-dai:
100            minItems: 1
101            maxItems: 8
102
103    required:
104      - link-name
105      - cpu
106
107    additionalProperties: false
108
109required:
110  - compatible
111  - model
112
113additionalProperties: false
114
115examples:
116
117  - |
118    #include <dt-bindings/sound/qcom,q6afe.h>
119    #include <dt-bindings/sound/qcom,q6asm.h>
120    sound {
121        compatible = "qcom,qrb5165-rb5-sndcard";
122        model = "Qualcomm-qrb5165-RB5-WSA8815-Speakers-DMIC0";
123        audio-routing = "SpkrLeft IN", "WSA_SPK1 OUT",
124                    "SpkrRight IN", "WSA_SPK2 OUT",
125                    "VA DMIC0", "vdd-micb",
126                    "VA DMIC1", "vdd-micb";
127
128        mm1-dai-link {
129            link-name = "MultiMedia0";
130            cpu {
131                sound-dai = <&q6asmdai  MSM_FRONTEND_DAI_MULTIMEDIA1>;
132            };
133        };
134
135        mm2-dai-link {
136            link-name = "MultiMedia2";
137            cpu {
138                sound-dai = <&q6asmdai  MSM_FRONTEND_DAI_MULTIMEDIA2>;
139            };
140        };
141
142        mm3-dai-link {
143            link-name = "MultiMedia3";
144            cpu {
145                sound-dai = <&q6asmdai  MSM_FRONTEND_DAI_MULTIMEDIA3>;
146            };
147        };
148
149        hdmi-dai-link {
150            link-name = "HDMI Playback";
151            cpu {
152                sound-dai = <&q6afedai TERTIARY_MI2S_RX>;
153            };
154
155            platform {
156                sound-dai = <&q6routing>;
157            };
158
159            codec {
160                sound-dai = <&lt9611_codec 0>;
161            };
162        };
163
164        wsa-dai-link {
165            link-name = "WSA Playback";
166            cpu {
167                sound-dai = <&q6afedai WSA_CODEC_DMA_RX_0>;
168            };
169
170            platform {
171                sound-dai = <&q6routing>;
172            };
173
174            codec {
175                sound-dai = <&left_spkr>, <&right_spkr>, <&swr0 0>, <&wsamacro>;
176            };
177        };
178
179        va-dai-link {
180            link-name = "VA Capture";
181            cpu {
182                sound-dai = <&q6afedai VA_CODEC_DMA_TX_0>;
183            };
184
185            platform {
186                sound-dai = <&q6routing>;
187            };
188
189            codec {
190                sound-dai = <&vamacro 0>;
191            };
192        };
193    };
194