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.zip
rockbox-c4f2a46e0dfee336ce7016cd62608097f15367b8.tar.gz
rockbox-c4f2a46e0dfee336ce7016cd62608097f15367b8.tar.bz2
rockbox-c4f2a46e0dfee336ce7016cd62608097f15367b8.tar.xz
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 7406a8d..94a1218 100644
--- a/firmware/drivers/audio/imx233-codec.c
+++ b/firmware/drivers/audio/imx233-codec.c
@@ -46,6 +46,7 @@ void audiohw_close(void)
imx233_audioin_close();
}
+/* volume in centibels */
void audiohw_set_volume(int vol_l, int vol_r)
{
imx233_audioout_set_hp_vol(vol_l / 5, vol_r / 5);
@@ -71,6 +72,7 @@ void audiohw_disable_recording(void)
imx233_audioin_close();
}
+/* volume in centibels */
void audiohw_set_recvol(int left, int right, int type)
{
left /= 5;
diff --git a/firmware/export/imx233-codec.h b/firmware/export/imx233-codec.h
index a6f2445..f5f58e2 100644
--- a/firmware/export/imx233-codec.h
+++ b/firmware/export/imx233-codec.h
@@ -27,20 +27,18 @@
#define AUDIOHW_CAPS (DEPTH_3D_CAP | BASS_CAP | TREBLE_CAP | \
LIN_GAIN_CAP | MIC_GAIN_CAP)
-/* Work with half dB since the i.MX233 doesn't have a better resolution */
-
/* minimum is -57.5dB and max is 6dB in DAC mode
* and -51.5dB / 12dB in Line1 mode */
-AUDIOHW_SETTING(VOLUME, "dB", 1, 5,-580, 120, -250)
+AUDIOHW_SETTING(VOLUME, "dB", 0, 1, -58, 12, -25)
/* HAVE_SW_TONE_CONTROLS */
#ifdef HAVE_RECORDING
/* Depending on the input, we have three available volumes to tweak:
* - adc volume: -100dB -> -0.5dB in 0.5dB steps
* - mux gain: 0dB -> 22.5dB in 1.5dB steps
* - mic gain: 0dB -> 40dB in 10dB steps (except for 10) */
-AUDIOHW_SETTING(LEFT_GAIN, "dB", 1, 5,-1000, 220, 0)
-AUDIOHW_SETTING(RIGHT_GAIN, "dB", 1, 5,-1000, 220, 0)
-AUDIOHW_SETTING(MIC_GAIN, "dB", 1, 5,-1000, 600, 200)
+AUDIOHW_SETTING(LEFT_GAIN, "dB", 0, 1, -100, 22, 0)
+AUDIOHW_SETTING(RIGHT_GAIN, "dB", 0, 1, -100, 22, 0)
+AUDIOHW_SETTING(MIC_GAIN, "dB", 0, 1, -100, 60, 20)
#endif /* HAVE_RECORDING */
/* i.MX233 has four settings: 0dB, 3dB, 4.5dB, 6dB so fake 1.5dB steps */
AUDIOHW_SETTING(DEPTH_3D, "dB", 1,15, 0, 60, 0)