1 /* SPDX-License-Identifier: GPL-2.0-or-later */
3 * Driver for Digigram pcxhr compatible soundcards
5 * low level interface with interrupt ans message handling
7 * Copyright (c) 2004 by Digigram <alsa@digigram.com>
10 #ifndef __SOUND_PCXHR_MIX22_H
11 #define __SOUND_PCXHR_MIX22_H
15 int hr222_sub_init(struct pcxhr_mgr
*mgr
);
16 int hr222_sub_set_clock(struct pcxhr_mgr
*mgr
, unsigned int rate
,
18 int hr222_get_external_clock(struct pcxhr_mgr
*mgr
,
19 enum pcxhr_clock_type clock_type
,
22 int hr222_read_gpio(struct pcxhr_mgr
*mgr
, int is_gpi
, int *value
);
23 int hr222_write_gpo(struct pcxhr_mgr
*mgr
, int value
);
24 int hr222_manage_timecode(struct pcxhr_mgr
*mgr
, int enable
);
26 #define HR222_LINE_PLAYBACK_LEVEL_MIN 0 /* -25.5 dB */
27 #define HR222_LINE_PLAYBACK_ZERO_LEVEL 51 /* 0.0 dB */
28 #define HR222_LINE_PLAYBACK_LEVEL_MAX 99 /* +24.0 dB */
30 #define HR222_LINE_CAPTURE_LEVEL_MIN 0 /* -111.5 dB */
31 #define HR222_LINE_CAPTURE_ZERO_LEVEL 223 /* 0.0 dB */
32 #define HR222_LINE_CAPTURE_LEVEL_MAX 255 /* +16 dB */
33 #define HR222_MICRO_CAPTURE_LEVEL_MIN 0 /* -98.5 dB */
34 #define HR222_MICRO_CAPTURE_LEVEL_MAX 210 /* +6.5 dB */
36 int hr222_update_analog_audio_level(struct snd_pcxhr
*chip
,
39 int hr222_set_audio_source(struct snd_pcxhr
*chip
);
40 int hr222_iec958_capture_byte(struct snd_pcxhr
*chip
, int aes_idx
,
41 unsigned char *aes_bits
);
42 int hr222_iec958_update_byte(struct snd_pcxhr
*chip
, int aes_idx
,
43 unsigned char aes_bits
);
45 int hr222_add_mic_controls(struct snd_pcxhr
*chip
);
47 #endif /* __SOUND_PCXHR_MIX22_H */