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