| 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 | 
 | 
|---|
| 13 | struct 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 | 
 | 
|---|
| 27 | int ad1843_get_gain_max(struct snd_ad1843 *ad1843, int id);
 | 
|---|
| 28 | int ad1843_get_gain(struct snd_ad1843 *ad1843, int id);
 | 
|---|
| 29 | int ad1843_set_gain(struct snd_ad1843 *ad1843, int id, int newval);
 | 
|---|
| 30 | int ad1843_get_recsrc(struct snd_ad1843 *ad1843);
 | 
|---|
| 31 | int ad1843_set_recsrc(struct snd_ad1843 *ad1843, int newsrc);
 | 
|---|
| 32 | void 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);
 | 
|---|
| 37 | void ad1843_shutdown_dac(struct snd_ad1843 *ad1843,
 | 
|---|
| 38 |                          unsigned int id);
 | 
|---|
| 39 | void ad1843_setup_adc(struct snd_ad1843 *ad1843,
 | 
|---|
| 40 |                       unsigned int framerate,
 | 
|---|
| 41 |                       snd_pcm_format_t fmt,
 | 
|---|
| 42 |                       unsigned int channels);
 | 
|---|
| 43 | void ad1843_shutdown_adc(struct snd_ad1843 *ad1843);
 | 
|---|
| 44 | int ad1843_init(struct snd_ad1843 *ad1843);
 | 
|---|
| 45 | 
 | 
|---|
| 46 | #endif /* __SOUND_AD1843_H */
 | 
|---|