On Tue, Jun 15, 2010 at 04:42:32PM +0300, Peter Ujfalusi wrote:
Hi,
On Tuesday 15 June 2010 08:11:10 ext Stuart Longland wrote:
Okay, I've had a close inspection of how the SOC_DOUBLE_R_SX_TLV widgets are implemented. I couldn't find where in the git trees the control had been added, I wound up applying this patch myself in my tree... it apparently got applied in the official trees, but I cannot find it.
I'm not really sure what the SOC_DOUBLE_R_SX_TLV is for... But would a simple SOC_DOUBLE_R_TLV enough for the aic3204 codec? I have not looked at the datasheet (if it is available), but I'll try to find it.
http://focus.ti.com/docs/prod/folders/print/tlv320aic3204.html has the datasheet.
As I mentioned; the bitfields are signed integers, 6 bits wide in the case of the example given, there are some that are 7 bits.
In the examples that I gave (driver gain settings), they have a range of -6dB to 29dB... which corresponds to bitfield values of 0x3a (for -6dB) and 0x1d (for 29dB).
I did try using the regular TLV macro, and found that the volume "wrapped" around in a very undesirable fashion. SOC_DOUBLE_R_SX_TLV was the suggestion made at the time[1]. The way it is now, it works okay ... if you leave the mute untouched.