Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 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_ */ |