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