About Kernel Documentation Linux Kernel Contact Linux Resources Linux Blog

Documentation / sound / alsa / soc / DAI.txt


Based on kernel version 4.9. Page generated on 2016-12-21 14:37 EST.

1	ASoC currently supports the three main Digital Audio Interfaces (DAI) found on
2	SoC controllers and portable audio CODECs today, namely AC97, I2S and PCM.
3	
4	
5	AC97
6	====
7	
8	  AC97 is a five wire interface commonly found on many PC sound cards. It is
9	now also popular in many portable devices. This DAI has a reset line and time
10	multiplexes its data on its SDATA_OUT (playback) and SDATA_IN (capture) lines.
11	The bit clock (BCLK) is always driven by the CODEC (usually 12.288MHz) and the
12	frame (FRAME) (usually 48kHz) is always driven by the controller. Each AC97
13	frame is 21uS long and is divided into 13 time slots.
14	
15	The AC97 specification can be found at :-
16	http://www.intel.com/p/en_US/business/design
17	
18	
19	I2S
20	===
21	
22	 I2S is a common 4 wire DAI used in HiFi, STB and portable devices. The Tx and
23	Rx lines are used for audio transmission, whilst the bit clock (BCLK) and
24	left/right clock (LRC) synchronise the link. I2S is flexible in that either the
25	controller or CODEC can drive (master) the BCLK and LRC clock lines. Bit clock
26	usually varies depending on the sample rate and the master system clock
27	(SYSCLK). LRCLK is the same as the sample rate. A few devices support separate
28	ADC and DAC LRCLKs, this allows for simultaneous capture and playback at
29	different sample rates.
30	
31	I2S has several different operating modes:-
32	
33	 o I2S - MSB is transmitted on the falling edge of the first BCLK after LRC
34	         transition.
35	
36	 o Left Justified - MSB is transmitted on transition of LRC.
37	
38	 o Right Justified - MSB is transmitted sample size BCLKs before LRC
39	                     transition.
40	
41	PCM
42	===
43	
44	PCM is another 4 wire interface, very similar to I2S, which can support a more
45	flexible protocol. It has bit clock (BCLK) and sync (SYNC) lines that are used
46	to synchronise the link whilst the Tx and Rx lines are used to transmit and
47	receive the audio data. Bit clock usually varies depending on sample rate
48	whilst sync runs at the sample rate. PCM also supports Time Division
49	Multiplexing (TDM) in that several devices can use the bus simultaneously (this
50	is sometimes referred to as network mode).
51	
52	Common PCM operating modes:-
53	
54	 o Mode A - MSB is transmitted on falling edge of first BCLK after FRAME/SYNC.
55	
56	 o Mode B - MSB is transmitted on rising edge of FRAME/SYNC.
Hide Line Numbers


About Kernel Documentation Linux Kernel Contact Linux Resources Linux Blog