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
28 - const: qcom,sm8450-sndcard
30 - qcom,apq8016-sbc-sndcard
31 - qcom,msm8916-qdsp6-sndcard
32 - qcom,qrb5165-rb5-sndcard
33 - qcom,sc7180-qdsp6-sndcard
34 - qcom,sc8280xp-sndcard
38 - qcom,x1e80100-sndcard
41 $ref: /schemas/types.yaml#/definitions/non-unique-string-array
43 A list of the connections between audio components. Each entry is a
44 pair of strings, the first being the connection's sink, the second
45 being the connection's source. Valid names could be power supplies,
46 MicBias of codec and the jacks on the board.
49 $ref: /schemas/types.yaml#/definitions/phandle-array
51 List of phandles pointing to auxiliary devices, such
52 as amplifiers, to be added to the sound card.
55 $ref: /schemas/types.yaml#/definitions/string
56 description: User visible long sound card name
59 description: List of widget names for which pin switches should be created.
60 $ref: /schemas/types.yaml#/definitions/string-array
63 description: User specified audio sound widgets.
64 $ref: /schemas/types.yaml#/definitions/non-unique-string-array
66 # Only valid for some compatibles (see allOf if below)
73 Each subnode represents a dai link. Subnodes of each dai links would be
80 description: Indicates dai-link name and PCM stream name.
81 $ref: /schemas/types.yaml#/definitions/string
85 description: Holds subnode which indicates cpu dai.
87 additionalProperties: false
94 description: Holds subnode which indicates platform dai.
96 additionalProperties: false
103 description: Holds subnode which indicates codec dai.
105 additionalProperties: false
116 additionalProperties: false
128 - qcom,apq8016-sbc-sndcard
129 - qcom,msm8916-qdsp6-sndcard
134 - description: Microphone I/O mux register address
135 - description: Speaker I/O mux register address
150 additionalProperties: false
155 #include <dt-bindings/sound/qcom,q6afe.h>
156 #include <dt-bindings/sound/qcom,q6asm.h>
158 compatible = "qcom,qrb5165-rb5-sndcard";
159 model = "Qualcomm-qrb5165-RB5-WSA8815-Speakers-DMIC0";
160 audio-routing = "SpkrLeft IN", "WSA_SPK1 OUT",
161 "SpkrRight IN", "WSA_SPK2 OUT",
162 "VA DMIC0", "vdd-micb",
163 "VA DMIC1", "vdd-micb";
166 link-name = "MultiMedia0";
168 sound-dai = <&q6asmdai MSM_FRONTEND_DAI_MULTIMEDIA1>;
173 link-name = "MultiMedia2";
175 sound-dai = <&q6asmdai MSM_FRONTEND_DAI_MULTIMEDIA2>;
180 link-name = "MultiMedia3";
182 sound-dai = <&q6asmdai MSM_FRONTEND_DAI_MULTIMEDIA3>;
187 link-name = "HDMI Playback";
189 sound-dai = <&q6afedai TERTIARY_MI2S_RX>;
193 sound-dai = <&q6routing>;
197 sound-dai = <<9611_codec 0>;
202 link-name = "WSA Playback";
204 sound-dai = <&q6afedai WSA_CODEC_DMA_RX_0>;
208 sound-dai = <&q6routing>;
212 sound-dai = <&left_spkr>, <&right_spkr>, <&swr0 0>, <&wsamacro>;
217 link-name = "VA Capture";
219 sound-dai = <&q6afedai VA_CODEC_DMA_TX_0>;
223 sound-dai = <&q6routing>;
227 sound-dai = <&vamacro 0>;
233 #include <dt-bindings/sound/qcom,lpass.h>
235 compatible = "qcom,apq8016-sbc-sndcard";
236 reg = <0x07702000 0x4>, <0x07702004 0x4>;
237 reg-names = "mic-iomux", "spkr-iomux";
241 "AMIC2", "MIC BIAS Internal2",
242 "AMIC3", "MIC BIAS External1";
244 pinctrl-0 = <&cdc_pdm_lines_act &ext_sec_tlmm_lines_act &ext_mclk_tlmm_lines_act>;
245 pinctrl-1 = <&cdc_pdm_lines_sus &ext_sec_tlmm_lines_sus &ext_mclk_tlmm_lines_sus>;
246 pinctrl-names = "default", "sleep";
248 quaternary-dai-link {
249 link-name = "ADV7533";
251 sound-dai = <&lpass MI2S_QUATERNARY>;
254 sound-dai = <&adv_bridge 0>;
261 sound-dai = <&lpass MI2S_PRIMARY>;
264 sound-dai = <&lpass_codec 0>, <&wcd_codec 0>;
269 link-name = "WCD-Capture";
271 sound-dai = <&lpass MI2S_TERTIARY>;
274 sound-dai = <&lpass_codec 1>, <&wcd_codec 1>;
280 #include <dt-bindings/sound/qcom,q6afe.h>
281 #include <dt-bindings/sound/qcom,q6asm.h>
283 compatible = "qcom,msm8916-qdsp6-sndcard";
284 reg = <0x07702000 0x4>, <0x07702004 0x4>;
285 reg-names = "mic-iomux", "spkr-iomux";
289 "Speaker", "Speaker",
290 "Headphone", "Headphones";
291 pin-switches = "Speaker";
293 "Speaker", "Speaker Amp OUT",
294 "Speaker Amp IN", "HPH_R",
295 "Headphones", "HPH_L",
296 "Headphones", "HPH_R",
297 "AMIC1", "MIC BIAS Internal1",
298 "AMIC2", "MIC BIAS Internal2",
299 "AMIC3", "MIC BIAS Internal3";
300 aux-devs = <&speaker_amp>;
302 pinctrl-names = "default", "sleep";
303 pinctrl-0 = <&cdc_pdm_lines_act>;
304 pinctrl-1 = <&cdc_pdm_lines_sus>;
307 link-name = "MultiMedia1";
309 sound-dai = <&q6asmdai MSM_FRONTEND_DAI_MULTIMEDIA1>;
314 link-name = "Primary MI2S";
316 sound-dai = <&q6afedai PRIMARY_MI2S_RX>;
319 sound-dai = <&q6routing>;
322 sound-dai = <&lpass_codec 0>, <&wcd_codec 0>;