/*1* Driver for Digigram pcxhr compatible soundcards2*3* low level interface with interrupt ans message handling4*5* Copyright (c) 2004 by Digigram <[email protected]>6*7* This program is free software; you can redistribute it and/or modify8* it under the terms of the GNU General Public License as published by9* the Free Software Foundation; either version 2 of the License, or10* (at your option) any later version.11*12* This program is distributed in the hope that it will be useful,13* but WITHOUT ANY WARRANTY; without even the implied warranty of14* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the15* GNU General Public License for more details.16*17* You should have received a copy of the GNU General Public License18* along with this program; if not, write to the Free Software19* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA20*/2122#ifndef __SOUND_PCXHR_MIX22_H23#define __SOUND_PCXHR_MIX22_H2425struct pcxhr_mgr;2627int hr222_sub_init(struct pcxhr_mgr *mgr);28int hr222_sub_set_clock(struct pcxhr_mgr *mgr, unsigned int rate,29int *changed);30int hr222_get_external_clock(struct pcxhr_mgr *mgr,31enum pcxhr_clock_type clock_type,32int *sample_rate);3334int hr222_read_gpio(struct pcxhr_mgr *mgr, int is_gpi, int *value);35int hr222_write_gpo(struct pcxhr_mgr *mgr, int value);3637#define HR222_LINE_PLAYBACK_LEVEL_MIN 0 /* -25.5 dB */38#define HR222_LINE_PLAYBACK_ZERO_LEVEL 51 /* 0.0 dB */39#define HR222_LINE_PLAYBACK_LEVEL_MAX 99 /* +24.0 dB */4041#define HR222_LINE_CAPTURE_LEVEL_MIN 0 /* -111.5 dB */42#define HR222_LINE_CAPTURE_ZERO_LEVEL 223 /* 0.0 dB */43#define HR222_LINE_CAPTURE_LEVEL_MAX 255 /* +16 dB */44#define HR222_MICRO_CAPTURE_LEVEL_MIN 0 /* -98.5 dB */45#define HR222_MICRO_CAPTURE_LEVEL_MAX 210 /* +6.5 dB */4647int hr222_update_analog_audio_level(struct snd_pcxhr *chip,48int is_capture,49int channel);50int hr222_set_audio_source(struct snd_pcxhr *chip);51int hr222_iec958_capture_byte(struct snd_pcxhr *chip, int aes_idx,52unsigned char *aes_bits);53int hr222_iec958_update_byte(struct snd_pcxhr *chip, int aes_idx,54unsigned char aes_bits);5556int hr222_add_mic_controls(struct snd_pcxhr *chip);5758#endif /* __SOUND_PCXHR_MIX22_H */596061