ad1843.h 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. /*
  2. * This file is subject to the terms and conditions of the GNU General Public
  3. * License. See the file "COPYING" in the main directory of this archive
  4. * for more details.
  5. *
  6. * Copyright 2003 Vivien Chappelier <vivien.chappelier@linux-mips.org>
  7. * Copyright 2008 Thomas Bogendoerfer <tsbogend@franken.de>
  8. */
  9. #ifndef __SOUND_AD1843_H
  10. #define __SOUND_AD1843_H
  11. struct snd_ad1843 {
  12. void *chip;
  13. int (*read)(void *chip, int reg);
  14. int (*write)(void *chip, int reg, int val);
  15. };
  16. #define AD1843_GAIN_RECLEV 0
  17. #define AD1843_GAIN_LINE 1
  18. #define AD1843_GAIN_LINE_2 2
  19. #define AD1843_GAIN_MIC 3
  20. #define AD1843_GAIN_PCM_0 4
  21. #define AD1843_GAIN_PCM_1 5
  22. #define AD1843_GAIN_SIZE (AD1843_GAIN_PCM_1+1)
  23. int ad1843_get_gain_max(struct snd_ad1843 *ad1843, int id);
  24. int ad1843_get_gain(struct snd_ad1843 *ad1843, int id);
  25. int ad1843_set_gain(struct snd_ad1843 *ad1843, int id, int newval);
  26. int ad1843_get_recsrc(struct snd_ad1843 *ad1843);
  27. int ad1843_set_recsrc(struct snd_ad1843 *ad1843, int newsrc);
  28. void ad1843_setup_dac(struct snd_ad1843 *ad1843,
  29. unsigned int id,
  30. unsigned int framerate,
  31. snd_pcm_format_t fmt,
  32. unsigned int channels);
  33. void ad1843_shutdown_dac(struct snd_ad1843 *ad1843,
  34. unsigned int id);
  35. void ad1843_setup_adc(struct snd_ad1843 *ad1843,
  36. unsigned int framerate,
  37. snd_pcm_format_t fmt,
  38. unsigned int channels);
  39. void ad1843_shutdown_adc(struct snd_ad1843 *ad1843);
  40. int ad1843_init(struct snd_ad1843 *ad1843);
  41. #endif /* __SOUND_AD1843_H */