ALSA issue on DA850/OMAP-L138/AM18x

Kevin Hilman khilman at ti.com
Tue Jan 18 13:04:08 EST 2011


"Rajashekhara, Sudhakar" <sudhakar.raj at ti.com> writes:

> Resending with proper $SUBJECT...
> Hi,
>
> I was testing Audio with 2.6.37 on DA850 from Kevin Hilman Linux tree
> at [1] and found that audio is broken. Below patch fixes the issue.
> ---
> From: Rajashekhara, Sudhakar <sudhakar.raj at ti.com>
>
> davinci: fixes for audio on da850/omap-l138/am18x
>
> On DA850/OMAP-L138/AM18x, AIC3x codec is at 0x18 slave address.
> But in sound/soc/davinci/davinci-evm.c file, "struct snd_soc_dai_link"
> has the wrong AIC3x codec slave address. This patch fixes this issue.

As suggested by Sergei...

This part should be one patch, and merged by Liam via ASoC tree for
2.6.38-rc cycle.

> Also, this patch registers the platform device for davinci-pcm-audio.

This should be a separate patch as well, and I will merge it via davinci
tree for the .38-rc cycle.

> Signed-off-by: Rajashekhara, Sudhakar <sudhakar.raj at ti.com>
> ---
>  arch/arm/mach-davinci/devices-da8xx.c |   12 ++++++++++++
>  sound/soc/davinci/davinci-evm.c       |    2 +-
>  2 files changed, 13 insertions(+), 1 deletions(-)
>
> diff --git a/arch/arm/mach-davinci/devices-da8xx.c b/arch/arm/mach-davinci/devices-da8xx.c
> index 9eec630..17c0dbc 100644
> --- a/arch/arm/mach-davinci/devices-da8xx.c
> +++ b/arch/arm/mach-davinci/devices-da8xx.c
> @@ -473,6 +473,11 @@ static struct resource da850_mcasp_resources[] = {
>  	},
>  };
>  
> +struct platform_device davinci_pcm_device = {
> +	.name	= "davinci-pcm-audio",
> +	.id	= -1,
> +};
> +
>  static struct platform_device da850_mcasp_device = {
>  	.name		= "davinci-mcasp",
>  	.id		= 0,
> @@ -480,8 +485,15 @@ static struct platform_device da850_mcasp_device = {
>  	.resource	= da850_mcasp_resources,
>  };
>  
> +static void davinci_init_pcm(void)
> +{
> +	platform_device_register(&davinci_pcm_device);
> +}
> +
>  void __init da8xx_register_mcasp(int id, struct snd_platform_data *pdata)
>  {
> +	davinci_init_pcm();
> +
>  	/* DA830/OMAP-L137 has 3 instances of McASP */
>  	if (cpu_is_davinci_da830() && id == 1) {
>  		da830_mcasp1_device.dev.platform_data = pdata;
> diff --git a/sound/soc/davinci/davinci-evm.c b/sound/soc/davinci/davinci-evm.c
> index bc9e6b0..07db881 100644
> --- a/sound/soc/davinci/davinci-evm.c
> +++ b/sound/soc/davinci/davinci-evm.c
> @@ -224,7 +224,7 @@ static struct snd_soc_dai_link da8xx_evm_dai = {
>  	.stream_name = "AIC3X",
>  	.cpu_dai_name= "davinci-mcasp.0",
>  	.codec_dai_name = "tlv320aic3x-hifi",
> -	.codec_name = "tlv320aic3x-codec.0-001a",
> +	.codec_name = "tlv320aic3x-codec.1-0018",
>  	.platform_name = "davinci-pcm-audio",
>  	.init = evm_aic3x_init,
>  	.ops = &evm_ops,
> ---
>
> Also, I found that either CONFIG_REGULATOR should not be defined or if
> CONFIG_REGULATOR is defined then CONFIG_REGULATOR_DUMMY should also be
> defined. Without this menuconfig fix, Soundcard does not get detected.

When you send final version, care to include a patch for da8xx_omapl_defconfig?

Kevin

> With the above fixes, arecord and aplay does not work for the first time.
> Couple of times I get the below error:
>
> root at da850-omapl138-evm:~# arecord -f dat | aplay -f dat
> arecord: main:608: audio open error: Invalid argument
> aplay: playback:2297: read error
> root at da850-omapl138-evm:~# arecord -f dat | aplay -f dat
> aplay: main:608: audio open error: Invalid argument
> Recording WAVE 'stdin' : Signed 16 bit Little Endian, Rate 48000 Hz, Stereo
>
> Third time arecord and aplay work normally.
>
> Has anyone seen such issues on DA850 or any other platform?
>
> I am currently debugging this issue. I'll submit the above patch to community
> once the issue of fixed.
>
> [1] http://git.kernel.org/?p=linux/kernel/git/khilman/linux-davinci.git;a=summary 
>
> Regards,
> Sudhakar
> _______________________________________________
> Davinci-linux-open-source mailing list
> Davinci-linux-open-source at linux.davincidsp.com
> http://linux.davincidsp.com/mailman/listinfo/davinci-linux-open-source
> _______________________________________________
> Davinci-linux-open-source mailing list
> Davinci-linux-open-source at linux.davincidsp.com
> http://linux.davincidsp.com/mailman/listinfo/davinci-linux-open-source



More information about the linux-arm-kernel mailing list