summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAmaury Pouly <amaury.pouly@gmail.com>2013-07-23 14:12:08 +0200
committerAmaury Pouly <amaury.pouly@gmail.com>2013-07-23 14:12:08 +0200
commitc4f2a46e0dfee336ce7016cd62608097f15367b8 (patch)
treebfb915b2336f90d43bf8af0e5ee50cffcda9daf7
parent9faabb98d4c3bd627fd62003dd8a604575af0099 (diff)
downloadrockbox-c4f2a46e0dfee336ce7016cd62608097f15367b8.tar.gz
rockbox-c4f2a46e0dfee336ce7016cd62608097f15367b8.zip
imx233: revert volumes to 1dB resolution
Using a better resolution causes havoc in the user interface because it doesn't properly handle steps and people start to believe I am responsible for all this mess. Change-Id: I02b68dce5802692efde3da226eeeb49e4995f97a
-rw-r--r--firmware/drivers/audio/imx233-codec.c2
-rw-r--r--firmware/export/imx233-codec.h10
2 files changed, 6 insertions, 6 deletions
diff --git a/firmware/drivers/audio/imx233-codec.c b/firmware/drivers/audio/imx233-codec.c
index 7406a8d076..94a1218d5e 100644
--- a/firmware/drivers/audio/imx233-codec.c
+++ b/firmware/drivers/audio/imx233-codec.c
@@ -46,6 +46,7 @@ void audiohw_close(void)
46 imx233_audioin_close(); 46 imx233_audioin_close();
47} 47}
48 48
49/* volume in centibels */
49void audiohw_set_volume(int vol_l, int vol_r) 50void audiohw_set_volume(int vol_l, int vol_r)
50{ 51{
51 imx233_audioout_set_hp_vol(vol_l / 5, vol_r / 5); 52 imx233_audioout_set_hp_vol(vol_l / 5, vol_r / 5);
@@ -71,6 +72,7 @@ void audiohw_disable_recording(void)
71 imx233_audioin_close(); 72 imx233_audioin_close();
72} 73}
73 74
75/* volume in centibels */
74void audiohw_set_recvol(int left, int right, int type) 76void audiohw_set_recvol(int left, int right, int type)
75{ 77{
76 left /= 5; 78 left /= 5;
diff --git a/firmware/export/imx233-codec.h b/firmware/export/imx233-codec.h
index a6f244517e..f5f58e246b 100644
--- a/firmware/export/imx233-codec.h
+++ b/firmware/export/imx233-codec.h
@@ -27,20 +27,18 @@
27#define AUDIOHW_CAPS (DEPTH_3D_CAP | BASS_CAP | TREBLE_CAP | \ 27#define AUDIOHW_CAPS (DEPTH_3D_CAP | BASS_CAP | TREBLE_CAP | \
28 LIN_GAIN_CAP | MIC_GAIN_CAP) 28 LIN_GAIN_CAP | MIC_GAIN_CAP)
29 29
30/* Work with half dB since the i.MX233 doesn't have a better resolution */
31
32/* minimum is -57.5dB and max is 6dB in DAC mode 30/* minimum is -57.5dB and max is 6dB in DAC mode
33 * and -51.5dB / 12dB in Line1 mode */ 31 * and -51.5dB / 12dB in Line1 mode */
34AUDIOHW_SETTING(VOLUME, "dB", 1, 5,-580, 120, -250) 32AUDIOHW_SETTING(VOLUME, "dB", 0, 1, -58, 12, -25)
35/* HAVE_SW_TONE_CONTROLS */ 33/* HAVE_SW_TONE_CONTROLS */
36#ifdef HAVE_RECORDING 34#ifdef HAVE_RECORDING
37/* Depending on the input, we have three available volumes to tweak: 35/* Depending on the input, we have three available volumes to tweak:
38 * - adc volume: -100dB -> -0.5dB in 0.5dB steps 36 * - adc volume: -100dB -> -0.5dB in 0.5dB steps
39 * - mux gain: 0dB -> 22.5dB in 1.5dB steps 37 * - mux gain: 0dB -> 22.5dB in 1.5dB steps
40 * - mic gain: 0dB -> 40dB in 10dB steps (except for 10) */ 38 * - mic gain: 0dB -> 40dB in 10dB steps (except for 10) */
41AUDIOHW_SETTING(LEFT_GAIN, "dB", 1, 5,-1000, 220, 0) 39AUDIOHW_SETTING(LEFT_GAIN, "dB", 0, 1, -100, 22, 0)
42AUDIOHW_SETTING(RIGHT_GAIN, "dB", 1, 5,-1000, 220, 0) 40AUDIOHW_SETTING(RIGHT_GAIN, "dB", 0, 1, -100, 22, 0)
43AUDIOHW_SETTING(MIC_GAIN, "dB", 1, 5,-1000, 600, 200) 41AUDIOHW_SETTING(MIC_GAIN, "dB", 0, 1, -100, 60, 20)
44#endif /* HAVE_RECORDING */ 42#endif /* HAVE_RECORDING */
45/* i.MX233 has four settings: 0dB, 3dB, 4.5dB, 6dB so fake 1.5dB steps */ 43/* i.MX233 has four settings: 0dB, 3dB, 4.5dB, 6dB so fake 1.5dB steps */
46AUDIOHW_SETTING(DEPTH_3D, "dB", 1,15, 0, 60, 0) 44AUDIOHW_SETTING(DEPTH_3D, "dB", 1,15, 0, 60, 0)