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.

80 lines
2.5KB

  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. {
  30. unsigned int subvendor; /* PCI[2c-2f] */
  31. unsigned char size; /* size of EEPROM image in bytes */
  32. unsigned char version; /* must be 1 */
  33. unsigned char codec; /* codec configuration PCI[60] */
  34. unsigned char aclink; /* ACLink configuration PCI[61] */
  35. unsigned char i2sID; /* PCI[62] */
  36. unsigned char spdif; /* S/PDIF configuration PCI[63] */
  37. unsigned char gpiomask; /* GPIO initial mask, 0 = write, 1 = don't */
  38. unsigned char gpiostate; /* GPIO initial state */
  39. unsigned char gpiodir; /* GPIO direction state */
  40. unsigned short ac97main;
  41. unsigned short ac97pcm;
  42. unsigned short ac97rec;
  43. unsigned char ac97recsrc;
  44. unsigned char dacID[4]; /* I2S IDs for DACs */
  45. unsigned char adcID[4]; /* I2S IDs for ADCs */
  46. unsigned char extra[4];
  47. }
  48. ice1712_eeprom_t;
  49. typedef struct
  50. {
  51. alsa_driver_t *driver;
  52. ice1712_eeprom_t *eeprom;
  53. unsigned long active_channels;
  54. }
  55. ice1712_t;
  56. #ifdef __cplusplus
  57. extern "C"
  58. {
  59. #endif
  60. jack_hardware_t *jack_alsa_ice1712_hw_new (alsa_driver_t *driver);
  61. #ifdef __cplusplus
  62. }
  63. #endif
  64. #endif /* __jack_ice1712_h__*/