Merge tag 'block-6.13-20242901' of git://git.kernel.dk/linux
[drm/drm-misc.git] / Documentation / devicetree / bindings / sound / qcom,apq8016-sbc-sndcard.yaml
blob6ad451549036f86324e54351e9c4842c08316705
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,apq8016-sbc-sndcard.yaml#
5 $schema: http://devicetree.org/meta-schemas/core.yaml#
7 title: Qualcomm APQ8016 and similar sound cards
9 maintainers:
10   - Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
11   - Stephan Gerhold <stephan@gerhold.net>
13 properties:
14   compatible:
15     enum:
16       - qcom,apq8016-sbc-sndcard
17       - qcom,msm8916-qdsp6-sndcard
19   reg:
20     items:
21       - description: Microphone I/O mux register address
22       - description: Speaker I/O mux register address
24   reg-names:
25     items:
26       - const: mic-iomux
27       - const: spkr-iomux
29   audio-routing:
30     $ref: /schemas/types.yaml#/definitions/non-unique-string-array
31     description:
32       A list of the connections between audio components. Each entry is a
33       pair of strings, the first being the connection's sink, the second
34       being the connection's source. Valid names could be power supplies,
35       MicBias of codec and the jacks on the board.
37   aux-devs:
38     $ref: /schemas/types.yaml#/definitions/phandle-array
39     description: |
40       List of phandles pointing to auxiliary devices, such
41       as amplifiers, to be added to the sound card.
43   model:
44     $ref: /schemas/types.yaml#/definitions/string
45     description: User visible long sound card name
47   pin-switches:
48     description: List of widget names for which pin switches should be created.
49     $ref: /schemas/types.yaml#/definitions/string-array
51   widgets:
52     description: User specified audio sound widgets.
53     $ref: /schemas/types.yaml#/definitions/non-unique-string-array
55 patternProperties:
56   ".*-dai-link$":
57     description:
58       Each subnode represents a dai link. Subnodes of each dai links would be
59       cpu/codec dais.
61     type: object
63     properties:
64       link-name:
65         description: Indicates dai-link name and PCM stream name.
66         $ref: /schemas/types.yaml#/definitions/string
67         maxItems: 1
69       cpu:
70         description: Holds subnode which indicates cpu dai.
71         type: object
72         additionalProperties: false
74         properties:
75           sound-dai:
76             maxItems: 1
78       platform:
79         description: Holds subnode which indicates platform dai.
80         type: object
81         additionalProperties: false
83         properties:
84           sound-dai:
85             maxItems: 1
87       codec:
88         description: Holds subnode which indicates codec dai.
89         type: object
90         additionalProperties: false
92         properties:
93           sound-dai:
94             minItems: 1
95             maxItems: 8
97     required:
98       - link-name
99       - cpu
101     additionalProperties: false
103 required:
104   - compatible
105   - reg
106   - reg-names
107   - model
109 additionalProperties: false
111 examples:
112   - |
113     #include <dt-bindings/sound/qcom,lpass.h>
114     sound@7702000 {
115         compatible = "qcom,apq8016-sbc-sndcard";
116         reg = <0x07702000 0x4>, <0x07702004 0x4>;
117         reg-names = "mic-iomux", "spkr-iomux";
119         model = "DB410c";
120         audio-routing =
121             "AMIC2", "MIC BIAS Internal2",
122             "AMIC3", "MIC BIAS External1";
124         pinctrl-0 = <&cdc_pdm_lines_act &ext_sec_tlmm_lines_act &ext_mclk_tlmm_lines_act>;
125         pinctrl-1 = <&cdc_pdm_lines_sus &ext_sec_tlmm_lines_sus &ext_mclk_tlmm_lines_sus>;
126         pinctrl-names = "default", "sleep";
128         quaternary-dai-link {
129             link-name = "ADV7533";
130             cpu {
131                 sound-dai = <&lpass MI2S_QUATERNARY>;
132             };
133             codec {
134                 sound-dai = <&adv_bridge 0>;
135             };
136         };
138         primary-dai-link {
139             link-name = "WCD";
140             cpu {
141                 sound-dai = <&lpass MI2S_PRIMARY>;
142             };
143             codec {
144                 sound-dai = <&lpass_codec 0>, <&wcd_codec 0>;
145             };
146         };
148         tertiary-dai-link {
149             link-name = "WCD-Capture";
150             cpu {
151                 sound-dai = <&lpass MI2S_TERTIARY>;
152             };
153             codec {
154                 sound-dai = <&lpass_codec 1>, <&wcd_codec 1>;
155             };
156         };
157     };
159   - |
160     #include <dt-bindings/sound/qcom,q6afe.h>
161     #include <dt-bindings/sound/qcom,q6asm.h>
162     sound@7702000 {
163         compatible = "qcom,msm8916-qdsp6-sndcard";
164         reg = <0x07702000 0x4>, <0x07702004 0x4>;
165         reg-names = "mic-iomux", "spkr-iomux";
167         model = "msm8916";
168         widgets =
169             "Speaker", "Speaker",
170             "Headphone", "Headphones";
171         pin-switches = "Speaker";
172         audio-routing =
173             "Speaker", "Speaker Amp OUT",
174             "Speaker Amp IN", "HPH_R",
175             "Headphones", "HPH_L",
176             "Headphones", "HPH_R",
177             "AMIC1", "MIC BIAS Internal1",
178             "AMIC2", "MIC BIAS Internal2",
179             "AMIC3", "MIC BIAS Internal3";
180         aux-devs = <&speaker_amp>;
182         pinctrl-names = "default", "sleep";
183         pinctrl-0 = <&cdc_pdm_lines_act>;
184         pinctrl-1 = <&cdc_pdm_lines_sus>;
186         mm1-dai-link {
187             link-name = "MultiMedia1";
188             cpu {
189                 sound-dai = <&q6asmdai MSM_FRONTEND_DAI_MULTIMEDIA1>;
190             };
191         };
193         primary-dai-link {
194             link-name = "Primary MI2S";
195             cpu {
196                 sound-dai = <&q6afedai PRIMARY_MI2S_RX>;
197             };
198             platform {
199                 sound-dai = <&q6routing>;
200             };
201             codec {
202                 sound-dai = <&lpass_codec 0>, <&wcd_codec 0>;
203             };
204         };
205     };