linux/include/sound/ad1843.h
<<
>>
Prefs
   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
  10#ifndef __SOUND_AD1843_H
  11#define __SOUND_AD1843_H
  12
  13struct snd_ad1843 {
  14        void *chip;
  15        int (*read)(void *chip, int reg);
  16        int (*write)(void *chip, int reg, int val);
  17};
  18
  19#define AD1843_GAIN_RECLEV 0
  20#define AD1843_GAIN_LINE   1
  21#define AD1843_GAIN_LINE_2 2
  22#define AD1843_GAIN_MIC    3
  23#define AD1843_GAIN_PCM_0  4
  24#define AD1843_GAIN_PCM_1  5
  25#define AD1843_GAIN_SIZE   (AD1843_GAIN_PCM_1+1)
  26
  27int ad1843_get_gain_max(struct snd_ad1843 *ad1843, int id);
  28int ad1843_get_gain(struct snd_ad1843 *ad1843, int id);
  29int ad1843_set_gain(struct snd_ad1843 *ad1843, int id, int newval);
  30int ad1843_get_recsrc(struct snd_ad1843 *ad1843);
  31int ad1843_set_recsrc(struct snd_ad1843 *ad1843, int newsrc);
  32void ad1843_setup_dac(struct snd_ad1843 *ad1843,
  33                      unsigned int id,
  34                      unsigned int framerate,
  35                      snd_pcm_format_t fmt,
  36                      unsigned int channels);
  37void ad1843_shutdown_dac(struct snd_ad1843 *ad1843,
  38                         unsigned int id);
  39void ad1843_setup_adc(struct snd_ad1843 *ad1843,
  40                      unsigned int framerate,
  41                      snd_pcm_format_t fmt,
  42                      unsigned int channels);
  43void ad1843_shutdown_adc(struct snd_ad1843 *ad1843);
  44int ad1843_init(struct snd_ad1843 *ad1843);
  45
  46#endif /* __SOUND_AD1843_H */
  47