jack2 codebase
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

76 lines
2.6KB

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