Advanced Linux Sound Architecture (ALSA) System on a Chip (ASoC) Sound Driver
i.MX51 EVK Linux Reference Manual
17-4
Freescale Semiconductor
Table 17-1
shows the stereo codec SoC driver source files. These files are under the
<ltib_dir>/rpm/BUILD/linux/sound/soc
directory.
17.3
Menu Configuration Options
The following Linux kernel configuration options are provided for this module. To get to these options,
use the
./ltib -c
command when located in the
<ltib dir>
. Select
Configure the Kernel
on the screen
displayed and exit. When the next screen appears, select the following options to enable this module:
•
SoC Audio support for i.MX SGTL5000. In menuconfig, this option is available under
Device drivers
>
Sound card support
>
Advanced Linux Sound Architecture
>
ALSA for SoC
audio support
>
SoC Audio for the Freescale i.MX CPU
•
CONFIG_SND_MXC_SOC_IRAM: This config is used to allow audio DMA playback buffers in
IRAM. In menuconfig, this option is available under
Device drivers
>
Sound card support
>
Advanced Linux Sound Architecture
>
ALSA for SoC
audio support
>
Locate Audio DMA playback buffers in IRAM
17.4
Hardware Operation
The following sections describe the hardware operation of the ASoC driver.
17.4.1
Stereo Audio Codec
The stereo audio codec is controlled by the I
2
C interface. The audio data is transferred from the user data
buffer to/from the SSI FIFO through the DMA channel. The DMA channel is selected according to the
audio sample bits. AUDMUX is used to set up the path between the SSI port and the output port which
connects with the codec. The codec works in master mode and provides the BCLK and LRCLK. The
BCLK and LRCLK can be configured according to the audio sample rate.
The SGTL5000 ASoC codec driver exports the audio record/playback/mixer APIs according to the ASoC
architecture. The ALSA related audio function and the FM loopback function cannot be performed
simultaneously.
The codec driver is generic and hardware independent code that configures the codec to provide audio
capture and playback. It does not contains code that is specific to the target platform or machine. The codec
driver handles:
•
Codec DAI and PCM configuration
•
Codec control I/O—using I
2
C
•
Mixers and audio controls
•
Codec audio operations
•
DAC Digital mute control
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...