diff options
author | Daniel Ankers <dan@weirdo.org.uk> | 2007-03-11 17:38:08 +0000 |
---|---|---|
committer | Daniel Ankers <dan@weirdo.org.uk> | 2007-03-11 17:38:08 +0000 |
commit | dfad406aa14a735b2cd071d8d399c79be0f98e43 (patch) | |
tree | 2993687589af53e570e27e6a025fe1c24b8f1a96 /firmware/export/as3514.h | |
parent | e21d21720556bb069f7ceb5669c5b693138838bb (diff) | |
download | rockbox-dfad406aa14a735b2cd071d8d399c79be0f98e43.tar.gz rockbox-dfad406aa14a735b2cd071d8d399c79be0f98e43.zip |
Sound for Sansa E200 - based on work by myself, Rene Peinthor, Barry Wardell and Christian Gmeiner from the AS3514 datasheet.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12727 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'firmware/export/as3514.h')
-rw-r--r-- | firmware/export/as3514.h | 78 |
1 files changed, 78 insertions, 0 deletions
diff --git a/firmware/export/as3514.h b/firmware/export/as3514.h new file mode 100644 index 0000000000..0bf87dbc46 --- /dev/null +++ b/firmware/export/as3514.h | |||
@@ -0,0 +1,78 @@ | |||
1 | /*************************************************************************** | ||
2 | * __________ __ ___. | ||
3 | * Open \______ \ ____ ____ | | _\_ |__ _______ ___ | ||
4 | * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ / | ||
5 | * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < < | ||
6 | * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \ | ||
7 | * \/ \/ \/ \/ \/ | ||
8 | * $Id$ | ||
9 | * | ||
10 | * Copyright (C) 2007 by Daniel Ankers | ||
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 _AS3514_H | ||
21 | #define _AS3514_H | ||
22 | |||
23 | extern int tenthdb2master(int db); | ||
24 | extern int tenthdb2mixer(int db); | ||
25 | |||
26 | extern void audiohw_reset(void); | ||
27 | extern int audiohw_init(void); | ||
28 | extern void audiohw_enable_output(bool enable); | ||
29 | extern int audiohw_set_master_vol(int vol_l, int vol_r); | ||
30 | extern int audiohw_set_lineout_vol(int vol_l, int vol_r); | ||
31 | extern int audiohw_set_mixer_vol(int channel1, int channel2); | ||
32 | extern void audiohw_set_bass(int value); | ||
33 | extern void audiohw_set_treble(int value); | ||
34 | extern int audiohw_mute(int mute); | ||
35 | extern void audiohw_close(void); | ||
36 | extern void audiohw_set_nsorder(int order); | ||
37 | extern void audiohw_set_sample_rate(int sampling_control); | ||
38 | |||
39 | extern void audiohw_enable_recording(bool source_mic); | ||
40 | extern void audiohw_disable_recording(void); | ||
41 | extern void audiohw_set_recvol(int left, int right, int type); | ||
42 | extern void audiohw_set_monitor(int enable); | ||
43 | |||
44 | extern void audiohw_set_equalizer_band(int band, int freq, int bw, int gain); | ||
45 | |||
46 | /* Register Descriptions */ | ||
47 | #define LINE_OUT_R 0x00 | ||
48 | #define LINE_OUT_L 0x01 | ||
49 | #define HPH_OUT_R 0x02 | ||
50 | #define HPH_OUT_L 0x03 | ||
51 | #define LSP_OUT_R 0x04 | ||
52 | #define LSP_OUT_L 0x05 | ||
53 | #define MIC1_R 0x06 | ||
54 | #define MIC1_L 0x07 | ||
55 | #define MIC2_R 0x08 | ||
56 | #define MIC2_L 0x09 | ||
57 | #define LINE_IN1_R 0x0a | ||
58 | #define LINE_IN1_L 0x0b | ||
59 | #define LINE_IN2_R 0x0c | ||
60 | #define LINE_IN2_L 0x0d | ||
61 | #define DAC_R 0x0e | ||
62 | #define DAC_L 0x0f | ||
63 | #define ADC_R 0x10 | ||
64 | #define ADC_L 0x11 | ||
65 | #define AUDIOSET1 0x14 | ||
66 | #define AUDIOSET2 0x15 | ||
67 | #define AUDIOSET3 0x16 | ||
68 | #define PLLMODE 0x1d | ||
69 | |||
70 | /* Headphone volume goes from -45.43 - 1.07dB */ | ||
71 | #define VOLUME_MIN -454 | ||
72 | #define VOLUME_MAX 10 | ||
73 | |||
74 | #ifdef SANSA_E200 | ||
75 | #define AS3514_I2C_ADDR 0x46 | ||
76 | #endif | ||
77 | |||
78 | #endif /* _AS3514_H */ | ||