Colour targets: Revert an optimisation from almost 18 months ago that actually turned...
[Rockbox.git] / firmware / export / wm8975.h
blob722c4b19652a86e5a3c3100ad5154fea4560898e
1 /***************************************************************************
2 * __________ __ ___.
3 * Open \______ \ ____ ____ | | _\_ |__ _______ ___
4 * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ /
5 * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < <
6 * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \
7 * \/ \/ \/ \/ \/
8 * $Id$
10 * Copyright (C) 2005 by Dave Chapman
12 * This program is free software; you can redistribute it and/or
13 * modify it under the terms of the GNU General Public License
14 * as published by the Free Software Foundation; either version 2
15 * of the License, or (at your option) any later version.
17 * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
18 * KIND, either express or implied.
20 ****************************************************************************/
22 #ifndef _WM8975_H
23 #define _WM8975_H
25 /* volume/balance/treble/bass interdependency */
26 #define VOLUME_MIN -730
27 #define VOLUME_MAX 60
29 #define AUDIOHW_CAPS (BASS_CAP | TREBLE_CAP)
31 extern int tenthdb2master(int db);
33 extern void audiohw_set_master_vol(int vol_l, int vol_r);
34 extern void audiohw_set_lineout_vol(int vol_l, int vol_r);
35 extern void audiohw_set_nsorder(int order);
36 extern void audiohw_set_sample_rate(int sampling_control);
38 /* Register addresses */
39 #define LOUT1VOL 0x02
40 #define ROUT1VOL 0x03
41 #define DACCTRL 0x05
42 #define AINTFCE 0x07
43 #define BASSCTRL 0x0c
44 #define TREBCTRL 0x0d
45 #define RESET 0x0f
46 #define PWRMGMT1 0x19
47 #define PWRMGMT2 0x1a
48 #define LOUTMIX1 0x22
49 #define LOUTMIX2 0x23
50 #define ROUTMIX1 0x24
51 #define ROUTMIX2 0x25
52 #define MOUTMIX1 0x26
53 #define MOUTMIX2 0x27
54 #define LOUT2VOL 0x28
55 #define ROUT2VOL 0x29
57 /* Register settings for the supported samplerates: */
58 #define WM8975_8000HZ 0x4d
59 #define WM8975_12000HZ 0x61
60 #define WM8975_16000HZ 0x55
61 #define WM8975_22050HZ 0x77
62 #define WM8975_24000HZ 0x79
63 #define WM8975_32000HZ 0x59
64 #define WM8975_44100HZ 0x63
65 #define WM8975_48000HZ 0x41
66 #define WM8975_88200HZ 0x7f
67 #define WM8975_96000HZ 0x5d
69 #endif /* _WM8975_H */