Linux kernel mirror (for testing)
git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel
os
linux
1# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2%YAML 1.2
3---
4$id: http://devicetree.org/schemas/sound/fsl-asoc-card.yaml#
5$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7title: Freescale Generic ASoC Sound Card with ASRC support
8
9description:
10 The Freescale Generic ASoC Sound Card can be used, ideally,
11 for all Freescale SoCs connecting with external CODECs.
12
13 The idea of this generic sound card is a bit like ASoC Simple Card.
14 However, for Freescale SoCs (especially those released in recent years),
15 most of them have ASRC inside. And this is a specific feature that might
16 be painstakingly controlled and merged into the Simple Card.
17
18 So having this generic sound card allows all Freescale SoC users to
19 benefit from the simplification of a new card support and the capability
20 of the wide sample rates support through ASRC.
21
22 Note, The card is initially designed for those sound cards who use AC'97, I2S
23 and PCM DAI formats. However, it'll be also possible to support those non
24 AC'97/I2S/PCM type sound cards, such as S/PDIF audio and HDMI audio, as
25 long as the driver has been properly upgraded.
26
27maintainers:
28 - Shengjiu Wang <shengjiu.wang@nxp.com>
29
30properties:
31 compatible:
32 oneOf:
33 - items:
34 - enum:
35 - fsl,imx-sgtl5000
36 - fsl,imx25-pdk-sgtl5000
37 - fsl,imx53-cpuvo-sgtl5000
38 - fsl,imx51-babbage-sgtl5000
39 - fsl,imx53-m53evk-sgtl5000
40 - fsl,imx53-qsb-sgtl5000
41 - fsl,imx53-voipac-sgtl5000
42 - fsl,imx6-armadeus-sgtl5000
43 - fsl,imx6-rex-sgtl5000
44 - fsl,imx6-sabreauto-cs42888
45 - fsl,imx6-wandboard-sgtl5000
46 - fsl,imx6dl-nit6xlite-sgtl5000
47 - fsl,imx6q-ba16-sgtl5000
48 - fsl,imx6q-nitrogen6_max-sgtl5000
49 - fsl,imx6q-nitrogen6_som2-sgtl5000
50 - fsl,imx6q-nitrogen6x-sgtl5000
51 - fsl,imx6q-sabrelite-sgtl5000
52 - fsl,imx6q-sabresd-wm8962
53 - fsl,imx6q-udoo-ac97
54 - fsl,imx6q-ventana-sgtl5000
55 - fsl,imx6sl-evk-wm8962
56 - fsl,imx6sx-sdb-mqs
57 - fsl,imx6sx-sdb-wm8962
58 - fsl,imx7d-evk-wm8960
59 - karo,tx53-audio-sgtl5000
60 - tq,imx53-mba53-sgtl5000
61 - enum:
62 - fsl,imx-audio-ac97
63 - fsl,imx-audio-cs42888
64 - fsl,imx-audio-mqs
65 - fsl,imx-audio-sgtl5000
66 - fsl,imx-audio-wm8960
67 - fsl,imx-audio-wm8962
68 - items:
69 - enum:
70 - fsl,imx-sabreauto-spdif
71 - fsl,imx6sx-sdb-spdif
72 - const: fsl,imx-audio-spdif
73 - items:
74 - enum:
75 - fsl,imx-audio-ac97
76 - fsl,imx-audio-cs42888
77 - fsl,imx-audio-cs427x
78 - fsl,imx-audio-mqs
79 - fsl,imx-audio-nau8822
80 - fsl,imx-audio-sgtl5000
81 - fsl,imx-audio-si476x
82 - fsl,imx-audio-tlv320
83 - fsl,imx-audio-tlv320aic31xx
84 - fsl,imx-audio-tlv320aic32x4
85 - fsl,imx-audio-wm8524
86 - fsl,imx-audio-wm8904
87 - fsl,imx-audio-wm8960
88 - fsl,imx-audio-wm8962
89 - fsl,imx-audio-wm8958
90 - fsl,imx-audio-spdif
91
92 model:
93 $ref: /schemas/types.yaml#/definitions/string
94 description: The user-visible name of this sound complex
95
96 audio-asrc:
97 $ref: /schemas/types.yaml#/definitions/phandle
98 description:
99 The phandle of ASRC. It can be absent if there's no
100 need to add ASRC support via DPCM.
101
102 audio-codec:
103 $ref: /schemas/types.yaml#/definitions/phandle-array
104 description: |
105 The phandle of an audio codec.
106 With "fsl,imx-audio-spdif", either SPDIF audio codec spdif_transmitter,
107 spdif_receiver or both.
108 minItems: 1
109 maxItems: 2
110 items:
111 maxItems: 1
112
113 audio-cpu:
114 $ref: /schemas/types.yaml#/definitions/phandle
115 description: The phandle of an CPU DAI controller
116
117 audio-routing:
118 $ref: /schemas/types.yaml#/definitions/non-unique-string-array
119 description:
120 A list of the connections between audio components. Each entry is a
121 pair of strings, the first being the connection's sink, the second
122 being the connection's source. There're a few pre-designed board
123 connectors. "AMIC" stands for Analog Microphone Jack.
124 "DMIC" stands for Digital Microphone Jack. The "Mic Jack" and "AMIC"
125 are redundant while coexisting in order to support the old bindings
126 of wm8962 and sgtl5000.
127
128 hp-det-gpio:
129 deprecated: true
130 maxItems: 1
131 description: The GPIO that detect headphones are plugged in
132
133 hp-det-gpios:
134 maxItems: 1
135 description: The GPIO that detect headphones are plugged in
136
137 mic-det-gpio:
138 deprecated: true
139 maxItems: 1
140 description: The GPIO that detect microphones are plugged in
141
142 mic-det-gpios:
143 maxItems: 1
144 description: The GPIO that detect microphones are plugged in
145
146 bitclock-master:
147 $ref: simple-card.yaml#/definitions/bitclock-master
148 description: Indicates dai-link bit clock master.
149
150 frame-master:
151 $ref: simple-card.yaml#/definitions/frame-master
152 description: Indicates dai-link frame master.
153
154 format:
155 $ref: simple-card.yaml#/definitions/format
156 description: audio format.
157
158 frame-inversion:
159 $ref: simple-card.yaml#/definitions/frame-inversion
160 description: dai-link uses frame clock inversion.
161
162 bitclock-inversion:
163 $ref: simple-card.yaml#/definitions/bitclock-inversion
164 description: dai-link uses bit clock inversion.
165
166 mclk-id:
167 $ref: /schemas/types.yaml#/definitions/uint32-array
168 description: Main clock id for each codec, specific for each card configuration.
169 minItems: 1
170 maxItems: 2
171
172 mux-int-port:
173 $ref: /schemas/types.yaml#/definitions/uint32
174 enum: [1, 2, 7]
175 description: The internal port of the i.MX audio muxer (AUDMUX)
176
177 mux-ext-port:
178 $ref: /schemas/types.yaml#/definitions/uint32
179 enum: [3, 4, 5, 6]
180 description: The external port of the i.MX audio muxer
181
182 ssi-controller:
183 $ref: /schemas/types.yaml#/definitions/phandle
184 description: The phandle of an CPU DAI controller
185
186 spdif-controller:
187 $ref: /schemas/types.yaml#/definitions/phandle
188 deprecated: true
189 description: The phandle of an S/PDIF CPU DAI controller.
190
191 spdif-out:
192 type: boolean
193 deprecated: true
194 description: |
195 If present, the transmitting function of S/PDIF will be enabled,
196 indicating there's a physical S/PDIF out connector or jack on the
197 board or it's connecting to some other IP block, such as an HDMI
198 encoder or display-controller.
199
200 spdif-in:
201 type: boolean
202 deprecated: true
203 description: |
204 If present, the receiving function of S/PDIF will be enabled,
205 indicating there is a physical S/PDIF in connector/jack on the board.
206
207required:
208 - compatible
209 - model
210
211unevaluatedProperties: false
212
213examples:
214 - |
215 sound-cs42888 {
216 compatible = "fsl,imx-audio-cs42888";
217 model = "cs42888-audio";
218 audio-cpu = <&esai>;
219 audio-asrc = <&asrc>;
220 audio-codec = <&cs42888>;
221 audio-routing =
222 "Line Out Jack", "AOUT1L",
223 "Line Out Jack", "AOUT1R",
224 "Line Out Jack", "AOUT2L",
225 "Line Out Jack", "AOUT2R",
226 "Line Out Jack", "AOUT3L",
227 "Line Out Jack", "AOUT3R",
228 "Line Out Jack", "AOUT4L",
229 "Line Out Jack", "AOUT4R",
230 "AIN1L", "Line In Jack",
231 "AIN1R", "Line In Jack",
232 "AIN2L", "Line In Jack",
233 "AIN2R", "Line In Jack";
234 };
235
236 - |
237 sound-spdif-asrc {
238 compatible = "fsl,imx-audio-spdif";
239 model = "spdif-asrc-audio";
240 audio-cpu = <&spdif>;
241 audio-asrc = <&easrc>;
242 audio-codec = <&spdifdit>, <&spdifdir>;
243 };