~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

TOMOYO Linux Cross Reference
Linux/Documentation/sound/soc/dai.rst

Version: ~ [ linux-6.12-rc7 ] ~ [ linux-6.11.7 ] ~ [ linux-6.10.14 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.60 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.116 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.171 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.229 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.285 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.323 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.336 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.337 ] ~ [ linux-4.4.302 ] ~ [ linux-3.10.108 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.12 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

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

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

kernel.org | git.kernel.org | LWN.net | Project Home | SVN repository | Mail admin

Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.

sflogo.php