Add a note about Rockbox not running on Sansas v2 (FS#8477 by Marc Guay).
[Rockbox.git] / firmware / export / wm8758.h
blob61db094684653bd0ffff30e522d6a541016a7162
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_set_master_vol(int vol_l, int vol_r);
31 extern void audiohw_set_lineout_vol(int vol_l, int vol_r);
32 extern void audiohw_set_mixer_vol(int channel1, int channel2);
33 extern void audiohw_set_bass(int value);
34 extern void audiohw_set_bass_cutoff(int value);
35 extern void audiohw_set_treble(int value);
36 extern void audiohw_set_treble_cutoff(int value);
37 extern void audiohw_set_nsorder(int order);
38 extern void audiohw_set_sample_rate(int sampling_control);
40 #define RESET 0x00
41 #define PWRMGMT1 0x01
42 #define PWRMGMT2 0x02
43 #define PWRMGMT3 0x03
44 #define AINTFCE 0x04
45 #define CLKCTRL 0x06
46 #define SRATECTRL 0x07
47 #define DACCTRL 0x0a
48 #define INCTRL 0x2c
49 #define LINPGAVOL 0x2d
50 #define RINPGAVOL 0x2e
51 #define LADCBOOST 0x2f
52 #define RADCBOOST 0x30
53 #define OUTCTRL 0x31
54 #define LOUTMIX 0x32
55 #define ROUTMIX 0x33
57 #define LOUT1VOL 0x34
58 #define ROUT1VOL 0x35
59 #define LOUT2VOL 0x36
60 #define ROUT2VOL 0x37
62 #define PLLN 0x24
63 #define PLLK1 0x25
64 #define PLLK2 0x26
65 #define PLLK3 0x27
67 #define EQ1 0x12
68 #define EQ2 0x13
69 #define EQ3 0x14
70 #define EQ4 0x15
71 #define EQ5 0x16
72 #define EQ_GAIN_MASK 0x001f
73 #define EQ_CUTOFF_MASK 0x0060
74 #define EQ_GAIN_VALUE(x) (((-x) + 12) & 0x1f)
75 #define EQ_CUTOFF_VALUE(x) ((((x) - 1) & 0x03) << 5)
77 /* Register settings for the supported samplerates: */
78 #define WM8758_8000HZ 0x4d
79 #define WM8758_12000HZ 0x61
80 #define WM8758_16000HZ 0x55
81 #define WM8758_22050HZ 0x77
82 #define WM8758_24000HZ 0x79
83 #define WM8758_32000HZ 0x59
84 #define WM8758_44100HZ 0x63
85 #define WM8758_48000HZ 0x41
86 #define WM8758_88200HZ 0x7f
87 #define WM8758_96000HZ 0x5d
89 #endif /* _WM8758_H */