summaryrefslogtreecommitdiffstats
path: root/firmware/drivers/audio/uda1341.c
diff options
context:
space:
mode:
Diffstat (limited to 'firmware/drivers/audio/uda1341.c')
-rw-r--r--firmware/drivers/audio/uda1341.c26
1 files changed, 6 insertions, 20 deletions
diff --git a/firmware/drivers/audio/uda1341.c b/firmware/drivers/audio/uda1341.c
index 6b38353afe..ac3bcedb7d 100644
--- a/firmware/drivers/audio/uda1341.c
+++ b/firmware/drivers/audio/uda1341.c
@@ -28,23 +28,8 @@
#include "audiohw.h"
-
-const struct sound_settings_info audiohw_settings[] = {
- [SOUND_VOLUME] = {"dB", 0, 1, -84, 0, -25},
- [SOUND_BASS] = {"dB", 0, 2, 0, 24, 0},
- [SOUND_TREBLE] = {"dB", 0, 2, 0, 6, 0},
- [SOUND_BALANCE] = {"%", 0, 1,-100, 100, 0}, /* not used */
- [SOUND_CHANNELS] = {"", 0, 1, 0, 5, 0}, /* not used */
- [SOUND_STEREO_WIDTH] = {"%", 0, 5, 0, 250, 100}, /* not used */
-#ifdef HAVE_RECORDING
- [SOUND_LEFT_GAIN] = {"dB", 1, 1,-128, 96, 0},
- [SOUND_RIGHT_GAIN] = {"dB", 1, 1,-128, 96, 0},
- [SOUND_MIC_GAIN] = {"dB", 1, 1,-128, 108, 16},
-#endif
-};
-
-/* convert tenth of dB volume (-600..0) to master volume register value */
-int tenthdb2master(int db)
+/* convert tenth of dB volume (-600..0) to volume register value */
+static int vol_tenthdb2hw(int db)
{
if (db < -600)
return 63;
@@ -229,11 +214,12 @@ void audiohw_set_prescaler(int val)
#endif /* AUDIOHW_HAVE_PRESCALER */
/**
- * Sets left and right master volume (1(max) to 62(muted))
+ * Set master volume (1(max) to 62(muted))
*/
-void audiohw_set_master_vol(int vol_l, int vol_r)
+void audiohw_set_volume(int volume)
{
- uda_regs[UDA_REG_ID_CTRL0] = (vol_l + vol_r) / 2;
+ volume = vol_tenthdb2hw(volume) / 2;
+ uda_regs[UDA_REG_ID_CTRL0] = volume;
udacodec_write (UDA_REG_DATA0, UDA_DATA_CTRL0 | uda_regs[UDA_REG_ID_CTRL0]);
}