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