ice1712.h

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         unsigned int subvendor; /* PCI[2c-2f] */
00040         unsigned char size;     /* size of EEPROM image in bytes */
00041         unsigned char version;  /* must be 1 */
00042         unsigned char codec;    /* codec configuration PCI[60] */
00043         unsigned char aclink;   /* ACLink configuration PCI[61] */
00044         unsigned char i2sID;    /* PCI[62] */
00045         unsigned char spdif;    /* S/PDIF configuration PCI[63] */
00046         unsigned char gpiomask; /* GPIO initial mask, 0 = write, 1 = don't */
00047         unsigned char gpiostate; /* GPIO initial state */
00048         unsigned char gpiodir;  /* GPIO direction state */
00049         unsigned short ac97main;
00050         unsigned short ac97pcm;
00051         unsigned short ac97rec;
00052         unsigned char ac97recsrc;
00053         unsigned char dacID[4]; /* I2S IDs for DACs */
00054         unsigned char adcID[4]; /* I2S IDs for ADCs */
00055         unsigned char extra[4];
00056 } ice1712_eeprom_t;
00057 
00058 typedef struct {
00059         alsa_driver_t *driver;
00060         ice1712_eeprom_t *eeprom;
00061         unsigned long active_channels;
00062 } ice1712_t;
00063 
00064 #ifdef __cplusplus
00065 extern "C"
00066 {
00067 #endif
00068 
00069     jack_hardware_t *jack_alsa_ice1712_hw_new (alsa_driver_t *driver);
00070 
00071 #ifdef __cplusplus
00072 }
00073 #endif
00074 
00075 #endif /* __jack_ice1712_h__*/

Generated on Thu Feb 14 11:16:01 2008 for Jackdmp by  doxygen 1.5.1