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