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