i.MX51 EVK Linux Reference Manual
Freescale Semiconductor
17-1
Chapter 17
Advanced Linux Sound Architecture (ALSA)
System on a Chip (ASoC) Sound Driver
This section describes the ASoC driver architecture and implementation. The ASoC architecture is
imported to provide a better solution for ALSA kernel drivers. ASoC aims to divide the ALSA kernel
driver into machine, platform (CPU), and audio codec components. Any modifications to one component
do not impact another components. The machine layer registers the platform and the audio codec device,
and sets up the connection between the platform and the audio codec according to the link interface, which
is supported both by the platform and the audio codec. More detailed information about ASoC can be
found at
http://www.alsa-project.org/main/index.php/ASoC
.
Figure 17-1. ALSA SoC Software Architecture
The ALSA SoC driver has the following components as shown in
•
Machine driver—handles any machine specific controls and audio events, such as turning on an
external amp at the beginning of playback.
•
Platform driver—contains the audio DMA engine and audio interface drivers (for example, I
2
S,
AC97, PCM) for that platform.
•
Codec driver—platform independent and contains audio controls, audio interface capabilities, the
codec DAPM definition, and codec I/O functions.
17.1
SoC Sound Card
Currently, the stereo codec (
sgtl5000
), 5.1 codec (
wm8580
), 4-channel ADC codec (ak5702), 7.1
codec(cs42888), built-in ADC/DAC codec, and Bluetooth codec drivers are implemented using SoC
architecture. The audio codec on MX51 EVK board is (
sgtl5000
).The five sound card drivers are built in
independently. The stereo sound card supports stereo playback and mono capture. The 5.1 sound card
supports up to six channels of audio playback. The 4-channel sound card supports up to four channels of
Machine (board)
Platform
(cpu)
Codec
DAI link
S
o
c-
co
re
.c
Cpu
DA
I
Codec
DAI
I
Summary of Contents for i.MX51 EVK
Page 1: ...Part Number 924 76374 Rev 10 11 01 11 2010 i MX51 EVK Linux Reference Manual...
Page 14: ...i MX51 EVK Linux Reference Manual xiv Freescale Semiconductor...
Page 18: ...i MX51 EVK Linux Reference Manual xviii Freescale Semiconductor...
Page 24: ...i MX51 EVK Linux Reference Manual xxiv Freescale Semiconductor...
Page 38: ...Machine Specific Layer MSL i MX51 EVK Linux Reference Manual 2 8 Freescale Semiconductor...
Page 52: ...MC13892 Digitizer Driver i MX51 EVK Linux Reference Manual 5 4 Freescale Semiconductor...
Page 64: ...TV Encoder TVE Driver i MX51 EVK Linux Reference Manual 10 4 Freescale Semiconductor...
Page 82: ...Video for Linux Two V4L2 Driver i MX51 EVK Linux Reference Manual 12 8 Freescale Semiconductor...
Page 86: ...i MX5 Dual Display i MX51 EVK Linux Reference Manual 13 4 Freescale Semiconductor...
Page 100: ...X Windows Acceleration i MX51 EVK Linux Reference Manual 16 6 Freescale Semiconductor...
Page 118: ...Low Level Keypad Driver i MX51 EVK Linux Reference Manual 20 6 Freescale Semiconductor...
Page 134: ...Security Drivers i MX51 EVK Linux Reference Manual 22 10 Freescale Semiconductor...
Page 148: ...Inter IC I2C Driver i MX51 EVK Linux Reference Manual 24 4 Freescale Semiconductor...
Page 178: ...ARC USB Driver i MX51 EVK Linux Reference Manual 29 10 Freescale Semiconductor...
Page 194: ...OProfile i MX51 EVK Linux Reference Manual 33 6 Freescale Semiconductor...