blob: 79e58e88ed473228bd2106713247eee06c1795e8 [file] [log] [blame]
Linus Torvalds1da177e2005-04-16 15:20:36 -07001#ifndef __SOUND_AUREON_H
2#define __SOUND_AUREON_H
3
4/*
5 * ALSA driver for VIA VT1724 (Envy24HT)
6 *
7 * Lowlevel functions for Terratec Aureon cards
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 AUREON_DEVICE_DESC "{Terratec,Aureon 5.1 Sky},"\
28 "{Terratec,Aureon 7.1 Space},"\
29 "{Terratec,Aureon 7.1 Universe}," \
Takashi Iwai45fe7222006-01-13 13:50:16 +010030 "{AudioTrak,Prodigy 7.1}," \
Toshimune Konnocdf88ef2006-12-18 13:12:18 +010031 "{AudioTrak,Prodigy 7.1 LT},"\
32 "{AudioTrak,Prodigy 7.1 XT},"
Linus Torvalds1da177e2005-04-16 15:20:36 -070033
34#define VT1724_SUBDEVICE_AUREON51_SKY 0x3b154711 /* Aureon 5.1 Sky */
35#define VT1724_SUBDEVICE_AUREON71_SPACE 0x3b154511 /* Aureon 7.1 Space */
36#define VT1724_SUBDEVICE_AUREON71_UNIVERSE 0x3b155311 /* Aureon 7.1 Universe */
37#define VT1724_SUBDEVICE_PRODIGY71 0x33495345 /* PRODIGY 7.1 */
Takashi Iwai45fe7222006-01-13 13:50:16 +010038#define VT1724_SUBDEVICE_PRODIGY71LT 0x32315441 /* PRODIGY 7.1 LT */
Toshimune Konnocdf88ef2006-12-18 13:12:18 +010039#define VT1724_SUBDEVICE_PRODIGY71XT 0x36315441 /* PRODIGY 7.1 XT*/
Linus Torvalds1da177e2005-04-16 15:20:36 -070040
Takashi Iwai32b47da2007-01-29 15:26:36 +010041extern const struct snd_ice1712_card_info snd_vt1724_aureon_cards[];
Linus Torvalds1da177e2005-04-16 15:20:36 -070042
43/* GPIO bits */
44#define AUREON_CS8415_CS (1 << 22)
45#define AUREON_SPI_MISO (1 << 21)
46#define AUREON_WM_RESET (1 << 20)
47#define AUREON_SPI_CLK (1 << 19)
48#define AUREON_SPI_MOSI (1 << 18)
49#define AUREON_WM_RW (1 << 17)
50#define AUREON_AC97_RESET (1 << 16)
51#define AUREON_DIGITAL_SEL1 (1 << 15)
52#define AUREON_HP_SEL (1 << 14)
53#define AUREON_WM_CS (1 << 12)
54#define AUREON_AC97_COMMIT (1 << 11)
55#define AUREON_AC97_ADDR (1 << 10)
56#define AUREON_AC97_DATA_LOW (1 << 9)
57#define AUREON_AC97_DATA_HIGH (1 << 8)
58#define AUREON_AC97_DATA_MASK 0xFF
59
Takashi Iwai45fe7222006-01-13 13:50:16 +010060#define PRODIGY_WM_CS (1 << 8)
61#define PRODIGY_SPI_MOSI (1 << 10)
62#define PRODIGY_SPI_CLK (1 << 9)
Takashi Iwaic5130272006-05-23 15:46:10 +020063#define PRODIGY_HP_SEL (1 << 5)
Takashi Iwai45fe7222006-01-13 13:50:16 +010064
Linus Torvalds1da177e2005-04-16 15:20:36 -070065#endif /* __SOUND_AUREON_H */