1/* SPDX-License-Identifier: GPL-2.0-or-later */
2#ifndef __SOUND_AUREON_H
3#define __SOUND_AUREON_H
4
5/*
6 *   ALSA driver for VIA VT1724 (Envy24HT)
7 *
8 *   Lowlevel functions for Terratec Aureon cards
9 *
10 *	Copyright (c) 2003 Takashi Iwai <tiwai@suse.de>
11 */
12
13#define  AUREON_DEVICE_DESC 	       "{Terratec,Aureon 5.1 Sky},"\
14				       "{Terratec,Aureon 7.1 Space},"\
15				       "{Terratec,Aureon 7.1 Universe}," \
16					"{AudioTrak,Prodigy 7.1}," \
17					"{AudioTrak,Prodigy 7.1 LT},"\
18					"{AudioTrak,Prodigy 7.1 XT},"
19
20#define VT1724_SUBDEVICE_AUREON51_SKY	0x3b154711	/* Aureon 5.1 Sky */
21#define VT1724_SUBDEVICE_AUREON71_SPACE	0x3b154511	/* Aureon 7.1 Space */
22#define VT1724_SUBDEVICE_AUREON71_UNIVERSE	0x3b155311	/* Aureon 7.1 Universe */
23#define VT1724_SUBDEVICE_PRODIGY71	0x33495345	/* PRODIGY 7.1 */
24#define VT1724_SUBDEVICE_PRODIGY71LT	0x32315441	/* PRODIGY 7.1 LT */
25#define VT1724_SUBDEVICE_PRODIGY71XT	0x36315441	/* PRODIGY 7.1 XT*/
26
27extern struct snd_ice1712_card_info  snd_vt1724_aureon_cards[];
28
29/* GPIO bits */
30#define AUREON_CS8415_CS	(1 << 22)
31#define AUREON_SPI_MISO		(1 << 21)
32#define AUREON_WM_RESET		(1 << 20)
33#define AUREON_SPI_CLK		(1 << 19)
34#define AUREON_SPI_MOSI		(1 << 18)
35#define AUREON_WM_RW		(1 << 17)
36#define AUREON_AC97_RESET	(1 << 16)
37#define AUREON_DIGITAL_SEL1	(1 << 15)
38#define AUREON_HP_SEL		(1 << 14)
39#define AUREON_WM_CS		(1 << 12)
40#define AUREON_AC97_COMMIT	(1 << 11)
41#define AUREON_AC97_ADDR	(1 << 10)
42#define AUREON_AC97_DATA_LOW	(1 << 9)
43#define AUREON_AC97_DATA_HIGH	(1 << 8)
44#define AUREON_AC97_DATA_MASK	0xFF
45
46#define PRODIGY_WM_CS		(1 << 8)
47#define PRODIGY_SPI_MOSI	(1 << 10)
48#define PRODIGY_SPI_CLK		(1 << 9)
49#define PRODIGY_HP_SEL		(1 << 5)
50
51#endif /* __SOUND_AUREON_H */
52