blob: a3ba425911cc3aaa367b77438ebca2d21e2162a3 [file] [log] [blame]
Linus Torvalds1da177e2005-04-16 15:20:36 -07001#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 \
Takashi Iwai59acf762005-12-05 19:22:34 +010028 "{MidiMan M Audio,Revolution 7.1},"\
Takashi Iwai56255062006-11-09 16:47:26 +010029 "{MidiMan M Audio,Revolution 5.1},"\
30 "{MidiMan M Audio,Audiophile 192},"
Linus Torvalds1da177e2005-04-16 15:20:36 -070031
32#define VT1724_SUBDEVICE_REVOLUTION71 0x12143036
Takashi Iwai59acf762005-12-05 19:22:34 +010033#define VT1724_SUBDEVICE_REVOLUTION51 0x12143136
Takashi Iwai56255062006-11-09 16:47:26 +010034#define VT1724_SUBDEVICE_AUDIOPHILE192 0x12143236
Linus Torvalds1da177e2005-04-16 15:20:36 -070035
36/* entry point */
Takashi Iwai1b60f6b2007-03-13 22:13:47 +010037extern struct snd_ice1712_card_info snd_vt1724_revo_cards[];
Linus Torvalds1da177e2005-04-16 15:20:36 -070038
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
Jochen Vossfeaa6a72006-10-04 18:08:43 +020047#define VT1724_REVO_CS0 0x10 /* AK5365 chipselect for (revo51) */
Linus Torvalds1da177e2005-04-16 15:20:36 -070048#define VT1724_REVO_CS1 0x20 /* front AKM4381 chipselect */
Jochen Vossfeaa6a72006-10-04 18:08:43 +020049#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) */
Takashi Iwai56255062006-11-09 16:47:26 +010052#define VT1724_REVO_CS3 0x80 /* AK4114 for AP192 */
Linus Torvalds1da177e2005-04-16 15:20:36 -070053#define VT1724_REVO_MUTE (1<<22) /* 0 = all mute, 1 = normal operation */
54
55#endif /* __SOUND_REVO_H */