Currently we would like to replace the audio codec of AM335X EVM from TLVAIC3X to ALC5629.

So we have to do the migration.

Except the codec driver code have to be porting, there are two files need to be changed.

codec is an i2c device. This device is registered in board file ( example on AM335x platform, it is registered in arch/arm/mach-omap2/board-am335xevm.c)
Here Codec is on i2c-1 bus at address 0x1b. 
static struct i2c_board_info am335x_i2c_boardinfo1[] = {
    {
        I2C_BOARD_INFO("tlv320aic3x", 0x1b),
    },
...
...

 

This data is compared with the codec name generated by ALSA frameowrk with the Codec registered. On AM335x Platform it is in sound/soc/davinci/davinci-evm.c

 

static struct snd_soc_dai_link am335x_evm_dai = {
    .name = "TLV320AIC3X",
    .stream_name = "AIC3X",
    .cpu_dai_name = "davinci-mcasp.1",
    .codec_dai_name = "tlv320aic3x-hifi",
    .codec_name = "tlv320aic3x-codec.2-001b",
    .platform_name = "davinci-pcm-audio",
    .init = evm_aic3x_init,
    .ops = &evm_ops,
};

 

2 basically means i2c-1 bus

 

Below is the original link:

http://e2e.ti.com/support/embedded/linux/f/354/t/185237.aspx

Leave a Reply