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