Merge branch 'linus' of master.kernel.org:/pub/scm/linux/kernel/git/perex/alsa
[pandora-kernel.git] / sound / pci / ice1712 / revo.h
1 #ifndef __SOUND_REVO_H
2 #define __SOUND_REVO_H
3
4 /*
5  *   ALSA driver for ICEnsemble ICE1712 (Envy24)
6  *
7  *   Lowlevel functions for M-Audio Revolution 7.1
8  *
9  *      Copyright (c) 2003 Takashi Iwai <tiwai@suse.de>
10  *
11  *   This program is free software; you can redistribute it and/or modify
12  *   it under the terms of the GNU General Public License as published by
13  *   the Free Software Foundation; either version 2 of the License, or
14  *   (at your option) any later version.
15  *
16  *   This program is distributed in the hope that it will be useful,
17  *   but WITHOUT ANY WARRANTY; without even the implied warranty of
18  *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
19  *   GNU General Public License for more details.
20  *
21  *   You should have received a copy of the GNU General Public License
22  *   along with this program; if not, write to the Free Software
23  *   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
24  *
25  */      
26
27 #define REVO_DEVICE_DESC \
28                 "{MidiMan M Audio,Revolution 7.1},"\
29                 "{MidiMan M Audio,Revolution 5.1},"\
30                 "{MidiMan M Audio,Audiophile 192},"
31
32 #define VT1724_SUBDEVICE_REVOLUTION71   0x12143036
33 #define VT1724_SUBDEVICE_REVOLUTION51   0x12143136
34 #define VT1724_SUBDEVICE_AUDIOPHILE192  0x12143236
35
36 /* entry point */
37 extern struct snd_ice1712_card_info snd_vt1724_revo_cards[];
38
39
40 /*
41  *  MidiMan M-Audio Revolution GPIO definitions
42  */
43
44 #define VT1724_REVO_CCLK        0x02
45 #define VT1724_REVO_CDIN        0x04    /* not used */
46 #define VT1724_REVO_CDOUT       0x08
47 #define VT1724_REVO_CS0         0x10    /* AK5365 chipselect for (revo51) */
48 #define VT1724_REVO_CS1         0x20    /* front AKM4381 chipselect */
49 #define VT1724_REVO_CS2         0x40    /* surround AKM4355 CS (revo71) */
50 #define VT1724_REVO_I2C_DATA    0x40    /* I2C: PT 2258 SDA (on revo51) */
51 #define VT1724_REVO_I2C_CLOCK   0x80    /* I2C: PT 2258 SCL (on revo51) */
52 #define VT1724_REVO_CS3         0x80    /* AK4114 for AP192 */
53 #define VT1724_REVO_MUTE        (1<<22) /* 0 = all mute, 1 = normal operation */
54
55 #endif /* __SOUND_REVO_H */