summaryrefslogtreecommitdiff
path: root/firmware/drivers/audio/wm8978.c
diff options
context:
space:
mode:
Diffstat (limited to 'firmware/drivers/audio/wm8978.c')
-rw-r--r--firmware/drivers/audio/wm8978.c60
1 files changed, 60 insertions, 0 deletions
diff --git a/firmware/drivers/audio/wm8978.c b/firmware/drivers/audio/wm8978.c
new file mode 100644
index 0000000000..01f3d331bb
--- /dev/null
+++ b/firmware/drivers/audio/wm8978.c
@@ -0,0 +1,60 @@
1/***************************************************************************
2 * __________ __ ___.
3 * Open \______ \ ____ ____ | | _\_ |__ _______ ___
4 * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ /
5 * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < <
6 * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \
7 * \/ \/ \/ \/ \/
8 * $Id$
9 *
10 * Copyright (C) 2008 by Michael Sevakis
11 *
12 * Driver for WM8978 audio codec
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#include "config.h"
22#include "system.h"
23#include "audiohw.h"
24#include "wmcodec.h"
25#include "audio.h"
26
27const struct sound_settings_info audiohw_settings[] = {
28 [SOUND_VOLUME] = {"dB", 0, 1, -58, 6, -25},
29 [SOUND_BASS] = {"dB", 0, 1, -12, 12, 0},
30 [SOUND_TREBLE] = {"dB", 0, 1, -12, 12, 0},
31 [SOUND_BALANCE] = {"%", 0, 1,-100, 100, 0},
32 [SOUND_CHANNELS] = {"", 0, 1, 0, 5, 0},
33 [SOUND_STEREO_WIDTH] = {"%", 0, 5, 0, 250, 100},
34 [SOUND_LEFT_GAIN] = {"dB", 1, 1,-128, 96, 0},
35 [SOUND_RIGHT_GAIN] = {"dB", 1, 1,-128, 96, 0},
36 [SOUND_MIC_GAIN] = {"dB", 1, 1,-128, 108, 16},
37#if 0
38 [SOUND_BASS_CUTOFF] = {"", 0, 1, 1, 4, 1},
39 [SOUND_TREBLE_CUTOFF] = {"", 0, 1, 1, 4, 1},
40#endif
41};
42
43void audiohw_preinit(void)
44{
45 wmcodec_write(WM8978_SOFTWARE_RESET, 0);
46}
47
48void audiohw_postinit(void)
49{
50 sleep(HZ);
51}
52
53void audiohw_close(void)
54{
55}
56
57void audiohw_mute(bool mute)
58{
59 (void)mute;
60}