[PATCH 25/133] [Jaunty SRU] ARM.imx51 Freescale:ENGR00107688 ASOC: Resolve 24/32-bit mono wav playing problem on sgtl5000

Eric Miao eric.miao at canonical.com
Tue Jul 14 06:42:12 BST 2009


Bryan Wu wrote:
> Brad Figg wrote:
>> From: Lily Zhang <r58066 at freescale.com>
>>
>> Wav sound plays twice faster than normal when it's format is 24 or 32
>> bit mono. In ssi normal operating mode, DC=0 provides continuous
>> periodic data word transfer and a bit-length frame sync must be used
>> in this case. Sgtl5000 codec master provides word length frame sync,
>> so DC should be set as frame/WL-1.
>>
>> Signed-off-by: Lionel Xu <r63889 at freescale.com>
>> Signed-off-by: Brad Figg <brad.figg at canonical.com>
>> ---
>>  sound/soc/imx/imx-3stack-sgtl5000.c |    2 +-
>>  1 files changed, 1 insertions(+), 1 deletions(-)
>>
>> diff --git a/sound/soc/imx/imx-3stack-sgtl5000.c b/sound/soc/imx/imx-3stack-sgtl5000.c
>> index 58fae69..74f5e11 100644
>> --- a/sound/soc/imx/imx-3stack-sgtl5000.c
>> +++ b/sound/soc/imx/imx-3stack-sgtl5000.c
>> @@ -110,7 +110,7 @@ static int imx_3stack_audio_hw_params(struct snd_pcm_substream *substream,
>>  	/* set i.MX active slot mask */
>>  	snd_soc_dai_set_tdm_slot(cpu_dai,
>>  				 channels == 1 ? 0xfffffffe : 0xfffffffc,
>> -				 channels);
>> +				 2);
> 
> The number of slot is changed to 2 here, but I failed to see any reason which
> was described in the git log.
> 
> Eric, are you familiar with this ASoC change?
> 

I guess this change makes some sense - if it's kind of like I2S mode emulated
by TDM, and requires a fixed slot number of 2 instead of 'channels', since
'channels' could be either 1 or 2. Will have to confirm with FSL on this.

> Thanks
> -Bryan
> 




More information about the kernel-team mailing list