Aggarwal, Anuj wrote:
>> -----Original Message-----
>> From: Aggarwal, Anuj
>> Sent: Friday, November 06, 2009 6:28 PM
>> To: [email protected]; '[email protected]'
>> Subject: Artifacts present in AIC23 capture for 48 KHz sampling rate
>>
>> Hi,
>>
>> I am observing artifacts (sharp spikes at fixed intervals) while
>> capturing audio on AM3517 EVM and AIC23 codec. They are present only
>> in one of the channels when I am capturing at 48 KHz. All other
>> sampling rates are working fine with the above said combination.
>>
>> I have also attached the screenshot taken with the help of Audacity
>> utility. Here, I tried recording silence but artifacts were observed
>> on one channel.
>>
>> Has anyone also observed the similar behavior with AIC23 codec? Any
>> hints on what could be the root cause?
> [Aggarwal, Anuj] On further debugging, I found that the function
> find_rate() in sound/soc/codecs/tlv320aic23.c is not returning
> the correct value for capture in 48KHz sample rate. In USB mode
> (MCLK=12MHz), for 48KHz, it returns 0x7D (CLKOUT=0, CLKIN=1,
> SR[3:0]=0xF, BOSR=1, Normal=1) whereas as per the AIC23B spec,
0x7D would be BOSR = 0, USB/NORMAL = 1, SR=0xff, div2 = 1
The bug is with sr_valid_mask,
static const unsigned short sr_valid_mask[] = {
LOWER_GROUP|UPPER_GROUP, /* Normal, bosr - 0*/
LOWER_GROUP|UPPER_GROUP, /* Normal, bosr - 1*/
LOWER_GROUP, /* Usb, bosr - 0*/
UPPER_GROUP, /* Usb, bosr - 1*/
};
should be
static const unsigned short sr_valid_mask[] = {
LOWER_GROUP|UPPER_GROUP, /* Normal, bosr - 0*/
LOWER_GROUP, /* Usb, bosr - 0*/
LOWER_GROUP|UPPER_GROUP, /* Normal, bosr - 1*/
UPPER_GROUP, /* Usb, bosr - 1*/
};
Can you give this a try and let me know?
Thanks
Troy
--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html