diff options
Diffstat (limited to 'firmware')
-rw-r--r-- | firmware/drivers/audio/as3514.c | 6 | ||||
-rw-r--r-- | firmware/drivers/audio/tlv320.c | 6 | ||||
-rw-r--r-- | firmware/drivers/audio/uda1380.c | 17 | ||||
-rw-r--r-- | firmware/drivers/audio/wm8731l.c | 2 | ||||
-rw-r--r-- | firmware/drivers/audio/wm8751.c | 2 | ||||
-rw-r--r-- | firmware/drivers/audio/wm8758.c | 2 | ||||
-rw-r--r-- | firmware/drivers/audio/wm8975.c | 2 | ||||
-rw-r--r-- | firmware/export/as3514.h | 2 | ||||
-rw-r--r-- | firmware/export/audiohw.h | 17 | ||||
-rw-r--r-- | firmware/export/tlv320.h | 2 | ||||
-rw-r--r-- | firmware/export/uda1380.h | 3 | ||||
-rw-r--r-- | firmware/export/wm8731l.h | 2 | ||||
-rw-r--r-- | firmware/export/wm8751.h | 2 | ||||
-rw-r--r-- | firmware/export/wm8758.h | 2 | ||||
-rw-r--r-- | firmware/export/wm8975.h | 2 |
15 files changed, 31 insertions, 38 deletions
diff --git a/firmware/drivers/audio/as3514.c b/firmware/drivers/audio/as3514.c index a0a84e51c9..4e69462508 100644 --- a/firmware/drivers/audio/as3514.c +++ b/firmware/drivers/audio/as3514.c | |||
@@ -130,7 +130,7 @@ void audiohw_reset(void); | |||
130 | /* | 130 | /* |
131 | * Initialise the PP I2C and I2S. | 131 | * Initialise the PP I2C and I2S. |
132 | */ | 132 | */ |
133 | int audiohw_init(void) | 133 | void audiohw_init(void) |
134 | { | 134 | { |
135 | unsigned int i; | 135 | unsigned int i; |
136 | 136 | ||
@@ -188,8 +188,6 @@ int audiohw_init(void) | |||
188 | { | 188 | { |
189 | as3514.regs[i] = i2c_readbyte(AS3514_I2C_ADDR, i); | 189 | as3514.regs[i] = i2c_readbyte(AS3514_I2C_ADDR, i); |
190 | } | 190 | } |
191 | |||
192 | return 0; | ||
193 | } | 191 | } |
194 | 192 | ||
195 | void audiohw_postinit(void) | 193 | void audiohw_postinit(void) |
@@ -267,7 +265,7 @@ int audiohw_set_lineout_vol(int vol_l, int vol_r) | |||
267 | return 0; | 265 | return 0; |
268 | } | 266 | } |
269 | 267 | ||
270 | void audiohw_mute(int mute) | 268 | void audiohw_mute(bool mute) |
271 | { | 269 | { |
272 | if (mute) { | 270 | if (mute) { |
273 | as3514_write_or(HPH_OUT_L, (1 << 7)); | 271 | as3514_write_or(HPH_OUT_L, (1 << 7)); |
diff --git a/firmware/drivers/audio/tlv320.c b/firmware/drivers/audio/tlv320.c index 2e43baaf8f..7da26502a4 100644 --- a/firmware/drivers/audio/tlv320.c +++ b/firmware/drivers/audio/tlv320.c | |||
@@ -218,11 +218,7 @@ void audiohw_set_recvol(int left, int right, int type) | |||
218 | } | 218 | } |
219 | } | 219 | } |
220 | 220 | ||
221 | /** | 221 | void audiohw_mute(bool mute) |
222 | * Mute (mute=1) or enable sound (mute=0) | ||
223 | * | ||
224 | */ | ||
225 | void audiohw_mute(int mute) | ||
226 | { | 222 | { |
227 | unsigned value_dap = tlv320_regs[REG_DAP]; | 223 | unsigned value_dap = tlv320_regs[REG_DAP]; |
228 | unsigned value_l, value_r; | 224 | unsigned value_l, value_r; |
diff --git a/firmware/drivers/audio/uda1380.c b/firmware/drivers/audio/uda1380.c index ab0ff81352..1b3d5a065d 100644 --- a/firmware/drivers/audio/uda1380.c +++ b/firmware/drivers/audio/uda1380.c | |||
@@ -159,11 +159,7 @@ void audiohw_set_treble(int value) | |||
159 | | TREBLEL(value) | TREBLER(value)); | 159 | | TREBLEL(value) | TREBLER(value)); |
160 | } | 160 | } |
161 | 161 | ||
162 | /** | 162 | void audiohw_mute(bool mute) |
163 | * Mute (mute=1) or enable sound (mute=0) | ||
164 | * | ||
165 | */ | ||
166 | void audiohw_mute(int mute) | ||
167 | { | 163 | { |
168 | unsigned int value = uda1380_regs[REG_MUTE]; | 164 | unsigned int value = uda1380_regs[REG_MUTE]; |
169 | 165 | ||
@@ -260,17 +256,18 @@ void audiohw_set_frequency(unsigned fsel) | |||
260 | } | 256 | } |
261 | 257 | ||
262 | /* Initialize UDA1380 codec with default register values (uda1380_defaults) */ | 258 | /* Initialize UDA1380 codec with default register values (uda1380_defaults) */ |
263 | int audiohw_init(void) | 259 | void audiohw_init(void) |
264 | { | 260 | { |
265 | recgain_mic = 0; | 261 | recgain_mic = 0; |
266 | recgain_line = 0; | 262 | recgain_line = 0; |
267 | 263 | ||
268 | audiohw_reset(); | 264 | audiohw_reset(); |
269 | |||
270 | if (audiohw_set_regs() == -1) | ||
271 | return -1; | ||
272 | 265 | ||
273 | return 0; | 266 | if (audiohw_set_regs() == -1) |
267 | { | ||
268 | /* this shoud never (!) happen. */ | ||
269 | logf("uda1380: audiohw_init failed") | ||
270 | } | ||
274 | } | 271 | } |
275 | 272 | ||
276 | void audiohw_postinit(void) | 273 | void audiohw_postinit(void) |
diff --git a/firmware/drivers/audio/wm8731l.c b/firmware/drivers/audio/wm8731l.c index c87c7d0125..94efc535e2 100644 --- a/firmware/drivers/audio/wm8731l.c +++ b/firmware/drivers/audio/wm8731l.c | |||
@@ -82,7 +82,7 @@ int tenthdb2mixer(int db) | |||
82 | return -db * 2 / 5; | 82 | return -db * 2 / 5; |
83 | } | 83 | } |
84 | 84 | ||
85 | void audiohw_mute(int mute) | 85 | void audiohw_mute(bool mute) |
86 | { | 86 | { |
87 | if (mute) | 87 | if (mute) |
88 | { | 88 | { |
diff --git a/firmware/drivers/audio/wm8751.c b/firmware/drivers/audio/wm8751.c index 346b4239a4..056b5d6628 100644 --- a/firmware/drivers/audio/wm8751.c +++ b/firmware/drivers/audio/wm8751.c | |||
@@ -168,7 +168,7 @@ void audiohw_set_treble(int value) | |||
168 | TREBCTRL_TREB(tone_tenthdb2hw(value))); | 168 | TREBCTRL_TREB(tone_tenthdb2hw(value))); |
169 | } | 169 | } |
170 | 170 | ||
171 | void audiohw_mute(int mute) | 171 | void audiohw_mute(bool mute) |
172 | { | 172 | { |
173 | /* Mute: Set DACMU = 1 to soft-mute the audio DACs. */ | 173 | /* Mute: Set DACMU = 1 to soft-mute the audio DACs. */ |
174 | /* Unmute: Set DACMU = 0 to soft-un-mute the audio DACs. */ | 174 | /* Unmute: Set DACMU = 0 to soft-un-mute the audio DACs. */ |
diff --git a/firmware/drivers/audio/wm8758.c b/firmware/drivers/audio/wm8758.c index bf3ec4c1de..0c1611890f 100644 --- a/firmware/drivers/audio/wm8758.c +++ b/firmware/drivers/audio/wm8758.c | |||
@@ -151,7 +151,7 @@ void audiohw_set_treble(int value) | |||
151 | (void)value; | 151 | (void)value; |
152 | } | 152 | } |
153 | 153 | ||
154 | void audiohw_mute(int mute) | 154 | void audiohw_mute(bool mute) |
155 | { | 155 | { |
156 | if (mute) | 156 | if (mute) |
157 | { | 157 | { |
diff --git a/firmware/drivers/audio/wm8975.c b/firmware/drivers/audio/wm8975.c index 5f90ff0a38..d1d46334e4 100644 --- a/firmware/drivers/audio/wm8975.c +++ b/firmware/drivers/audio/wm8975.c | |||
@@ -190,7 +190,7 @@ void audiohw_set_treble(int value) | |||
190 | } | 190 | } |
191 | } | 191 | } |
192 | 192 | ||
193 | void audiohw_mute(int mute) | 193 | void audiohw_mute(bool mute) |
194 | { | 194 | { |
195 | if (mute) | 195 | if (mute) |
196 | { | 196 | { |
diff --git a/firmware/export/as3514.h b/firmware/export/as3514.h index 98656c701d..c01790f082 100644 --- a/firmware/export/as3514.h +++ b/firmware/export/as3514.h | |||
@@ -25,11 +25,9 @@ | |||
25 | extern int tenthdb2master(int db); | 25 | extern int tenthdb2master(int db); |
26 | 26 | ||
27 | extern void audiohw_reset(void); | 27 | extern void audiohw_reset(void); |
28 | extern int audiohw_init(void); | ||
29 | extern void audiohw_enable_output(bool enable); | 28 | extern void audiohw_enable_output(bool enable); |
30 | extern int audiohw_set_master_vol(int vol_l, int vol_r); | 29 | extern int audiohw_set_master_vol(int vol_l, int vol_r); |
31 | extern int audiohw_set_lineout_vol(int vol_l, int vol_r); | 30 | extern int audiohw_set_lineout_vol(int vol_l, int vol_r); |
32 | extern void audiohw_close(void); | ||
33 | extern void audiohw_set_sample_rate(int sampling_control); | 31 | extern void audiohw_set_sample_rate(int sampling_control); |
34 | 32 | ||
35 | extern void audiohw_enable_recording(bool source_mic); | 33 | extern void audiohw_enable_recording(bool source_mic); |
diff --git a/firmware/export/audiohw.h b/firmware/export/audiohw.h index b266868be2..df155e2256 100644 --- a/firmware/export/audiohw.h +++ b/firmware/export/audiohw.h | |||
@@ -21,6 +21,7 @@ | |||
21 | #define _AUDIOHW_H_ | 21 | #define _AUDIOHW_H_ |
22 | 22 | ||
23 | #include "config.h" | 23 | #include "config.h" |
24 | #include <stdbool.h> | ||
24 | 25 | ||
25 | #ifdef HAVE_UDA1380 | 26 | #ifdef HAVE_UDA1380 |
26 | #include "uda1380.h" | 27 | #include "uda1380.h" |
@@ -94,6 +95,20 @@ extern const struct sound_settings_info audiohw_settings[]; | |||
94 | * .h file suitable defines are added. | 95 | * .h file suitable defines are added. |
95 | */ | 96 | */ |
96 | 97 | ||
97 | void audiohw_mute(int mute); | 98 | /** |
99 | * Initialize audio codec to a well defined state. | ||
100 | */ | ||
101 | void audiohw_init(void); | ||
102 | |||
103 | /** | ||
104 | * Close audio codec. | ||
105 | */ | ||
106 | void audiohw_close(void); | ||
107 | |||
108 | /** | ||
109 | * Mute or enable sound. | ||
110 | * @param mute true or false | ||
111 | */ | ||
112 | void audiohw_mute(bool mute); | ||
98 | 113 | ||
99 | #endif /* _AUDIOHW_H_ */ | 114 | #endif /* _AUDIOHW_H_ */ |
diff --git a/firmware/export/tlv320.h b/firmware/export/tlv320.h index 15ac794cca..af9b36262f 100644 --- a/firmware/export/tlv320.h +++ b/firmware/export/tlv320.h | |||
@@ -27,7 +27,6 @@ extern int tenthdb2master(int db); | |||
27 | 27 | ||
28 | /*** definitions ***/ | 28 | /*** definitions ***/ |
29 | 29 | ||
30 | extern void audiohw_init(void); | ||
31 | extern void audiohw_reset(void); | 30 | extern void audiohw_reset(void); |
32 | /** | 31 | /** |
33 | * Sets internal sample rate for DAC and ADC relative to MCLK | 32 | * Sets internal sample rate for DAC and ADC relative to MCLK |
@@ -42,7 +41,6 @@ extern void audiohw_set_frequency(unsigned fsel); | |||
42 | extern void audiohw_enable_output(bool enable); | 41 | extern void audiohw_enable_output(bool enable); |
43 | extern void audiohw_set_headphone_vol(int vol_l, int vol_r); | 42 | extern void audiohw_set_headphone_vol(int vol_l, int vol_r); |
44 | extern void audiohw_set_recvol(int left, int right, int type); | 43 | extern void audiohw_set_recvol(int left, int right, int type); |
45 | extern void audiohw_close(void); | ||
46 | extern void audiohw_enable_recording(bool source_mic); | 44 | extern void audiohw_enable_recording(bool source_mic); |
47 | extern void audiohw_disable_recording(void); | 45 | extern void audiohw_disable_recording(void); |
48 | extern void audiohw_set_monitor(bool enable); | 46 | extern void audiohw_set_monitor(bool enable); |
diff --git a/firmware/export/uda1380.h b/firmware/export/uda1380.h index fd1b838b04..b4b83d1ee9 100644 --- a/firmware/export/uda1380.h +++ b/firmware/export/uda1380.h | |||
@@ -28,13 +28,12 @@ extern int tenthdb2master(int db); | |||
28 | extern int tenthdb2mixer(int db); | 28 | extern int tenthdb2mixer(int db); |
29 | 29 | ||
30 | extern void audiohw_reset(void); | 30 | extern void audiohw_reset(void); |
31 | extern int audiohw_init(void); | ||
32 | extern void audiohw_enable_output(bool enable); | 31 | extern void audiohw_enable_output(bool enable); |
33 | extern int audiohw_set_master_vol(int vol_l, int vol_r); | 32 | extern int audiohw_set_master_vol(int vol_l, int vol_r); |
34 | extern int audiohw_set_mixer_vol(int channel1, int channel2); | 33 | extern int audiohw_set_mixer_vol(int channel1, int channel2); |
35 | extern void audiohw_set_bass(int value); | 34 | extern void audiohw_set_bass(int value); |
36 | extern void audiohw_set_treble(int value); | 35 | extern void audiohw_set_treble(int value); |
37 | extern void audiohw_close(void); | 36 | |
38 | /** | 37 | /** |
39 | * Sets frequency settings for DAC and ADC relative to MCLK | 38 | * Sets frequency settings for DAC and ADC relative to MCLK |
40 | * | 39 | * |
diff --git a/firmware/export/wm8731l.h b/firmware/export/wm8731l.h index 74e41a73d7..f0f63c909a 100644 --- a/firmware/export/wm8731l.h +++ b/firmware/export/wm8731l.h | |||
@@ -28,13 +28,11 @@ extern int tenthdb2master(int db); | |||
28 | extern int tenthdb2mixer(int db); | 28 | extern int tenthdb2mixer(int db); |
29 | 29 | ||
30 | extern void audiohw_reset(void); | 30 | extern void audiohw_reset(void); |
31 | extern int audiohw_init(void); | ||
32 | extern void audiohw_enable_output(bool enable); | 31 | extern void audiohw_enable_output(bool enable); |
33 | extern int audiohw_set_master_vol(int vol_l, int vol_r); | 32 | extern int audiohw_set_master_vol(int vol_l, int vol_r); |
34 | extern int audiohw_set_mixer_vol(int channel1, int channel2); | 33 | extern int audiohw_set_mixer_vol(int channel1, int channel2); |
35 | extern void audiohw_set_bass(int value); | 34 | extern void audiohw_set_bass(int value); |
36 | extern void audiohw_set_treble(int value); | 35 | extern void audiohw_set_treble(int value); |
37 | extern void audiohw_close(void); | ||
38 | extern void audiohw_set_nsorder(int order); | 36 | extern void audiohw_set_nsorder(int order); |
39 | extern void audiohw_set_sample_rate(int sampling_control); | 37 | extern void audiohw_set_sample_rate(int sampling_control); |
40 | 38 | ||
diff --git a/firmware/export/wm8751.h b/firmware/export/wm8751.h index 89d2c6b21c..782027433a 100644 --- a/firmware/export/wm8751.h +++ b/firmware/export/wm8751.h | |||
@@ -27,7 +27,6 @@ extern int tenthdb2master(int db); | |||
27 | extern int tenthdb2mixer(int db); | 27 | extern int tenthdb2mixer(int db); |
28 | 28 | ||
29 | extern void audiohw_reset(void); | 29 | extern void audiohw_reset(void); |
30 | extern int audiohw_init(void); | ||
31 | extern void audiohw_preinit(void); | 30 | extern void audiohw_preinit(void); |
32 | extern void audiohw_enable_output(bool enable); | 31 | extern void audiohw_enable_output(bool enable); |
33 | extern int audiohw_set_master_vol(int vol_l, int vol_r); | 32 | extern int audiohw_set_master_vol(int vol_l, int vol_r); |
@@ -35,7 +34,6 @@ extern int audiohw_set_lineout_vol(int vol_l, int vol_r); | |||
35 | extern int audiohw_set_mixer_vol(int channel1, int channel2); | 34 | extern int audiohw_set_mixer_vol(int channel1, int channel2); |
36 | extern void audiohw_set_bass(int value); | 35 | extern void audiohw_set_bass(int value); |
37 | extern void audiohw_set_treble(int value); | 36 | extern void audiohw_set_treble(int value); |
38 | extern void audiohw_close(void); | ||
39 | extern void audiohw_set_frequency(int fsel); | 37 | extern void audiohw_set_frequency(int fsel); |
40 | 38 | ||
41 | /* Register addresses and bits */ | 39 | /* Register addresses and bits */ |
diff --git a/firmware/export/wm8758.h b/firmware/export/wm8758.h index e86af87f51..8a3c61910c 100644 --- a/firmware/export/wm8758.h +++ b/firmware/export/wm8758.h | |||
@@ -28,14 +28,12 @@ extern int tenthdb2master(int db); | |||
28 | extern int tenthdb2mixer(int db); | 28 | extern int tenthdb2mixer(int db); |
29 | 29 | ||
30 | extern void audiohw_reset(void); | 30 | extern void audiohw_reset(void); |
31 | extern int audiohw_init(void); | ||
32 | extern void audiohw_enable_output(bool enable); | 31 | extern void audiohw_enable_output(bool enable); |
33 | extern int audiohw_set_master_vol(int vol_l, int vol_r); | 32 | extern int audiohw_set_master_vol(int vol_l, int vol_r); |
34 | extern int audiohw_set_lineout_vol(int vol_l, int vol_r); | 33 | extern int audiohw_set_lineout_vol(int vol_l, int vol_r); |
35 | extern int audiohw_set_mixer_vol(int channel1, int channel2); | 34 | extern int audiohw_set_mixer_vol(int channel1, int channel2); |
36 | extern void audiohw_set_bass(int value); | 35 | extern void audiohw_set_bass(int value); |
37 | extern void audiohw_set_treble(int value); | 36 | extern void audiohw_set_treble(int value); |
38 | extern void audiohw_close(void); | ||
39 | extern void audiohw_set_nsorder(int order); | 37 | extern void audiohw_set_nsorder(int order); |
40 | extern void audiohw_set_sample_rate(int sampling_control); | 38 | extern void audiohw_set_sample_rate(int sampling_control); |
41 | 39 | ||
diff --git a/firmware/export/wm8975.h b/firmware/export/wm8975.h index 609e05c622..e97497ee02 100644 --- a/firmware/export/wm8975.h +++ b/firmware/export/wm8975.h | |||
@@ -28,14 +28,12 @@ extern int tenthdb2master(int db); | |||
28 | extern int tenthdb2mixer(int db); | 28 | extern int tenthdb2mixer(int db); |
29 | 29 | ||
30 | extern void audiohw_reset(void); | 30 | extern void audiohw_reset(void); |
31 | extern int audiohw_init(void); | ||
32 | extern void audiohw_enable_output(bool enable); | 31 | extern void audiohw_enable_output(bool enable); |
33 | extern int audiohw_set_master_vol(int vol_l, int vol_r); | 32 | extern int audiohw_set_master_vol(int vol_l, int vol_r); |
34 | extern int audiohw_set_lineout_vol(int vol_l, int vol_r); | 33 | extern int audiohw_set_lineout_vol(int vol_l, int vol_r); |
35 | extern int audiohw_set_mixer_vol(int channel1, int channel2); | 34 | extern int audiohw_set_mixer_vol(int channel1, int channel2); |
36 | extern void audiohw_set_bass(int value); | 35 | extern void audiohw_set_bass(int value); |
37 | extern void audiohw_set_treble(int value); | 36 | extern void audiohw_set_treble(int value); |
38 | extern void audiohw_close(void); | ||
39 | extern void audiohw_set_nsorder(int order); | 37 | extern void audiohw_set_nsorder(int order); |
40 | extern void audiohw_set_sample_rate(int sampling_control); | 38 | extern void audiohw_set_sample_rate(int sampling_control); |
41 | 39 | ||