Jack2: ice1712.h Source File

Jack2 1.9.12

ice1712.h
1 /*
2 Copyright (C) 2002 Anthony Van Groningen
3
4 Parts based on source code taken from the
5 "Env24 chipset (ICE1712) control utility" that is
6
7 Copyright (C) 2000 by Jaroslav Kysela <perex@suse.cz>
8
9 This program is free software; you can redistribute it and/or modify
10 it under the terms of the GNU General Public License as published by
11 the Free Software Foundation; either version 2 of the License, or
12 (at your option) any later version.
13
14 This program is distributed in the hope that it will be useful,
15 but WITHOUT ANY WARRANTY; without even the implied warranty of
16 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17 GNU General Public License for more details.
18
19 You should have received a copy of the GNU General Public License
20 along with this program; if not, write to the Free Software
21 Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
22
23 */
24
25 #ifndef __jack_ice1712_h__
26 #define __jack_ice1712_h__
27
28 #define ICE1712_SUBDEVICE_DELTA44 0x121433d6
29 #define ICE1712_SUBDEVICE_DELTA66 0x121432d6
30 #define ICE1712_SUBDEVICE_DELTA1010 0x121430d6
31 #define ICE1712_SUBDEVICE_DELTADIO2496 0x121431d6
32 #define ICE1712_SUBDEVICE_AUDIOPHILE 0x121434d6
33
34 #define SPDIF_PLAYBACK_ROUTE_NAME "IEC958 Playback Route"
35 #define ANALOG_PLAYBACK_ROUTE_NAME "H/W Playback Route"
36 #define MULTITRACK_PEAK_NAME "Multi Track Peak"
37
38 typedef struct
39 {
40 unsigned int subvendor; /* PCI[2c-2f] */
41 unsigned char size; /* size of EEPROM image in bytes */
42 unsigned char version; /* must be 1 */
43 unsigned char codec; /* codec configuration PCI[60] */
44 unsigned char aclink; /* ACLink configuration PCI[61] */
45 unsigned char i2sID; /* PCI[62] */
46 unsigned char spdif; /* S/PDIF configuration PCI[63] */
47 unsigned char gpiomask; /* GPIO initial mask, 0 = write, 1 = don't */
48 unsigned char gpiostate; /* GPIO initial state */
49 unsigned char gpiodir; /* GPIO direction state */
50 unsigned short ac97main;
51 unsigned short ac97pcm;
52 unsigned short ac97rec;
53 unsigned char ac97recsrc;
54 unsigned char dacID[4]; /* I2S IDs for DACs */
55 unsigned char adcID[4]; /* I2S IDs for ADCs */
56 unsigned char extra[4];
57 }
58 ice1712_eeprom_t;
59
60 typedef struct
61 {
62 alsa_driver_t *driver;
63 ice1712_eeprom_t *eeprom;
64 unsigned long active_channels;
65 }
66 ice1712_t;
67
68 #ifdef __cplusplus
69 extern "C"
70 {
71 #endif
72
73 jack_hardware_t *jack_alsa_ice1712_hw_new (alsa_driver_t *driver);
74
75 #ifdef __cplusplus
76 }
77 #endif
78
79 #endif /* __jack_ice1712_h__*/
_jack_hardware
Definition: hardware.h:49
ice1712_eeprom_t
Definition: ice1712.h:38
_alsa_driver
Definition: alsa_driver.h:57
ice1712_t
Definition: ice1712.h:60