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