summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--firmware/drivers/audio/aic3x.c10
-rw-r--r--firmware/drivers/audio/ak4537.c15
-rw-r--r--firmware/drivers/audio/imx233-codec.c2
-rw-r--r--firmware/drivers/audio/mas35xx.c2
-rw-r--r--firmware/drivers/audio/wm8731.c23
-rw-r--r--firmware/export/audiohw.h1
-rw-r--r--firmware/export/mas35xx.h3
-rw-r--r--firmware/export/wm8751.h2
-rw-r--r--firmware/sound.c14
9 files changed, 10 insertions, 62 deletions
diff --git a/firmware/drivers/audio/aic3x.c b/firmware/drivers/audio/aic3x.c
index 08c4db3f53..60330f1779 100644
--- a/firmware/drivers/audio/aic3x.c
+++ b/firmware/drivers/audio/aic3x.c
@@ -33,16 +33,6 @@
33 33
34static char volume_left = 0, volume_right = 0; 34static char volume_left = 0, volume_right = 0;
35 35
36const struct sound_settings_info audiohw_settings[] = {
37 [SOUND_VOLUME] = {"dB", 0, 1, VOLUME_MIN/10, VOLUME_MAX/10, -25},
38 /* HAVE_SW_TONE_CONTROLS */
39 [SOUND_BASS] = {"dB", 0, 1, -24, 24, 0},
40 [SOUND_TREBLE] = {"dB", 0, 1, -24, 24, 0},
41 [SOUND_BALANCE] = {"%", 0, 1,-100, 100, 0},
42 [SOUND_CHANNELS] = {"", 0, 1, 0, 5, 0},
43 [SOUND_STEREO_WIDTH] = {"%", 0, 5, 0, 250, 100},
44};
45
46/* convert tenth of dB volume to master volume register value */ 36/* convert tenth of dB volume to master volume register value */
47static int vol_tenthdb2hw(int db) 37static int vol_tenthdb2hw(int db)
48{ 38{
diff --git a/firmware/drivers/audio/ak4537.c b/firmware/drivers/audio/ak4537.c
index 6f4e85a7fa..1628af8a5c 100644
--- a/firmware/drivers/audio/ak4537.c
+++ b/firmware/drivers/audio/ak4537.c
@@ -31,21 +31,6 @@
31#include "audiohw.h" 31#include "audiohw.h"
32#include "sound.h" 32#include "sound.h"
33 33
34const struct sound_settings_info audiohw_settings[] = {
35 [SOUND_VOLUME] = {"dB", 0, 1,-127, 0, -25},
36 /* HAVE_SW_TONE_CONTROLS */
37 [SOUND_BASS] = {"dB", 0, 1, -24, 24, 0},
38 [SOUND_TREBLE] = {"dB", 0, 1, -24, 24, 0},
39 [SOUND_BALANCE] = {"%", 0, 1,-100, 100, 0},
40 [SOUND_CHANNELS] = {"", 0, 1, 0, 5, 0},
41 [SOUND_STEREO_WIDTH] = {"%", 0, 5, 0, 250, 100},
42#if defined(HAVE_RECORDING)
43 [SOUND_LEFT_GAIN] = {"dB", 1, 1, 0, 31, 23},
44 [SOUND_RIGHT_GAIN] = {"dB", 1, 1, 0, 31, 23},
45 [SOUND_MIC_GAIN] = {"dB", 1, 1, 0, 1, 0},
46#endif
47};
48
49static unsigned char akc_regs[AKC_NUM_REGS]; 34static unsigned char akc_regs[AKC_NUM_REGS];
50 35
51static void akc_write(int reg, unsigned val) 36static void akc_write(int reg, unsigned val)
diff --git a/firmware/drivers/audio/imx233-codec.c b/firmware/drivers/audio/imx233-codec.c
index ef4e3ca1d5..f808a73fae 100644
--- a/firmware/drivers/audio/imx233-codec.c
+++ b/firmware/drivers/audio/imx233-codec.c
@@ -43,7 +43,7 @@ void audiohw_close(void)
43 imx233_audioin_close(); 43 imx233_audioin_close();
44} 44}
45 45
46void audiohw_set_headphone_vol(int vol_l, int vol_r) 46void audiohw_set_volume(int vol_l, int vol_r)
47{ 47{
48 imx233_audioout_set_hp_vol(vol_l / 5, vol_r / 5); 48 imx233_audioout_set_hp_vol(vol_l / 5, vol_r / 5);
49} 49}
diff --git a/firmware/drivers/audio/mas35xx.c b/firmware/drivers/audio/mas35xx.c
index deb9223187..65c582c79c 100644
--- a/firmware/drivers/audio/mas35xx.c
+++ b/firmware/drivers/audio/mas35xx.c
@@ -24,7 +24,7 @@
24 24
25#include "config.h" 25#include "config.h"
26#include "system.h" /* MAX MIN macros */ 26#include "system.h" /* MAX MIN macros */
27#include "audiohw.h" 27#include "sound.h"
28 28
29int channel_configuration = SOUND_CHAN_STEREO; 29int channel_configuration = SOUND_CHAN_STEREO;
30int stereo_width = 100; 30int stereo_width = 100;
diff --git a/firmware/drivers/audio/wm8731.c b/firmware/drivers/audio/wm8731.c
index 3689a28f31..f84edc55da 100644
--- a/firmware/drivers/audio/wm8731.c
+++ b/firmware/drivers/audio/wm8731.c
@@ -93,29 +93,6 @@ static void wmc_write_masked(int reg, unsigned bits, unsigned mask)
93 wmc_write(reg, (wmc_regs[reg] & ~mask) | (bits & mask)); 93 wmc_write(reg, (wmc_regs[reg] & ~mask) | (bits & mask));
94} 94}
95 95
96int sound_val2phys(int setting, int value)
97{
98 int result;
99
100 switch(setting)
101 {
102#ifdef HAVE_RECORDING
103 case SOUND_LEFT_GAIN:
104 case SOUND_RIGHT_GAIN:
105 result = (value - 23) * 15;
106 break;
107 case SOUND_MIC_GAIN:
108 result = value * 200;
109 break;
110#endif
111 default:
112 result = value;
113 break;
114 }
115
116 return result;
117}
118
119/* convert tenth of dB volume (-730..60) to master volume register value */ 96/* convert tenth of dB volume (-730..60) to master volume register value */
120static int vol_tenthdb2hw(int db) 97static int vol_tenthdb2hw(int db)
121{ 98{
diff --git a/firmware/export/audiohw.h b/firmware/export/audiohw.h
index 4bd4ecb019..3fce3fc6d4 100644
--- a/firmware/export/audiohw.h
+++ b/firmware/export/audiohw.h
@@ -24,6 +24,7 @@
24 24
25#include "config.h" 25#include "config.h"
26#include <stdbool.h> 26#include <stdbool.h>
27#include <inttypes.h>
27 28
28/* define some audiohw caps */ 29/* define some audiohw caps */
29#define TREBLE_CAP (1 << 0) 30#define TREBLE_CAP (1 << 0)
diff --git a/firmware/export/mas35xx.h b/firmware/export/mas35xx.h
index 3f7912f856..e374a1b903 100644
--- a/firmware/export/mas35xx.h
+++ b/firmware/export/mas35xx.h
@@ -291,9 +291,6 @@ extern void audiohw_set_mdb_center(int value);
291extern void audiohw_set_mdb_shape(int value); 291extern void audiohw_set_mdb_shape(int value);
292extern void audiohw_set_mdb_enable(int value); 292extern void audiohw_set_mdb_enable(int value);
293extern void audiohw_set_superbass(int value); 293extern void audiohw_set_superbass(int value);
294extern void audiohw_set_balance(int val);
295extern void audiohw_set_pitch(int32_t val);
296extern int audiohw_get_pitch(void);
297 294
298#endif /* CONFIG_CODEC */ 295#endif /* CONFIG_CODEC */
299 296
diff --git a/firmware/export/wm8751.h b/firmware/export/wm8751.h
index c19bd153eb..aa18972c23 100644
--- a/firmware/export/wm8751.h
+++ b/firmware/export/wm8751.h
@@ -25,8 +25,6 @@
25#define VOLUME_MIN -730 25#define VOLUME_MIN -730
26#define VOLUME_MAX 60 26#define VOLUME_MAX 60
27 27
28#define AUDIOHW_SETTING(name, us, nd, st, minv, maxv, defv, expr...)
29
30#if defined(HAVE_WM8750) 28#if defined(HAVE_WM8750)
31#define AUDIOHW_CAPS (BASS_CAP | TREBLE_CAP | PRESCALER_CAP | \ 29#define AUDIOHW_CAPS (BASS_CAP | TREBLE_CAP | PRESCALER_CAP | \
32 BASS_CUTOFF_CAP | TREBLE_CUTOFF_CAP | \ 30 BASS_CUTOFF_CAP | TREBLE_CUTOFF_CAP | \
diff --git a/firmware/sound.c b/firmware/sound.c
index 4c390f4a5b..e6cfe57cf5 100644
--- a/firmware/sound.c
+++ b/firmware/sound.c
@@ -103,13 +103,6 @@ void sound_set(int setting, int value)
103 sound_set_val(value); 103 sound_set_val(value);
104} 104}
105 105
106/* Return the sound value scaled to centibels (tenth-decibels) */
107static int sound_value_to_cb(int setting, int value)
108{
109 long e = (1 - sound_numdecimals(setting)) << 16;
110 return fp_mul(value, fp_exp10(e, 16), 16);
111}
112
113#if !defined(AUDIOHW_HAVE_CLIPPING) 106#if !defined(AUDIOHW_HAVE_CLIPPING)
114/* 107/*
115 * The prescaler compensates for any kind of boosts, to prevent clipping. 108 * The prescaler compensates for any kind of boosts, to prevent clipping.
@@ -132,6 +125,13 @@ static int current_bass = 0; /* tenth dB */
132static int current_eq_band_gain[AUDIOHW_EQ_BAND_NUM]; /* tenth dB */ 125static int current_eq_band_gain[AUDIOHW_EQ_BAND_NUM]; /* tenth dB */
133#endif 126#endif
134 127
128/* Return the sound value scaled to centibels (tenth-decibels) */
129static int sound_value_to_cb(int setting, int value)
130{
131 long e = (1 - sound_numdecimals(setting)) << 16;
132 return fp_mul(value, fp_exp10(e, 16), 16);
133}
134
135static void set_prescaled_volume(void) 135static void set_prescaled_volume(void)
136{ 136{
137 int prescale = 0; 137 int prescale = 0;