ftp://ftp.kernel.org/pub/linux/kernel/v2.6/linux-2.6.6.tar.bz2
[linux-2.6.git] / sound / oss / dmasound / tas3004.h
1 /*
2  * Header file for the i2c/i2s based TA3004 sound chip used
3  * on some Apple hardware. Also known as "tumbler".
4  *
5  *  This file is subject to the terms and conditions of the GNU General Public
6  *  License.  See the file COPYING in the main directory of this archive
7  *  for more details.
8  *
9  * Written by Christopher C. Chimelis <chris@debian.org>
10  */
11
12 #ifndef _TAS3004_H_
13 #define _TAS3004_H_
14
15 #include <linux/types.h>
16
17 #include "tas_common.h"
18 #include "tas_eq_prefs.h"
19
20 /*
21  * Macros that correspond to the registers that we write to
22  * when setting the various values.
23  */
24
25 #define TAS3004_VERSION         "0.3"
26 #define TAS3004_DATE            "20011214"
27
28 #define I2C_DRIVERNAME_TAS3004 "TAS3004 driver V " TAS3004_VERSION
29 #define I2C_DRIVERID_TAS3004    (I2C_DRIVERID_TAS_BASE+1)
30
31 extern  struct tas_driver_hooks_t tas3004_hooks;
32 extern struct tas_gain_t tas3004_gain;
33 extern struct tas_eq_pref_t *tas3004_eq_prefs[];
34
35 enum tas3004_reg_t {
36   TAS3004_REG_MCR                    = 0x01,
37   TAS3004_REG_DRC                    = 0x02,
38
39   TAS3004_REG_VOLUME                 = 0x04,
40   TAS3004_REG_TREBLE                 = 0x05,
41   TAS3004_REG_BASS                   = 0x06,
42   TAS3004_REG_LEFT_MIXER             = 0x07,
43   TAS3004_REG_RIGHT_MIXER            = 0x08,
44
45   TAS3004_REG_LEFT_BIQUAD0           = 0x0a,
46   TAS3004_REG_LEFT_BIQUAD1           = 0x0b,
47   TAS3004_REG_LEFT_BIQUAD2           = 0x0c,
48   TAS3004_REG_LEFT_BIQUAD3           = 0x0d,
49   TAS3004_REG_LEFT_BIQUAD4           = 0x0e,
50   TAS3004_REG_LEFT_BIQUAD5           = 0x0f,
51   TAS3004_REG_LEFT_BIQUAD6           = 0x10,
52   
53   TAS3004_REG_RIGHT_BIQUAD0          = 0x13,
54   TAS3004_REG_RIGHT_BIQUAD1          = 0x14,
55   TAS3004_REG_RIGHT_BIQUAD2          = 0x15,
56   TAS3004_REG_RIGHT_BIQUAD3          = 0x16,
57   TAS3004_REG_RIGHT_BIQUAD4          = 0x17,
58   TAS3004_REG_RIGHT_BIQUAD5          = 0x18,
59   TAS3004_REG_RIGHT_BIQUAD6          = 0x19,
60
61   TAS3004_REG_LEFT_LOUD_BIQUAD       = 0x21,
62   TAS3004_REG_RIGHT_LOUD_BIQUAD      = 0x22,
63
64   TAS3004_REG_LEFT_LOUD_BIQUAD_GAIN  = 0x23,
65   TAS3004_REG_RIGHT_LOUD_BIQUAD_GAIN = 0x24,
66
67   TAS3004_REG_TEST                   = 0x29,
68
69   TAS3004_REG_ANALOG_CTRL            = 0x40,
70   TAS3004_REG_TEST1                  = 0x41,
71   TAS3004_REG_TEST2                  = 0x42,
72   TAS3004_REG_MCR2                   = 0x43,
73
74   TAS3004_REG_MAX                    = 0x44
75 };
76
77 #endif /* _TAS3004_H_ */