Takashi Sakamoto 98695eab3c ASoC: wm8991: fix wrong usage of DECLARE_TLV_DB_LINEAR()
As long as reading datasheet of WM8991, this driver includes wrong usage
of DECLARE_TLV_DB_LINEAR().

In "Table 6 Input PGA Volume Range", volume is represented in 5 bits by
1.5 dB/step between -16.5/30.0 dB. Thus, 'in_pga_tlv' should be dB step
representation.

In "Table 34 LOMIX and ROMIX Volume Range", volume is represented in three
bits by -3 dB/step from 0 to -21 dB. Thus, 'out_mix_tlv' should be dB step
represenation.

In "Table 36 LOPGA, ROPGA, LOUT, ROUT and SPKVOL Volume Range", volume is
represented in 7 bits by 1 dB/step from -73 to 6 dB, including mute. Thus,
'out_pga_tlv' should be dB step representation.

In "Table 26 Digital Volume Range", volume is represented in 8 bits by
3/8 dB/step from -71.625 to 0 dB. Thus, 'out_dac_tlv' should be dB step
representation.

In "Table 16 ADC Digital Volume Range", volume is represented in 8 bits by
3/8 dB/step from -71.625 to 17.625 dB. Thus, 'in_adc_tlv' should be dB step
representation.

In "Table 23 Digital Sidetone Volume", volume is represented in 5 bits by
3 dB/step from -36 to 0 dB. Thus, 'out_sidetone_tlv' should be dB step
representation.

In "Table 12 Left Input Mixer Volume Control", volume is represented in
3 bits by 3 dB/step from -12 to 6 dB

Totally, current implementation includes misuse of TLV-related macro.

This commit replaces usage of DECLARE_TLV_DB_LINEAR() with proper macros,
to give proper information to applications in user land.

Signed-off-by: Takashi Sakamoto <o-takashi@sakamocchi.jp>
Acked-by: Charles Keepax <ckeepax@opensource.wolfsonmicro.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
2016-09-27 09:21:00 -07:00
..
2015-05-12 18:58:17 +01:00
2015-11-06 11:04:07 -08:00
2015-10-05 17:42:49 +01:00
2014-02-19 13:36:15 +09:00
2014-04-07 10:48:50 +01:00
2015-07-07 13:35:13 +01:00
2014-08-16 17:17:13 -05:00
2016-05-10 18:56:01 +01:00
2015-08-28 17:17:29 +01:00
2016-05-30 16:15:55 +01:00
2016-04-28 18:16:04 +01:00
2015-03-11 19:16:07 +00:00
2016-01-27 20:23:20 +00:00
2015-11-16 13:17:01 +00:00
2015-12-19 12:02:18 +00:00
2015-12-23 12:21:14 +00:00
2016-01-13 12:40:56 +00:00
2014-07-02 20:49:25 +01:00
2016-06-21 19:43:45 +01:00
2016-05-28 12:23:12 -07:00
2013-05-25 10:33:30 -04:00
2015-10-26 11:15:54 +09:00
2016-06-26 12:28:13 +01:00
2015-07-13 11:51:35 +01:00
2016-06-17 12:14:32 +01:00
2016-06-26 02:18:02 +01:00
2015-07-29 15:05:08 +01:00
2015-04-08 19:25:40 +01:00
2016-05-28 12:23:12 -07:00
2016-05-30 16:25:36 +01:00
2013-08-13 11:31:56 +01:00
2016-02-24 12:43:06 +09:00