xref: /linux/Documentation/devicetree/bindings/sound/qcom,sm8250.yaml (revision f6e8dc9edf963dbc99085e54f6ced6da9daa6100)
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          - fairphone,fp4-sndcard
32          - fairphone,fp5-sndcard
33          - qcom,apq8096-sndcard
34          - qcom,glymur-sndcard
35          - qcom,qcm6490-idp-sndcard
36          - qcom,qcs615-sndcard
37          - qcom,qcs6490-rb3gen2-sndcard
38          - qcom,qcs8275-sndcard
39          - qcom,qcs9075-sndcard
40          - qcom,qcs9100-sndcard
41          - qcom,qrb4210-rb2-sndcard
42          - qcom,qrb5165-rb5-sndcard
43          - qcom,sc7180-qdsp6-sndcard
44          - qcom,sc8280xp-sndcard
45          - qcom,sdm845-sndcard
46          - qcom,sm8250-sndcard
47          - qcom,sm8450-sndcard
48          - qcom,x1e80100-sndcard
49
50  audio-routing:
51    $ref: /schemas/types.yaml#/definitions/non-unique-string-array
52    description:
53      A list of the connections between audio components. Each entry is a
54      pair of strings, the first being the connection's sink, the second
55      being the connection's source. Valid names could be power supplies,
56      MicBias of codec and the jacks on the board.
57
58  aux-devs:
59    $ref: /schemas/types.yaml#/definitions/phandle-array
60    description: |
61      List of phandles pointing to auxiliary devices, such
62      as amplifiers, to be added to the sound card.
63
64  model:
65    $ref: /schemas/types.yaml#/definitions/string
66    description: User visible long sound card name
67
68patternProperties:
69  ".*-dai-link$":
70    description:
71      Each subnode represents a dai link. Subnodes of each dai links would be
72      cpu/codec dais.
73
74    type: object
75
76    properties:
77      link-name:
78        description: Indicates dai-link name and PCM stream name.
79        $ref: /schemas/types.yaml#/definitions/string
80        maxItems: 1
81
82      cpu:
83        description: Holds subnode which indicates cpu dai.
84        type: object
85        additionalProperties: false
86
87        properties:
88          sound-dai:
89            maxItems: 1
90
91      platform:
92        description: Holds subnode which indicates platform dai.
93        type: object
94        additionalProperties: false
95
96        properties:
97          sound-dai:
98            maxItems: 1
99
100      codec:
101        description: Holds subnode which indicates codec dai.
102        type: object
103        additionalProperties: false
104
105        properties:
106          sound-dai:
107            minItems: 1
108            maxItems: 8
109
110    required:
111      - link-name
112      - cpu
113
114    additionalProperties: false
115
116required:
117  - compatible
118  - model
119
120additionalProperties: false
121
122examples:
123
124  - |
125    #include <dt-bindings/sound/qcom,q6afe.h>
126    #include <dt-bindings/sound/qcom,q6asm.h>
127    sound {
128        compatible = "qcom,qrb5165-rb5-sndcard";
129        model = "Qualcomm-qrb5165-RB5-WSA8815-Speakers-DMIC0";
130        audio-routing = "SpkrLeft IN", "WSA_SPK1 OUT",
131                    "SpkrRight IN", "WSA_SPK2 OUT",
132                    "VA DMIC0", "vdd-micb",
133                    "VA DMIC1", "vdd-micb";
134
135        mm1-dai-link {
136            link-name = "MultiMedia0";
137            cpu {
138                sound-dai = <&q6asmdai  MSM_FRONTEND_DAI_MULTIMEDIA1>;
139            };
140        };
141
142        mm2-dai-link {
143            link-name = "MultiMedia2";
144            cpu {
145                sound-dai = <&q6asmdai  MSM_FRONTEND_DAI_MULTIMEDIA2>;
146            };
147        };
148
149        mm3-dai-link {
150            link-name = "MultiMedia3";
151            cpu {
152                sound-dai = <&q6asmdai  MSM_FRONTEND_DAI_MULTIMEDIA3>;
153            };
154        };
155
156        hdmi-dai-link {
157            link-name = "HDMI Playback";
158            cpu {
159                sound-dai = <&q6afedai TERTIARY_MI2S_RX>;
160            };
161
162            platform {
163                sound-dai = <&q6routing>;
164            };
165
166            codec {
167                sound-dai = <&lt9611_codec 0>;
168            };
169        };
170
171        wsa-dai-link {
172            link-name = "WSA Playback";
173            cpu {
174                sound-dai = <&q6afedai WSA_CODEC_DMA_RX_0>;
175            };
176
177            platform {
178                sound-dai = <&q6routing>;
179            };
180
181            codec {
182                sound-dai = <&left_spkr>, <&right_spkr>, <&swr0 0>, <&wsamacro>;
183            };
184        };
185
186        va-dai-link {
187            link-name = "VA Capture";
188            cpu {
189                sound-dai = <&q6afedai VA_CODEC_DMA_TX_0>;
190            };
191
192            platform {
193                sound-dai = <&q6routing>;
194            };
195
196            codec {
197                sound-dai = <&vamacro 0>;
198            };
199        };
200
201        usb-dai-link {
202            link-name = "USB Playback";
203            cpu {
204                sound-dai = <&q6afedai USB_RX>;
205            };
206
207            codec {
208                sound-dai = <&usbdai USB_RX>;
209            };
210
211            platform {
212                sound-dai = <&q6routing>;
213            };
214        };
215    };
216