Lines Matching +full:dmic +full:- +full:codec

14 way as the analog signal is routed in an ASoC codec driver. DPCM uses a DAPM
18 DPCM re-uses all the existing component codec, platform and DAI drivers without
23 -------------------------------------
26 document for all examples :-
32 PCM0 <------------> * * <----DAI0-----> Codec Headset
34 PCM1 <------------> * * <----DAI1-----> Codec Speakers
36 PCM2 <------------> * * <----DAI2-----> MODEM
38 PCM3 <------------> * * <----DAI3-----> BT
40 * * <----DAI4-----> DMIC
42 * * <----DAI5-----> FM
53 Example - DPCM Switching playback from DAI0 to DAI1
54 ---------------------------------------------------
59 Playback on PCM0 to Headset would look like :-
63 PCM0 <============> * * <====DAI0=====> Codec Headset
65 PCM1 <------------> * * <----DAI1-----> Codec Speakers
67 PCM2 <------------> * * <----DAI2-----> MODEM
69 PCM3 <------------> * * <----DAI3-----> BT
71 * * <----DAI4-----> DMIC
73 * * <----DAI5-----> FM
76 The headset is removed from the jack by user so the speakers must now be used :-
80 PCM0 <============> * * <----DAI0-----> Codec Headset
82 PCM1 <------------> * * <====DAI1=====> Codec Speakers
84 PCM2 <------------> * * <----DAI2-----> MODEM
86 PCM3 <------------> * * <----DAI3-----> BT
88 * * <----DAI4-----> DMIC
90 * * <----DAI5-----> FM
93 The audio driver processes this as follows :-
117 except that we also have to :-
127 -------------------
133 PCM0 <------------> * * <----DAI0-----> Codec Headset
135 PCM1 <------------> * * <----DAI1-----> Codec Speakers
137 PCM2 <------------> * * <----DAI2-----> MODEM
139 PCM3 <------------> * * <----DAI3-----> BT
141 * * <----DAI4-----> DMIC
143 * * <----DAI5-----> FM
147 FE DAI links are defined as follows :-
155 .platform_name = "dsp-audio",
156 .codec_name = "snd-soc-dummy",
157 .codec_dai_name = "snd-soc-dummy-dai",
171 The FE DAI above sets the codec and code DAIs to dummy devices since the BE is
174 The BE DAIs are configured as follows :-
180 .name = "Codec Headset",
181 .cpu_dai_name = "ssp-dai.0",
182 .platform_name = "snd-soc-dummy",
184 .codec_name = "rt5640.0-001c",
185 .codec_dai_name = "rt5640-aif1",
194 This BE DAI link connects DAI0 to the codec (in this case RT5460 AIF1). It sets
199 like a BT phone call :-
203 PCM0 <------------> * * <----DAI0-----> Codec Headset
205 PCM1 <------------> * * <----DAI1-----> Codec Speakers
207 PCM2 <------------> * * <====DAI2=====> MODEM
209 PCM3 <------------> * * <====DAI3=====> BT
211 * * <----DAI4-----> DMIC
213 * * <----DAI5-----> FM
219 A BE DAI link can also set the codec to a dummy device if the codec is a device
227 --------------------
248 rate->min = rate->max = 48000;
249 channels->min = channels->max = 2;
260 ------------------------
263 by the ASoC DAPM core. However, if the BE codec or BE DAI is a dummy then this
264 has to be set explicitly in the driver :-
267 /* BE for codec Headset - DAI0 is dummy and managed by DSP FW */
268 {"DAI0 CODEC IN", NULL, "AIF1 Capture"},
269 {"AIF1 Playback", NULL, "DAI0 CODEC OUT"},
276 combined with elements from a codec class driver. A DSP platform driver must
277 implement :-
279 1. Front End PCM DAIs - i.e. struct snd_soc_dai_driver.
293 have :-
300 component drivers (e.g. codec graph).
311 PCM0 <------------> * * <----DAI0-----> Codec Headset
313 PCM1 <------------> * * <====DAI1=====> Codec Speakers/Mic
315 PCM2 <------------> * * <====DAI2=====> MODEM
317 PCM3 <------------> * * <----DAI3-----> BT
319 * * <----DAI4-----> DMIC
321 * * <----DAI5-----> FM
327 The host can control the hostless link either by :-
329 1. Configuring the link as a CODEC <-> CODEC style link. In this case the link
337 userspace code to control the link. Its recommended to use CODEC<->CODEC
341 CODEC <-> CODEC link
342 --------------------
362 .codec_dai_name = "modem-aif1",
378 -----------