ad1843.h (1516B)
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 */