1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
4 $id: http://devicetree.org/schemas/sound/qcom,sm8250.yaml#
5 $schema: http://devicetree.org/meta-schemas/core.yaml#
7 title: Qualcomm Technologies Inc. ASoC sound card drivers
10 - Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
13 This bindings describes Qualcomm SoC based sound cards
14 which uses LPASS internal codec for audio.
21 - lenovo,yoga-c630-sndcard
23 - const: qcom,sdm845-sndcard
25 - qcom,apq8016-sbc-sndcard
26 - qcom,msm8916-qdsp6-sndcard
27 - qcom,qrb5165-rb5-sndcard
28 - qcom,sc7180-qdsp6-sndcard
29 - qcom,sc8280xp-sndcard
35 $ref: /schemas/types.yaml#/definitions/non-unique-string-array
37 A list of the connections between audio components. Each entry is a
38 pair of strings, the first being the connection's sink, the second
39 being the connection's source. Valid names could be power supplies,
40 MicBias of codec and the jacks on the board.
43 $ref: /schemas/types.yaml#/definitions/phandle-array
45 List of phandles pointing to auxiliary devices, such
46 as amplifiers, to be added to the sound card.
49 $ref: /schemas/types.yaml#/definitions/string
50 description: User visible long sound card name
53 description: List of widget names for which pin switches should be created.
54 $ref: /schemas/types.yaml#/definitions/string-array
57 description: User specified audio sound widgets.
58 $ref: /schemas/types.yaml#/definitions/non-unique-string-array
60 # Only valid for some compatibles (see allOf if below)
67 Each subnode represents a dai link. Subnodes of each dai links would be
74 description: Indicates dai-link name and PCM stream name.
75 $ref: /schemas/types.yaml#/definitions/string
79 description: Holds subnode which indicates cpu dai.
81 additionalProperties: false
88 description: Holds subnode which indicates platform dai.
90 additionalProperties: false
97 description: Holds subnode which indicates codec dai.
99 additionalProperties: false
110 additionalProperties: false
122 - qcom,apq8016-sbc-sndcard
123 - qcom,msm8916-qdsp6-sndcard
128 - description: Microphone I/O mux register address
129 - description: Speaker I/O mux register address
144 additionalProperties: false
149 #include <dt-bindings/sound/qcom,q6afe.h>
150 #include <dt-bindings/sound/qcom,q6asm.h>
152 compatible = "qcom,qrb5165-rb5-sndcard";
153 model = "Qualcomm-qrb5165-RB5-WSA8815-Speakers-DMIC0";
154 audio-routing = "SpkrLeft IN", "WSA_SPK1 OUT",
155 "SpkrRight IN", "WSA_SPK2 OUT",
156 "VA DMIC0", "vdd-micb",
157 "VA DMIC1", "vdd-micb";
160 link-name = "MultiMedia0";
162 sound-dai = <&q6asmdai MSM_FRONTEND_DAI_MULTIMEDIA1>;
167 link-name = "MultiMedia2";
169 sound-dai = <&q6asmdai MSM_FRONTEND_DAI_MULTIMEDIA2>;
174 link-name = "MultiMedia3";
176 sound-dai = <&q6asmdai MSM_FRONTEND_DAI_MULTIMEDIA3>;
181 link-name = "HDMI Playback";
183 sound-dai = <&q6afedai TERTIARY_MI2S_RX>;
187 sound-dai = <&q6routing>;
191 sound-dai = <<9611_codec 0>;
196 link-name = "WSA Playback";
198 sound-dai = <&q6afedai WSA_CODEC_DMA_RX_0>;
202 sound-dai = <&q6routing>;
206 sound-dai = <&left_spkr>, <&right_spkr>, <&swr0 0>, <&wsamacro>;
211 link-name = "VA Capture";
213 sound-dai = <&q6afedai VA_CODEC_DMA_TX_0>;
217 sound-dai = <&q6routing>;
221 sound-dai = <&vamacro 0>;
227 #include <dt-bindings/sound/qcom,lpass.h>
229 compatible = "qcom,apq8016-sbc-sndcard";
230 reg = <0x07702000 0x4>, <0x07702004 0x4>;
231 reg-names = "mic-iomux", "spkr-iomux";
235 "AMIC2", "MIC BIAS Internal2",
236 "AMIC3", "MIC BIAS External1";
238 pinctrl-0 = <&cdc_pdm_lines_act &ext_sec_tlmm_lines_act &ext_mclk_tlmm_lines_act>;
239 pinctrl-1 = <&cdc_pdm_lines_sus &ext_sec_tlmm_lines_sus &ext_mclk_tlmm_lines_sus>;
240 pinctrl-names = "default", "sleep";
242 quaternary-dai-link {
243 link-name = "ADV7533";
245 sound-dai = <&lpass MI2S_QUATERNARY>;
248 sound-dai = <&adv_bridge 0>;
255 sound-dai = <&lpass MI2S_PRIMARY>;
258 sound-dai = <&lpass_codec 0>, <&wcd_codec 0>;
263 link-name = "WCD-Capture";
265 sound-dai = <&lpass MI2S_TERTIARY>;
268 sound-dai = <&lpass_codec 1>, <&wcd_codec 1>;
274 #include <dt-bindings/sound/qcom,q6afe.h>
275 #include <dt-bindings/sound/qcom,q6asm.h>
277 compatible = "qcom,msm8916-qdsp6-sndcard";
278 reg = <0x07702000 0x4>, <0x07702004 0x4>;
279 reg-names = "mic-iomux", "spkr-iomux";
283 "Speaker", "Speaker",
284 "Headphone", "Headphones";
285 pin-switches = "Speaker";
287 "Speaker", "Speaker Amp OUT",
288 "Speaker Amp IN", "HPH_R",
289 "Headphones", "HPH_L",
290 "Headphones", "HPH_R",
291 "AMIC1", "MIC BIAS Internal1",
292 "AMIC2", "MIC BIAS Internal2",
293 "AMIC3", "MIC BIAS Internal3";
294 aux-devs = <&speaker_amp>;
296 pinctrl-names = "default", "sleep";
297 pinctrl-0 = <&cdc_pdm_lines_act>;
298 pinctrl-1 = <&cdc_pdm_lines_sus>;
301 link-name = "MultiMedia1";
303 sound-dai = <&q6asmdai MSM_FRONTEND_DAI_MULTIMEDIA1>;
308 link-name = "Primary MI2S";
310 sound-dai = <&q6afedai PRIMARY_MI2S_RX>;
313 sound-dai = <&q6routing>;
316 sound-dai = <&lpass_codec 0>, <&wcd_codec 0>;