Jack2 1.9.6
|
00001 /* 00002 Copyright (C) 2002 Anthony Van Groningen 00003 00004 Parts based on source code taken from the 00005 "Env24 chipset (ICE1712) control utility" that is 00006 00007 Copyright (C) 2000 by Jaroslav Kysela <perex@suse.cz> 00008 00009 This program is free software; you can redistribute it and/or modify 00010 it under the terms of the GNU General Public License as published by 00011 the Free Software Foundation; either version 2 of the License, or 00012 (at your option) any later version. 00013 00014 This program is distributed in the hope that it will be useful, 00015 but WITHOUT ANY WARRANTY; without even the implied warranty of 00016 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00017 GNU General Public License for more details. 00018 00019 You should have received a copy of the GNU General Public License 00020 along with this program; if not, write to the Free Software 00021 Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. 00022 00023 */ 00024 00025 #ifndef __jack_ice1712_h__ 00026 #define __jack_ice1712_h__ 00027 00028 #define ICE1712_SUBDEVICE_DELTA44 0x121433d6 00029 #define ICE1712_SUBDEVICE_DELTA66 0x121432d6 00030 #define ICE1712_SUBDEVICE_DELTA1010 0x121430d6 00031 #define ICE1712_SUBDEVICE_DELTADIO2496 0x121431d6 00032 #define ICE1712_SUBDEVICE_AUDIOPHILE 0x121434d6 00033 00034 #define SPDIF_PLAYBACK_ROUTE_NAME "IEC958 Playback Route" 00035 #define ANALOG_PLAYBACK_ROUTE_NAME "H/W Playback Route" 00036 #define MULTITRACK_PEAK_NAME "Multi Track Peak" 00037 00038 typedef struct 00039 { 00040 unsigned int subvendor; /* PCI[2c-2f] */ 00041 unsigned char size; /* size of EEPROM image in bytes */ 00042 unsigned char version; /* must be 1 */ 00043 unsigned char codec; /* codec configuration PCI[60] */ 00044 unsigned char aclink; /* ACLink configuration PCI[61] */ 00045 unsigned char i2sID; /* PCI[62] */ 00046 unsigned char spdif; /* S/PDIF configuration PCI[63] */ 00047 unsigned char gpiomask; /* GPIO initial mask, 0 = write, 1 = don't */ 00048 unsigned char gpiostate; /* GPIO initial state */ 00049 unsigned char gpiodir; /* GPIO direction state */ 00050 unsigned short ac97main; 00051 unsigned short ac97pcm; 00052 unsigned short ac97rec; 00053 unsigned char ac97recsrc; 00054 unsigned char dacID[4]; /* I2S IDs for DACs */ 00055 unsigned char adcID[4]; /* I2S IDs for ADCs */ 00056 unsigned char extra[4]; 00057 } 00058 ice1712_eeprom_t; 00059 00060 typedef struct 00061 { 00062 alsa_driver_t *driver; 00063 ice1712_eeprom_t *eeprom; 00064 unsigned long active_channels; 00065 } 00066 ice1712_t; 00067 00068 #ifdef __cplusplus 00069 extern "C" 00070 { 00071 #endif 00072 00073 jack_hardware_t *jack_alsa_ice1712_hw_new (alsa_driver_t *driver); 00074 00075 #ifdef __cplusplus 00076 } 00077 #endif 00078 00079 #endif /* __jack_ice1712_h__*/