ASOC (ALSA system on Chip)//The Sound management architecture specifically developed for embedded systems [Luther.gliethttp].
Digital Audio Interface (DAI) types
/* SoC Machine * *
struct Snd_soc_machine {//Snd_soc_machine set CPU internal audio control logic and CPU external audio decoder chip communication logic in one [Luther.gliethttp].
...//audio machine driver represents the audio device structure, my ep9312 as a ARM-SOC chip,
Is the machine here, a machine of course to include its own internal audio control interface Unit--cpu_dai and
External Audio Device Communication Protocol conversion Interface Unit--codec_dai These two parts, so that ep9312 can use their
An internal audio control channel through a Data interchange bus protocol (e.g., Pcm,iis or AC97)
The Control Interface unit--codec_dai, sends or receives the audio data to the external concrete chip [luther.gliethttp].
/* CPU <--> Codec DAI links */
struct Snd_soc_dai_link *dai_link; Core unit, a binder, bonding CPU Internal audio controller interface and ARM Development Board CPU external audio decoder chip communication interface
int num_links;
};
/* SoC machine dai configuration, glues a codec and CPU dai together * *
struct Snd_soc_dai_link {//Of course refers to the SOC chip's Dai interface link, it mainly contains the following 2 content. Cpu_dai and. Codec_dai
......
* * DAI * *
Dai Digital audio Control interface for struct Snd_soc_codec_dai *codec_dai;//CPU external decoding chip [luther.gliethttp]
struct Snd_soc_cpu_dai *cpu_dai; Dai Digital audio Control interface supported by CPU, such as Ssp,iis
...//Cpu_dai and Codec_dai will be forcibly bound together to achieve one-to-one, point-to-point data and control information interact with each other.
};
Reprint: http://zougaoming.blog.163.com/blog/static/238089512011912101433347/