summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristian Gmeiner <christian.gmeiner@gmail.com>2007-06-13 06:33:40 +0000
committerChristian Gmeiner <christian.gmeiner@gmail.com>2007-06-13 06:33:40 +0000
commitd1178d2d769fd52dbd9e872ff7cb5a7a4d2b234c (patch)
tree8a743d9e5b4265e61e044658947d43a13f9fdc7e
parent2f1a262a60a8c4bd6cce861dd407945aa440cdfe (diff)
downloadrockbox-d1178d2d769fd52dbd9e872ff7cb5a7a4d2b234c.tar.gz
rockbox-d1178d2d769fd52dbd9e872ff7cb5a7a4d2b234c.zip
* changed pararmeter of audiohw_mute from int to bool
* unification of init and close NOTE: audiohw_init is a void function now, because it never (can) fail okay from JdGordon@irc git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13622 a1c6a512-1295-4272-9138-f99709370657
-rw-r--r--firmware/drivers/audio/as3514.c6
-rw-r--r--firmware/drivers/audio/tlv320.c6
-rw-r--r--firmware/drivers/audio/uda1380.c17
-rw-r--r--firmware/drivers/audio/wm8731l.c2
-rw-r--r--firmware/drivers/audio/wm8751.c2
-rw-r--r--firmware/drivers/audio/wm8758.c2
-rw-r--r--firmware/drivers/audio/wm8975.c2
-rw-r--r--firmware/export/as3514.h2
-rw-r--r--firmware/export/audiohw.h17
-rw-r--r--firmware/export/tlv320.h2
-rw-r--r--firmware/export/uda1380.h3
-rw-r--r--firmware/export/wm8731l.h2
-rw-r--r--firmware/export/wm8751.h2
-rw-r--r--firmware/export/wm8758.h2
-rw-r--r--firmware/export/wm8975.h2
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 */
133int audiohw_init(void) 133void 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
195void audiohw_postinit(void) 193void 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
270void audiohw_mute(int mute) 268void 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/** 221void audiohw_mute(bool mute)
222 * Mute (mute=1) or enable sound (mute=0)
223 *
224 */
225void 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/** 162void audiohw_mute(bool mute)
163 * Mute (mute=1) or enable sound (mute=0)
164 *
165 */
166void 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) */
263int audiohw_init(void) 259void 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
276void audiohw_postinit(void) 273void 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
85void audiohw_mute(int mute) 85void 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
171void audiohw_mute(int mute) 171void 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
154void audiohw_mute(int mute) 154void 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
193void audiohw_mute(int mute) 193void 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 @@
25extern int tenthdb2master(int db); 25extern int tenthdb2master(int db);
26 26
27extern void audiohw_reset(void); 27extern void audiohw_reset(void);
28extern int audiohw_init(void);
29extern void audiohw_enable_output(bool enable); 28extern void audiohw_enable_output(bool enable);
30extern int audiohw_set_master_vol(int vol_l, int vol_r); 29extern int audiohw_set_master_vol(int vol_l, int vol_r);
31extern int audiohw_set_lineout_vol(int vol_l, int vol_r); 30extern int audiohw_set_lineout_vol(int vol_l, int vol_r);
32extern void audiohw_close(void);
33extern void audiohw_set_sample_rate(int sampling_control); 31extern void audiohw_set_sample_rate(int sampling_control);
34 32
35extern void audiohw_enable_recording(bool source_mic); 33extern 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
97void audiohw_mute(int mute); 98/**
99 * Initialize audio codec to a well defined state.
100 */
101void audiohw_init(void);
102
103/**
104 * Close audio codec.
105 */
106void audiohw_close(void);
107
108/**
109 * Mute or enable sound.
110 * @param mute true or false
111 */
112void 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
30extern void audiohw_init(void);
31extern void audiohw_reset(void); 30extern 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);
42extern void audiohw_enable_output(bool enable); 41extern void audiohw_enable_output(bool enable);
43extern void audiohw_set_headphone_vol(int vol_l, int vol_r); 42extern void audiohw_set_headphone_vol(int vol_l, int vol_r);
44extern void audiohw_set_recvol(int left, int right, int type); 43extern void audiohw_set_recvol(int left, int right, int type);
45extern void audiohw_close(void);
46extern void audiohw_enable_recording(bool source_mic); 44extern void audiohw_enable_recording(bool source_mic);
47extern void audiohw_disable_recording(void); 45extern void audiohw_disable_recording(void);
48extern void audiohw_set_monitor(bool enable); 46extern 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);
28extern int tenthdb2mixer(int db); 28extern int tenthdb2mixer(int db);
29 29
30extern void audiohw_reset(void); 30extern void audiohw_reset(void);
31extern int audiohw_init(void);
32extern void audiohw_enable_output(bool enable); 31extern void audiohw_enable_output(bool enable);
33extern int audiohw_set_master_vol(int vol_l, int vol_r); 32extern int audiohw_set_master_vol(int vol_l, int vol_r);
34extern int audiohw_set_mixer_vol(int channel1, int channel2); 33extern int audiohw_set_mixer_vol(int channel1, int channel2);
35extern void audiohw_set_bass(int value); 34extern void audiohw_set_bass(int value);
36extern void audiohw_set_treble(int value); 35extern void audiohw_set_treble(int value);
37extern 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);
28extern int tenthdb2mixer(int db); 28extern int tenthdb2mixer(int db);
29 29
30extern void audiohw_reset(void); 30extern void audiohw_reset(void);
31extern int audiohw_init(void);
32extern void audiohw_enable_output(bool enable); 31extern void audiohw_enable_output(bool enable);
33extern int audiohw_set_master_vol(int vol_l, int vol_r); 32extern int audiohw_set_master_vol(int vol_l, int vol_r);
34extern int audiohw_set_mixer_vol(int channel1, int channel2); 33extern int audiohw_set_mixer_vol(int channel1, int channel2);
35extern void audiohw_set_bass(int value); 34extern void audiohw_set_bass(int value);
36extern void audiohw_set_treble(int value); 35extern void audiohw_set_treble(int value);
37extern void audiohw_close(void);
38extern void audiohw_set_nsorder(int order); 36extern void audiohw_set_nsorder(int order);
39extern void audiohw_set_sample_rate(int sampling_control); 37extern 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);
27extern int tenthdb2mixer(int db); 27extern int tenthdb2mixer(int db);
28 28
29extern void audiohw_reset(void); 29extern void audiohw_reset(void);
30extern int audiohw_init(void);
31extern void audiohw_preinit(void); 30extern void audiohw_preinit(void);
32extern void audiohw_enable_output(bool enable); 31extern void audiohw_enable_output(bool enable);
33extern int audiohw_set_master_vol(int vol_l, int vol_r); 32extern 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);
35extern int audiohw_set_mixer_vol(int channel1, int channel2); 34extern int audiohw_set_mixer_vol(int channel1, int channel2);
36extern void audiohw_set_bass(int value); 35extern void audiohw_set_bass(int value);
37extern void audiohw_set_treble(int value); 36extern void audiohw_set_treble(int value);
38extern void audiohw_close(void);
39extern void audiohw_set_frequency(int fsel); 37extern 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);
28extern int tenthdb2mixer(int db); 28extern int tenthdb2mixer(int db);
29 29
30extern void audiohw_reset(void); 30extern void audiohw_reset(void);
31extern int audiohw_init(void);
32extern void audiohw_enable_output(bool enable); 31extern void audiohw_enable_output(bool enable);
33extern int audiohw_set_master_vol(int vol_l, int vol_r); 32extern int audiohw_set_master_vol(int vol_l, int vol_r);
34extern int audiohw_set_lineout_vol(int vol_l, int vol_r); 33extern int audiohw_set_lineout_vol(int vol_l, int vol_r);
35extern int audiohw_set_mixer_vol(int channel1, int channel2); 34extern int audiohw_set_mixer_vol(int channel1, int channel2);
36extern void audiohw_set_bass(int value); 35extern void audiohw_set_bass(int value);
37extern void audiohw_set_treble(int value); 36extern void audiohw_set_treble(int value);
38extern void audiohw_close(void);
39extern void audiohw_set_nsorder(int order); 37extern void audiohw_set_nsorder(int order);
40extern void audiohw_set_sample_rate(int sampling_control); 38extern 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);
28extern int tenthdb2mixer(int db); 28extern int tenthdb2mixer(int db);
29 29
30extern void audiohw_reset(void); 30extern void audiohw_reset(void);
31extern int audiohw_init(void);
32extern void audiohw_enable_output(bool enable); 31extern void audiohw_enable_output(bool enable);
33extern int audiohw_set_master_vol(int vol_l, int vol_r); 32extern int audiohw_set_master_vol(int vol_l, int vol_r);
34extern int audiohw_set_lineout_vol(int vol_l, int vol_r); 33extern int audiohw_set_lineout_vol(int vol_l, int vol_r);
35extern int audiohw_set_mixer_vol(int channel1, int channel2); 34extern int audiohw_set_mixer_vol(int channel1, int channel2);
36extern void audiohw_set_bass(int value); 35extern void audiohw_set_bass(int value);
37extern void audiohw_set_treble(int value); 36extern void audiohw_set_treble(int value);
38extern void audiohw_close(void);
39extern void audiohw_set_nsorder(int order); 37extern void audiohw_set_nsorder(int order);
40extern void audiohw_set_sample_rate(int sampling_control); 38extern void audiohw_set_sample_rate(int sampling_control);
41 39