Fix typo.
[Rockbox.git] / firmware / export / wm8758.h
blob8a3c61910cc3e7a3efb5fab1dce45b3c0263e6b8
1 /***************************************************************************
2 * __________ __ ___.
3 * Open \______ \ ____ ____ | | _\_ |__ _______ ___
4 * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ /
5 * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < <
6 * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \
7 * \/ \/ \/ \/ \/
8 * $Id$
10 * Copyright (C) 2005 by Dave Chapman
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.
15 * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
16 * KIND, either express or implied.
18 ****************************************************************************/
20 #ifndef _WM8758_H
21 #define _WM8758_H
23 /* volume/balance/treble/bass interdependency */
24 #define VOLUME_MIN -570
25 #define VOLUME_MAX 60
27 extern int tenthdb2master(int db);
28 extern int tenthdb2mixer(int db);
30 extern void audiohw_reset(void);
31 extern void audiohw_enable_output(bool enable);
32 extern int audiohw_set_master_vol(int vol_l, int vol_r);
33 extern int audiohw_set_lineout_vol(int vol_l, int vol_r);
34 extern int audiohw_set_mixer_vol(int channel1, int channel2);
35 extern void audiohw_set_bass(int value);
36 extern void audiohw_set_treble(int value);
37 extern void audiohw_set_nsorder(int order);
38 extern void audiohw_set_sample_rate(int sampling_control);
40 extern void audiohw_enable_recording(bool source_mic);
41 extern void audiohw_disable_recording(void);
42 extern void audiohw_set_recvol(int left, int right, int type);
43 extern void audiohw_set_monitor(int enable);
45 extern void audiohw_set_equalizer_band(int band, int freq, int bw, int gain);
47 #define RESET 0x00
48 #define PWRMGMT1 0x01
49 #define PWRMGMT2 0x02
50 #define PWRMGMT3 0x03
51 #define AINTFCE 0x04
52 #define CLKCTRL 0x06
53 #define SRATECTRL 0x07
54 #define DACCTRL 0x0a
55 #define INCTRL 0x2c
56 #define LINPGAVOL 0x2d
57 #define RINPGAVOL 0x2e
58 #define LADCBOOST 0x2f
59 #define RADCBOOST 0x30
60 #define OUTCTRL 0x31
61 #define LOUTMIX 0x32
62 #define ROUTMIX 0x33
64 #define LOUT1VOL 0x34
65 #define ROUT1VOL 0x35
66 #define LOUT2VOL 0x36
67 #define ROUT2VOL 0x37
69 #define PLLN 0x24
70 #define PLLK1 0x25
71 #define PLLK2 0x26
72 #define PLLK3 0x27
74 #define EQ1 0x12
75 #define EQ2 0x13
76 #define EQ3 0x14
77 #define EQ4 0x15
78 #define EQ5 0x16
80 /* Register settings for the supported samplerates: */
81 #define WM8758_8000HZ 0x4d
82 #define WM8758_12000HZ 0x61
83 #define WM8758_16000HZ 0x55
84 #define WM8758_22050HZ 0x77
85 #define WM8758_24000HZ 0x79
86 #define WM8758_32000HZ 0x59
87 #define WM8758_44100HZ 0x63
88 #define WM8758_48000HZ 0x41
89 #define WM8758_88200HZ 0x7f
90 #define WM8758_96000HZ 0x5d
92 #endif /* _WM8758_H */