diff options
author | Christian Gmeiner <christian.gmeiner@gmail.com> | 2007-05-22 15:56:05 +0000 |
---|---|---|
committer | Christian Gmeiner <christian.gmeiner@gmail.com> | 2007-05-22 15:56:05 +0000 |
commit | cdbf33adf719a54221f4f5aac4b15b0dfe54d24d (patch) | |
tree | 9a3a38da744860df4fc2ffd591f848fd02b4094b /firmware/export | |
parent | e7075db2a76425051b2ecfdd14f14b07384c7e08 (diff) | |
download | rockbox-cdbf33adf719a54221f4f5aac4b15b0dfe54d24d.tar.gz rockbox-cdbf33adf719a54221f4f5aac4b15b0dfe54d24d.zip |
* move audio settings into audio codec drivers
* add mas35xx driver for all mas35xx targets. Later
mas35xx code from sound.c will move to this new driver
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13464 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'firmware/export')
-rw-r--r-- | firmware/export/as3514.h | 1 | ||||
-rw-r--r-- | firmware/export/audiohw.h | 73 | ||||
-rw-r--r-- | firmware/export/config.h | 5 | ||||
-rw-r--r-- | firmware/export/mas35xx.h | 27 | ||||
-rw-r--r-- | firmware/export/sound.h | 37 | ||||
-rw-r--r-- | firmware/export/tlv320.h | 2 | ||||
-rw-r--r-- | firmware/export/uda1380.h | 2 | ||||
-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 |
11 files changed, 120 insertions, 35 deletions
diff --git a/firmware/export/as3514.h b/firmware/export/as3514.h index 5f37fd7fcf..406857f491 100644 --- a/firmware/export/as3514.h +++ b/firmware/export/as3514.h | |||
@@ -21,6 +21,7 @@ | |||
21 | #define _AS3514_H | 21 | #define _AS3514_H |
22 | 22 | ||
23 | #include <stdbool.h> | 23 | #include <stdbool.h> |
24 | #include "audiohw.h" | ||
24 | 25 | ||
25 | extern int tenthdb2master(int db); | 26 | extern int tenthdb2master(int db); |
26 | 27 | ||
diff --git a/firmware/export/audiohw.h b/firmware/export/audiohw.h new file mode 100644 index 0000000000..38e68138c9 --- /dev/null +++ b/firmware/export/audiohw.h | |||
@@ -0,0 +1,73 @@ | |||
1 | /*************************************************************************** | ||
2 | * __________ __ ___. | ||
3 | * Open \______ \ ____ ____ | | _\_ |__ _______ ___ | ||
4 | * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ / | ||
5 | * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < < | ||
6 | * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \ | ||
7 | * \/ \/ \/ \/ \/ | ||
8 | * $Id$ | ||
9 | * | ||
10 | * Copyright (C) 2007 by Christian Gmeiner | ||
11 | * | ||
12 | * All files in this archive are subject to the GNU General Public License. | ||
13 | * See the file COPYING in the source tree root for full license agreement. | ||
14 | * | ||
15 | * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY | ||
16 | * KIND, either express or implied. | ||
17 | * | ||
18 | ****************************************************************************/ | ||
19 | |||
20 | #ifndef _AUDIOHW_H_ | ||
21 | #define _AUDIOHW_H_ | ||
22 | |||
23 | #include "config.h" | ||
24 | |||
25 | enum { | ||
26 | SOUND_VOLUME = 0, | ||
27 | SOUND_BASS, | ||
28 | SOUND_TREBLE, | ||
29 | SOUND_BALANCE, | ||
30 | SOUND_CHANNELS, | ||
31 | SOUND_STEREO_WIDTH, | ||
32 | #if (CONFIG_CODEC == MAS3587F) || (CONFIG_CODEC == MAS3539F) | ||
33 | SOUND_LOUDNESS, | ||
34 | SOUND_AVC, | ||
35 | SOUND_MDB_STRENGTH, | ||
36 | SOUND_MDB_HARMONICS, | ||
37 | SOUND_MDB_CENTER, | ||
38 | SOUND_MDB_SHAPE, | ||
39 | SOUND_MDB_ENABLE, | ||
40 | SOUND_SUPERBASS, | ||
41 | #endif | ||
42 | #if CONFIG_CODEC == MAS3587F || defined(HAVE_UDA1380) || defined(HAVE_TLV320)\ | ||
43 | || defined(HAVE_WM8975) || defined(HAVE_WM8758) || defined(HAVE_WM8731) | ||
44 | SOUND_LEFT_GAIN, | ||
45 | SOUND_RIGHT_GAIN, | ||
46 | SOUND_MIC_GAIN, | ||
47 | #endif | ||
48 | }; | ||
49 | |||
50 | enum Channel { | ||
51 | SOUND_CHAN_STEREO, | ||
52 | SOUND_CHAN_MONO, | ||
53 | SOUND_CHAN_CUSTOM, | ||
54 | SOUND_CHAN_MONO_LEFT, | ||
55 | SOUND_CHAN_MONO_RIGHT, | ||
56 | SOUND_CHAN_KARAOKE, | ||
57 | SOUND_CHAN_NUM_MODES, | ||
58 | }; | ||
59 | |||
60 | struct sound_settings_info { | ||
61 | const char *unit; | ||
62 | int numdecimals; | ||
63 | int steps; | ||
64 | int minval; | ||
65 | int maxval; | ||
66 | int defaultval; | ||
67 | }; | ||
68 | |||
69 | /* This struct is used by every driver to export its min/max/default values for | ||
70 | * its audio settings. Keep in mind that the order must be correct! */ | ||
71 | extern const struct sound_settings_info audiohw_settings[]; | ||
72 | |||
73 | #endif /* _AUDIOHW_H_ */ | ||
diff --git a/firmware/export/config.h b/firmware/export/config.h index 0ad4fabbe1..dd4eaf4488 100644 --- a/firmware/export/config.h +++ b/firmware/export/config.h | |||
@@ -253,6 +253,11 @@ | |||
253 | #endif | 253 | #endif |
254 | #endif | 254 | #endif |
255 | 255 | ||
256 | /* Add one HAVE_ define for all mas35xx targets */ | ||
257 | #if (CONFIG_CODEC == MAS3587F) || (CONFIG_CODEC == MAS3507D) || (CONFIG_CODEC == MAS3539F) | ||
258 | #define HAVE_MAS35XX | ||
259 | #endif | ||
260 | |||
256 | #if CONFIG_CODEC == SWCODEC && !defined(BOOTLOADER) | 261 | #if CONFIG_CODEC == SWCODEC && !defined(BOOTLOADER) |
257 | #define HAVE_EXTENDED_MESSAGING_AND_NAME | 262 | #define HAVE_EXTENDED_MESSAGING_AND_NAME |
258 | #endif | 263 | #endif |
diff --git a/firmware/export/mas35xx.h b/firmware/export/mas35xx.h new file mode 100644 index 0000000000..1239454a3f --- /dev/null +++ b/firmware/export/mas35xx.h | |||
@@ -0,0 +1,27 @@ | |||
1 | /*************************************************************************** | ||
2 | * __________ __ ___. | ||
3 | * Open \______ \ ____ ____ | | _\_ |__ _______ ___ | ||
4 | * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ / | ||
5 | * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < < | ||
6 | * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \ | ||
7 | * \/ \/ \/ \/ \/ | ||
8 | * $Id$ | ||
9 | * | ||
10 | * Implementation of MAS35xx audiohw api driver. | ||
11 | * | ||
12 | * Copyright (C) 2007 by Christian Gmeiner | ||
13 | * | ||
14 | * All files in this archive are subject to the GNU General Public License. | ||
15 | * See the file COPYING in the source tree root for full license agreement. | ||
16 | * | ||
17 | * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY | ||
18 | * KIND, either express or implied. | ||
19 | * | ||
20 | ****************************************************************************/ | ||
21 | |||
22 | #ifndef _MAS35XX_H | ||
23 | #define _MAS35XX_H | ||
24 | |||
25 | #include "audiohw.h" | ||
26 | |||
27 | #endif /* _MAS35XX_H */ | ||
diff --git a/firmware/export/sound.h b/firmware/export/sound.h index b060b97312..d405e99fbf 100644 --- a/firmware/export/sound.h +++ b/firmware/export/sound.h | |||
@@ -34,45 +34,12 @@ | |||
34 | #include "tlv320.h" | 34 | #include "tlv320.h" |
35 | #elif defined(HAVE_AS3514) | 35 | #elif defined(HAVE_AS3514) |
36 | #include "as3514.h" | 36 | #include "as3514.h" |
37 | #elif defined(HAVE_MAS35XX) | ||
38 | #include "mas35xx.h" | ||
37 | #endif | 39 | #endif |
38 | 40 | ||
39 | extern void audiohw_postinit(void); | 41 | extern void audiohw_postinit(void); |
40 | 42 | ||
41 | enum { | ||
42 | SOUND_VOLUME = 0, | ||
43 | SOUND_BASS, | ||
44 | SOUND_TREBLE, | ||
45 | SOUND_BALANCE, | ||
46 | SOUND_CHANNELS, | ||
47 | SOUND_STEREO_WIDTH, | ||
48 | #if (CONFIG_CODEC == MAS3587F) || (CONFIG_CODEC == MAS3539F) | ||
49 | SOUND_LOUDNESS, | ||
50 | SOUND_AVC, | ||
51 | SOUND_MDB_STRENGTH, | ||
52 | SOUND_MDB_HARMONICS, | ||
53 | SOUND_MDB_CENTER, | ||
54 | SOUND_MDB_SHAPE, | ||
55 | SOUND_MDB_ENABLE, | ||
56 | SOUND_SUPERBASS, | ||
57 | #endif | ||
58 | #if CONFIG_CODEC == MAS3587F || defined(HAVE_UDA1380) || defined(HAVE_TLV320)\ | ||
59 | || defined(HAVE_WM8975) || defined(HAVE_WM8758) || defined(HAVE_WM8731) | ||
60 | SOUND_LEFT_GAIN, | ||
61 | SOUND_RIGHT_GAIN, | ||
62 | SOUND_MIC_GAIN, | ||
63 | #endif | ||
64 | }; | ||
65 | |||
66 | enum { | ||
67 | SOUND_CHAN_STEREO = 0, | ||
68 | SOUND_CHAN_MONO, | ||
69 | SOUND_CHAN_CUSTOM, | ||
70 | SOUND_CHAN_MONO_LEFT, | ||
71 | SOUND_CHAN_MONO_RIGHT, | ||
72 | SOUND_CHAN_KARAOKE, | ||
73 | SOUND_CHAN_NUM_MODES | ||
74 | }; | ||
75 | |||
76 | typedef void sound_set_type(int value); | 43 | typedef void sound_set_type(int value); |
77 | 44 | ||
78 | const char *sound_unit(int setting); | 45 | const char *sound_unit(int setting); |
diff --git a/firmware/export/tlv320.h b/firmware/export/tlv320.h index ebb126ddf5..73cf297a3e 100644 --- a/firmware/export/tlv320.h +++ b/firmware/export/tlv320.h | |||
@@ -23,6 +23,8 @@ | |||
23 | #define VOLUME_MIN -730 | 23 | #define VOLUME_MIN -730 |
24 | #define VOLUME_MAX 60 | 24 | #define VOLUME_MAX 60 |
25 | 25 | ||
26 | #include "audiohw.h" | ||
27 | |||
26 | extern int tenthdb2master(int db); | 28 | extern int tenthdb2master(int db); |
27 | 29 | ||
28 | /*** definitions ***/ | 30 | /*** definitions ***/ |
diff --git a/firmware/export/uda1380.h b/firmware/export/uda1380.h index c1fb6421ff..a92e2a3212 100644 --- a/firmware/export/uda1380.h +++ b/firmware/export/uda1380.h | |||
@@ -20,6 +20,8 @@ | |||
20 | #ifndef _UDA1380_H | 20 | #ifndef _UDA1380_H |
21 | #define _UDA1380_H | 21 | #define _UDA1380_H |
22 | 22 | ||
23 | #include "audiohw.h" | ||
24 | |||
23 | /* volume/balance/treble/bass interdependency */ | 25 | /* volume/balance/treble/bass interdependency */ |
24 | #define VOLUME_MIN -840 | 26 | #define VOLUME_MIN -840 |
25 | #define VOLUME_MAX 0 | 27 | #define VOLUME_MAX 0 |
diff --git a/firmware/export/wm8731l.h b/firmware/export/wm8731l.h index 5ef6d694e5..76b2a9c960 100644 --- a/firmware/export/wm8731l.h +++ b/firmware/export/wm8731l.h | |||
@@ -24,6 +24,8 @@ | |||
24 | #define VOLUME_MIN -730 | 24 | #define VOLUME_MIN -730 |
25 | #define VOLUME_MAX 60 | 25 | #define VOLUME_MAX 60 |
26 | 26 | ||
27 | #include "audiohw.h" | ||
28 | |||
27 | extern int tenthdb2master(int db); | 29 | extern int tenthdb2master(int db); |
28 | extern int tenthdb2mixer(int db); | 30 | extern int tenthdb2mixer(int db); |
29 | 31 | ||
diff --git a/firmware/export/wm8751.h b/firmware/export/wm8751.h index efeaa3609d..85d206cae4 100644 --- a/firmware/export/wm8751.h +++ b/firmware/export/wm8751.h | |||
@@ -23,6 +23,8 @@ | |||
23 | #define VOLUME_MIN -730 | 23 | #define VOLUME_MIN -730 |
24 | #define VOLUME_MAX 60 | 24 | #define VOLUME_MAX 60 |
25 | 25 | ||
26 | #include "audiohw.h" | ||
27 | |||
26 | extern int tenthdb2master(int db); | 28 | extern int tenthdb2master(int db); |
27 | extern int tenthdb2mixer(int db); | 29 | extern int tenthdb2mixer(int db); |
28 | 30 | ||
diff --git a/firmware/export/wm8758.h b/firmware/export/wm8758.h index 5715f100da..7fa2181679 100644 --- a/firmware/export/wm8758.h +++ b/firmware/export/wm8758.h | |||
@@ -24,6 +24,8 @@ | |||
24 | #define VOLUME_MIN -570 | 24 | #define VOLUME_MIN -570 |
25 | #define VOLUME_MAX 60 | 25 | #define VOLUME_MAX 60 |
26 | 26 | ||
27 | #include "audiohw.h" | ||
28 | |||
27 | extern int tenthdb2master(int db); | 29 | extern int tenthdb2master(int db); |
28 | extern int tenthdb2mixer(int db); | 30 | extern int tenthdb2mixer(int db); |
29 | 31 | ||
diff --git a/firmware/export/wm8975.h b/firmware/export/wm8975.h index c00303a6a8..bbaa8d3554 100644 --- a/firmware/export/wm8975.h +++ b/firmware/export/wm8975.h | |||
@@ -24,6 +24,8 @@ | |||
24 | #define VOLUME_MIN -730 | 24 | #define VOLUME_MIN -730 |
25 | #define VOLUME_MAX 60 | 25 | #define VOLUME_MAX 60 |
26 | 26 | ||
27 | #include "audiohw.h" | ||
28 | |||
27 | extern int tenthdb2master(int db); | 29 | extern int tenthdb2master(int db); |
28 | extern int tenthdb2mixer(int db); | 30 | extern int tenthdb2mixer(int db); |
29 | 31 | ||