xref: /minix/minix/drivers/audio/cmi8738/mixer.h (revision 77e79d33)
1 #ifndef _MIXER_H
2 #define _MIXER_H
3 
4 #include "cmi8738.h"
5 
6 #ifdef MIXER_AK4531
7 #define MASTER_VOLUME_LCH	0x00
8 #define MASTER_VOLUME_RCH	0x01
9 #define FM_VOLUME_LCH		0x04
10 #define FM_VOLUME_RCH		0x05
11 #define CD_AUDIO_VOLUME_LCH	0x06
12 #define CD_AUDIO_VOLUME_RCH	0x07
13 #define LINE_VOLUME_LCH		0x08
14 #define LINE_VOLUME_RCH		0x09
15 #define MIC_VOLUME			0x0e
16 #define MONO_OUT_VOLUME		0x0f
17 #endif
18 
19 #ifdef MIXER_SB16
20 #define SB16_MASTER_LEFT	0x30
21 #define SB16_MASTER_RIGHT	0x31
22 #define SB16_DAC_LEFT		0x32
23 #define SB16_DAC_RIGHT		0x33
24 #define SB16_FM_LEFT		0x34
25 #define SB16_FM_RIGHT		0x35
26 #define SB16_CD_LEFT		0x36
27 #define SB16_CD_RIGHT		0x37
28 #define SB16_LINE_LEFT		0x38
29 #define SB16_LINE_RIGHT		0x39
30 #define SB16_MIC_LEVEL		0x3a
31 #define SB16_PC_LEVEL		0x3b
32 #define SB16_TREBLE_LEFT	0x44
33 #define SB16_TREBLE_RIGHT	0x45
34 #define SB16_BASS_LEFT		0x46
35 #define SB16_BASS_RIGHT		0x47
36 #endif
37 
38 #ifdef MIXER_AC97
39 #define AC97_MASTER_VOLUME			0x02
40 #define AC97_AUX_OUT_VOLUME			0x04
41 #define AC97_MONO_VOLUME			0x06
42 #define AC97_MASTER_TONE			0x08
43 #define AC97_PC_BEEP_VOLUME			0x0a
44 #define AC97_PHONE_VOLUME			0x0c
45 #define AC97_MIC_VOLUME				0x0e
46 #define AC97_LINE_IN_VOLUME			0x10
47 #define AC97_CD_VOLUME				0x12
48 #define AC97_VIDEO_VOLUME			0x14
49 #define AC97_AUX_IN_VOLUME			0x16
50 #define AC97_PCM_OUT_VOLUME			0x18
51 #define AC97_RECORD_GAIN_VOLUME		0x1c
52 #define AC97_RECORD_GAIN_MIC_VOL	0x1e
53 #define AC97_GENERAL_PURPOSE	0x20
54 #define AC97_POWERDOWN			0x26
55 #define AC97_RECORD_SELECT		0x1a
56 #define AC97_RESET				0x00
57 #endif
58 
59 int get_set_volume(u32_t *pbase, struct volume_level *level, int flag);
60 void dev_set_default_volume(u32_t *pbase);
61 
62 #endif
63