User`s guide

Porting Audio Codecs to a Custom Board
i.MX53 System Development User’s Guide, Rev. 1
21-2 Freescale Semiconductor
21.2 Porting the Reference BSP to a Custom Board (audio codec is the
same as in the reference design)
When the audio codec is the same in the reference design and the custom board, users must ensure that the
I/O signals and the power supplies to the codec are properly initialized in order to port the reference BSP
to the custom board.
The iomux-mx53.h file contains the definitions for all i.MX53 pads. Add entries in this file to define the
configuration for the audio codec signals. See Chapter 13, “Configuring the IOMUX Controller
(IOMUXC),” for a description of how to set up the IOMUX and pads for routing signals as desired.
The necessary signals for the sgtl5000 codec, which is used on the i.MX53 reference board, are as follows:
•I
2
C interface signals
•I
2
S interface signals
SSI external clock input to i.MX53
Table 21-1 shows the required power supplies for the sgtl5000 codec.
21.3 Porting the Reference BSP to a Custom Board (audio codec is
different than the reference design)
When adding support for an audio codec that is different than the one on the Freescale reference design,
users must create new ALSA drivers in order to port the reference BSP to a custom board. The ALSA
drivers plug into the ALSA sound framework, which allows the standard ALSA interface to be used to
control the codec. Details about the ALSA infrastructure and developing ALSA drivers can be found at
http://www.alsa-project.org/main/index.php/ASoC.
The source code for the ALSA driver is located in the Linux kernel source tree at
linux/sound/soc.
Table 21-2 shows the files used for the sgtl codec support:
Table 21-1. Required Power Supplies
Power Supply Name Definition Value
VDDD Digital voltage 1.98 V
VDDIO Digital IO voltage 3.6 V
VDDA Analog voltage 3.6 V
Table 21-2. Files for sgtl Codec Support
File Name Definition
imx-pcm.c Shared by the stereo ALSA SoC driver, the 5.1 ALSA SoC driver, and the Bluetooth codec driver.
Responsible for preallocating DMA buffers and managing DMA channels.
imx-ssi.c Registers the CPU DAI driver for the stereo ALSA SoC
Configures the on-chip SSI interfaces