📄 wm97audiodefs.h
字号:
#define WM97_PCBEEP_B2H_VOL_MASK WM97_INPUT_I2H_VOL_MASK
#define WM97_PCBEEP_B2H_MUTE_MASK WM97_INPUT_I2H_MUTE_MASK
#define WM97_PCBEEP_MUTE_MASK WM97_INPUT_MULTIPLE_MUTE_MASK
#define WM97_PCBEEP_MUTE WM97_PCBEEP_MUTE_MASK
/* Defines for AUXDAC input*/
#define WM97_AUXDAC_A2M_VOL_MASK WM97_INPUT_I2M_VOL_MASK
#define WM97_AUXDAC_A2M_MUTE_MASK WM97_INPUT_I2M_MUTE_MASK
#define WM97_AUXDAC_A2S_VOL_MASK WM97_INPUT_I2S_VOL_MASK
#define WM97_AUXDAC_A2S_MUTE_MASK WM97_INPUT_I2S_MUTE_MASK
#define WM97_AUXDAC_A2H_VOL_MASK WM97_INPUT_I2H_VOL_MASK
#define WM97_AUXDAC_A2H_MUTE_MASK WM97_INPUT_I2H_MUTE_MASK
#define WM97_AUXDAC_MUTE_MASK WM97_INPUT_MULTIPLE_MUTE_MASK
#define WM97_AUXDAC_MUTE WM97_AUXDAC_MUTE_MASK
/* Defines for VXDAC input*/
#define WM97_VXDAC_V2M_VOL_MASK WM97_INPUT_I2M_VOL_MASK
#define WM97_VXDAC_V2M_MUTE_MASK WM97_INPUT_I2M_MUTE_MASK
#define WM97_VXDAC_V2S_VOL_MASK WM97_INPUT_I2S_VOL_MASK
#define WM97_VXDAC_V2S_MUTE_MASK WM97_INPUT_I2S_MUTE_MASK
#define WM97_VXDAC_V2H_VOL_MASK WM97_INPUT_I2H_VOL_MASK
#define WM97_VXDAC_V2H_MUTE_MASK WM97_INPUT_I2H_MUTE_MASK
#define WM97_VXDAC_MUTE_MASK WM97_INPUT_MULTIPLE_MUTE_MASK
#define WM97_VXDAC_MUTE WM97_VXDAC_MUTE_MASK
/* Defines for WM9712 WM97_PHONE_VOLUME 0x0C register */
#define WM9712_PHONE_P2S_MUTE_MASK 0x4000
#define WM9712_PHONE_P2H_MUTE_MASK 0x8000
#define WM9712_PHONE_MUTE_MASK ( WM9712_PHONE_P2S_MUTE_MASK | WM9712_PHONE_P2H_MUTE_MASK )
#define WM9712_PHONE_MUTE WM9712_PHONE_MUTE_MASK
/* Defines for MIC_VOLUME 0x0E register */
#define WM97_MIC_20dB_BOOST 0x0040
/* Define for WM97_GENERAL 0x20 register */
#define WM97_MIC_SEL_MASK 0x0100
#define WM97_MIC_SEL_MIC1 0x0000
#define WM97_MIC_SEL_MIC2 0x0100
/* Defines for WM9712 MIC_VOLUME 0x0E register */
#define WM9712_MIC_MUTE_M12P 0x4000
#define WM9712_MIC_MUTE_M22P 0x2000
#define WM9712_MIC1_MUTE WM9712_MIC_MUTE_M12P
#define WM9712_MIC2_MUTE WM9712_MIC_MUTE_M22P
#define WM9712_MIC_MUTE ( WM9712_MIC1_MUTE | WM9712_MIC2_MUTE )
#define WM9712_MIC_TO_PHONE_20dB_BOOST 0x0080
#define WM9712_MIC_SEL_MASK 0x0060
#define WM9712_MIC_SEL_MIC1 0x0000
#define WM9712_MIC_SEL_MIC2 0x0040
#define WM9712_MIC_SEL_DIFF 0x0020
#define WM9712_MIC_SEL_STEREO 0x0060
/* Defines for WM9713 MIC_ROUTING 0x10 register */
#define WM9713_MIC2A_MUTE (0x1U<<7)
#define WM9713_MIC2B_MUTE (0x1U<<6)
#define WM9713_MIC_MUTE ( WM9713_MIC2A_MUTE | WM9713_MIC2B_MUTE )
#define WM9713_MIC2M_BOOST (0x1U<<5)
#define WM9713_MIC2H_NO_MICA (0x1U<<4)
#define WM9713_MIC2H_NO_MICB (0x1U<<3)
#define WM9713_MIC2H_VOL_MASK 0x07
#define WM9713_MIC2H_0DB_VOL 0x02
/* Defines for WM9713 REC_ROUTING 0x14 register */
#define WM9713_REC_20DB_BOOST 0x0040
/* Defines for WM9713 MIC_SELECT 0x22 register */
#define WM9713_MIC_SEL_MCDSCTHR_MASK 0x0003
#define WM9713_MIC_SEL_MCDSCTHR_600UA 0x0000
#define WM9713_MIC_SEL_MCDSCTHR_1200UA 0x0001
#define WM9713_MIC_SEL_MCDSCTHR_1800UA 0x0002
#define WM9713_MIC_SEL_MCDSCTHR_2400UA 0x0003
#define WM9713_MIC_SEL_MCDTHR_MASK 0x001C
#define WM9713_MIC_SEL_MCDTHR_100UA 0x0000
#define WM9713_MIC_SEL_MCDTHR_200UA 0x0004
#define WM9713_MIC_SEL_MCDTHR_300UA 0x0008
#define WM9713_MIC_SEL_MCDTHR_400UA 0x000C
#define WM9713_MIC_SEL_MCDTHR_500UA 0x0010
#define WM9713_MIC_SEL_MCDTHR_600UA 0x0014
#define WM9713_MIC_SEL_MCDTHR_700UA 0x0018
#define WM9713_MIC_SEL_MCDTHR_800UA 0x001C
#define WM9713_MIC_SEL_MBVOL 0x0020
#define WM9713_MIC_SEL_MBOP1EN 0x0040
#define WM9713_MIC_SEL_MBOP2EN 0x0080
#define WM9713_MIC_SEL_MPBBST_MASK 0x0300
#define WM9713_MIC_SEL_MPBBST_12DB 0x0000
#define WM9713_MIC_SEL_MPBBST_18DB 0x0100
#define WM9713_MIC_SEL_MPBBST_24DB 0x0200
#define WM9713_MIC_SEL_MPBBST_30DB 0x0300
#define WM9713_MIC_SEL_MPABST_MASK 0x0C00
#define WM9713_MIC_SEL_MPABST_12DB 0x0000
#define WM9713_MIC_SEL_MPABST_18DB 0x0400
#define WM9713_MIC_SEL_MPABST_24DB 0x0800
#define WM9713_MIC_SEL_MPABST_30DB 0x0C00
#define WM9713_MIC_SEL_MPASEL_MASK 0x3000
#define WM9713_MIC_SEL_MPASEL_MIC1 0x0000
#define WM9713_MIC_SEL_MPASEL_MIC2A 0x1000
#define WM9713_MIC_SEL_MPASEL_MIC2B 0x2000
#define WM9713_MIC_SEL_MICCMPSEL_MASK 0xC000
#define WM9713_MIC_SEL_MICCMPSEL_MIC2AB 0x0000
#define WM9713_MIC_SEL_MICCMPSEL_MIC2A 0x4000
#define WM9713_MIC_SEL_MICCMPSEL_MIC2B 0x8000
#define WM9713_MIC_SEL_MICCMPSEL_NONE 0xC000
/* Defines for LINEIN register */
#define WM97_LINEIN_L2P_MUTE_MASK 0x2000
#define WM97_LINEIN_L2P_MUTE WM97_LINEIN_L2P_MUTE_MASK
#define WM97_LINEIN_L2M_MUTE_MASK WM97_LINEIN_L2P_MUTE_MASK
#define WM97_LINEIN_L2M_MUTE WM97_LINEIN_L2P_MUTE_MASK
#define WM97_LINEIN_L2S_MUTE_MASK 0x4000
#define WM97_LINEIN_L2S_MUTE WM97_LINEIN_L2S_MUTE_MASK
#define WM97_LINEIN_L2H_MUTE_MASK 0x8000
#define WM97_LINEIN_L2H_MUTE WM97_LINEIN_L2H_MUTE_MASK
#define WM97_LINEIN_MUTE_MASK ( WM97_LINEIN_L2P_MUTE_MASK | \
WM97_LINEIN_L2S_MUTE_MASK | \
WM97_LINEIN_L2H_MUTE_MASK )
#define WM97_LINEIN_MUTE WM97_LINEIN_MUTE_MASK
/* Defines for stereo DAC registers */
#define WM97_DAC_MUTE_HEADPHONE_MASK 0x8000
#define WM97_DAC_MUTE_SPEAKER_MASK 0x4000
#define WM97_DAC_MUTE_PHONE_MASK 0x2000
#define WM97_DAC_MUTE_MONO_MASK 0x2000
#define WM97_DAC_MUTE_MASK ( WM97_DAC_MUTE_HEADPHONE_MASK | \
WM97_DAC_MUTE_SPEAKER_MASK | \
WM97_DAC_MUTE_PHONE_MASK )
#define WM97_DAC_MUTE WM97_DAC_MUTE_MASK
/* Defines for MONOIN */
#define WM9713_MONOIN_M2S_MUTE_MASK 0x4000
#define WM9713_MONOIN_M2H_MUTE_MASK 0x8000
#define WM9713_MONOIN_MUTE_MASK ( WM9713_MONOIN_M2S_MUTE_MASK | WM9713_MONOIN_M2H_MUTE_MASK )
#define WM9713_MONOIN_MUTE WM9713_MONOIN_MUTE_MASK
/*
* Defines for AUXDAC_VOLUME register (0x12 on WM9712)
*/
#define WM97_AUXDAC_ENABLE 0x0001
#define WM97_AUX_MUTE_HEADPHONE WM97_INPUT_I2H_MUTE_MASK
#define WM97_AUX_HEADPHONE_VOL_MASK WM97_INPUT_I2H_VOL_MASK
#define WM97_AUX_HEADPHONE_VOL( _v ) ( ((_v) << WM97_INPUT_I2H_SHIFT) & WM97_AUX_HEADPHONE_VOL_MASK )
#define WM97_AUX_MUTE_SPEAKER WM97_INPUT_I2S_MUTE_MASK
#define WM97_AUX_SPEAKER_VOL_MASK WM97_INPUT_I2S_VOL_MASK
#define WM97_AUX_SPEAKER_VOL( _v ) ( ((_v) << WM97_INPUT_I2S_SHIFT) & WM97_AUX_SPEAKER_VOL_MASK )
#define WM97_AUX_MUTE_PHONE WM97_INPUT_I2P_MUTE_MASK
#define WM97_AUX_PHONE_VOL_MASK WM97_INPUT_I2P_VOL_MASK
#define WM97_AUX_PHONE_VOL( _v ) ( ((_v) << WM97_INPUT_I2P_SHIFT) & WM97_AUX_PHONE_VOL_MASK )
#define WM97_AUX_MUTE ( WM97_AUX_MUTE_HEADPHONE | WM97_AUX_MUTE_SPEAKER | WM97_AUX_MUTE_PHONE )
/*
* Defines for VXDAC_VOLUME register (0x18 on WM9713)
*/
#define WM97_VXDAC_MUTE_HEADPHONE WM97_INPUT_I2H_MUTE_MASK
#define WM97_VXDAC_HEADPHONE_VOL_MASK WM97_INPUT_I2H_VOL_MASK
#define WM97_VXDAC_HEADPHONE_VOL( _v ) ( ((_v) << WM97_INPUT_I2H_SHIFT) & WM97_VXDAC_HEADPHONE_VOL_MASK )
#define WM97_VXDAC_MUTE_SPEAKER WM97_INPUT_I2S_MUTE_MASK
#define WM97_VXDAC_SPEAKER_VOL_MASK WM97_INPUT_I2S_VOL_MASK
#define WM97_VXDAC_SPEAKER_VOL( _v ) ( (( _v) << WM97_INPUT_I2S_SHIFT) & WM97_VXDAC_SPEAKER_VOL_MASK )
#define WM97_VXDAC_MUTE_MONO WM97_INPUT_I2M_MUTE_MASK
#define WM97_VXDAC_MONO_VOL_MASK WM97_INPUT_I2M_VOL_MASK
#define WM97_VXDAC_MONO_VOL( _v ) ( ((_v) << WM97_INPUT_I2M_SHIFT) & WM97_VXDAC_MONO_VOL_MASK )
/*
* Defines for AUXDAC_INPUT_CONTROL register (0x64 on WM9712)
*/
#define WM97_AUXDAC_INPUT_SEL_MASK 0x8000
#define WM97_AUXDAC_FROM_SLOT 0x8000 /* 1 << 15 */
#define WM97_AUXDAC_FROM_REG 0x0000 /* 0 << 15 */
#define WM97_AUXDAC_SLOT_MASK 0x7000 /* 000 << 12 */
#define WM97_AUXDAC_SLOT_5 0x0000 /* 000 << 12 */
#define WM97_AUXDAC_SLOT_6 0x1000 /* 001 << 12 */
#define WM97_AUXDAC_SLOT_7 0x2000 /* 010 << 12 */
#define WM97_AUXDAC_SLOT_8 0x3000 /* 011 << 12 */
#define WM97_AUXDAC_SLOT_9 0x4000 /* 100 << 12 */
#define WM97_AUXDAC_SLOT_10 0x5000 /* 101 << 12 */
#define WM97_AUXDAC_SLOT_11 0x6000 /* 110 << 12 */
#define WM97_AUXDAC_DC_VAL_MASK 0x0FFF
/* Defines for WM9712 OUT3 Volume 0x16 register */
#define WM9712_OUT3_SRC 0x0100
/* Defines for WM9713 Output PGA Mux Select 0x1C register */
#define WM9713_OUT4_PGA_MASK 0x0003
#define WM9713_OUT4_PGA_VMID 0x0000
#define WM9713_OUT4_PGA_NO_IP 0x0001
#define WM9713_OUT4_PGA_INV2 0x0002
#define WM9713_OUT3_PGA_MASK 0x000C
#define WM9713_OUT3_PGA_VMID 0x0000
#define WM9713_OUT3_PGA_NO_IP 0x0004
#define WM9713_OUT3_PGA_INV2 0x0008
#define WM9713_HPR_PGA_MASK 0x0030
#define WM9713_HPR_PGA_VMID 0x0000
#define WM9713_HPR_PGA_NO_IP 0x0010
#define WM9713_HPR_PGA_HPMIX 0x0020
#define WM9713_HPL_PGA_MASK 0x00C0
#define WM9713_HPL_PGA_VMID 0x0000
#define WM9713_HPL_PGA_NO_IP 0x0040
#define WM9713_HPL_PGA_HPMIX 0x0080
#define WM9713_SPKR_PGA_MASK 0x0700
#define WM9713_SPKR_PGA_VMID 0x0000
#define WM9713_SPKR_PGA_NO_IP 0x0100
#define WM9713_SPKR_PGA_HPMIX 0x0200
#define WM9713_SPKR_PGA_SPKMIX 0x0300
#define WM9713_SPKR_PGA_INV2 0x0400
#define WM9713_SPKL_PGA_MASK 0x3800
#define WM9713_SPKL_PGA_VMID 0x0000
#define WM9713_SPKL_PGA_NO_IP 0x0800
#define WM9713_SPKL_PGA_HPMIX 0x1000
#define WM9713_SPKL_PGA_SPKMIX 0x1800
#define WM9713_SPKR_PGA_INV1 0x2000
#define WM9713_MONO_PGA_MASK 0xC000
#define WM9713_MONO_PGA_VMID 0x0000
#define WM9713_MONO_PGA_NO_IP 0x4000
#define WM9713_MONO_PGA_MONOMIX 0x8000
#define WM9713_MONO_PGA_INV1 0xC000
/*
* Recommended ALC register settings for Voice and Music,
* see Applicarion Note: WAN 140
*/
/* ALC Control 0x60 */
#define WM97_ALC_ALCL_VOICE (0xBU<<12)
#define WM97_ALC_ALCL_MUSIC (0xFU<<12)
#define WM97_ALC_ALCL_MASK (0xFU<<12)
#define WM97_ALC_HLD_VOICE (0x0U<<8)
#define WM97_ALC_HLD_MUSIC (0x8U<<8)
#define WM97_ALC_HLD_MASK (0xFU<<8)
#define WM97_ALC_DCY_VOICE (0x3U<<4)
#define WM97_ALC_DCY_MUSIC (0x8U<<4)
#define WM97_ALC_DCY_MASK (0xFU<<4)
#define WM97_ALC_ATK_VOICE (0x2U)
#define WM97_ALC_ATK_MUSIC (0x2U)
#define WM97_ALC_ATK_MASK (0xFU)
#define WM97_ALC_CTRL_VOICE ( WM97_ALC_ALCL_VOICE || \
WM97_ALC_HLD_VOICE || \
WM97_ALC_DCY_VOICE || \
WM97_ALC_ATK_VOICE )
#define WM97_ALC_CTRL_MUSIC ( WM97_ALC_ALCL_MUSIC || \
WM97_ALC_HLD_MISIC || \
WM97_ALC_DCY_MUSIC || \
WM97_ALC_ATK_MUSIC )
/* ALC / Noise Gate Control 0x62 */
#define WM97_ALC_ALCSEL_OFF (0x0U<<14)
#define WM97_ALC_ALCSEL_RIGHT (0x1U<<14)
#define WM97_ALC_ALCSEL_LEFT (0x2U<<14)
#define WM97_ALC_ALCSEL_STEREO (0x3U<<14)
#define WM97_ALC_ALCSEL_MASK (0x3U<<14)
#define WM97_ALC_MAXGAIN_VOICE (0x7U<<11)
#define WM97_ALC_MAXGAIN_MUSIC (0x7U<<11)
#define WM97_ALC_MAXGAIN_MASK (0x7U<<11)
#define WM97_ALC_ALCZC_TIMEOUT_MUSIC (0x3U<<9)
#define WM97_ALC_ALCZC_TIMEOUT_MASK (0x3U<<9)
#define WM97_ALC_ALCZC_VOICE (0x0U<<8)
#define WM97_ALC_ALCZC_MUSIC (0x1U<<8)
#define WM97_ALC_ALCZC_MASK (0x1U<<8)
#define WM97_ALC_NGAT_VOICE (0x1U<<7)
#define WM97_ALC_NGAT_MUSIC (0x1U<<7)
#define WM97_ALC_NGAT_MASK (0x1U<<7)
#define WM97_ALC_NGG_VOICE (0x1U<<5)
#define WM97_ALC_NGG_MUSIC (0x1U<<5)
#define WM97_ALC_NGG_MASK (0x1U<<5)
#define WM97_ALC_NGTH_VOICE (0x0U)
#define WM97_ALC_NGTH_MUSIC (0x0U)
#define WM97_ALC_NGTH_MASK (0x1FU)
#define WM97_ALC_NOISE_GATE_VOICE ( WM97_ALC_MAXGAIN_VOICE || \
WM97_ALC_ALCZC_VOICE || \
WM97_ALC_NGAT_VOICE || \
WM97_ALC_NGG_VOICE || \
WM97_ALC_NGTH_VOICE )
#define WM97_ALC_NOISE_GATE_MUSIC ( WM97_ALC_MAXGAIN_MUSIC || \
WM97_ALC_ALCZC_TIMEOUT_MUSIC || \
WM97_ALC_ALCZC_MUSIC || \
WM97_ALC_ALCZC_MUSIC || \
WM97_ALC_NGAT_MUSIC || \
WM97_ALC_NGG_MUSIC || \
WM97_ALC_NGTH_MUSIC )
#define WM97_ALC_NOISE_GATE_MASK ( WM97_ALC_MAXGAIN_MASK || \
WM97_ALC_ALCZC_TIMEOUT_MASK || \
WM97_ALC_ALCZC_MASK || \
WM97_ALC_NGAT_MASK || \
WM97_ALC_NGG_MASK || \
WM97_ALC_NGTH_MASK )
#endif /* __WM97AUDIODEFS_H__ */
/*------------------------------ END OF FILE ---------------------------------*/
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -