📄 ac97.h
字号:
/**************************************************************************************************
*
* Copyright (c) 2004 - 2007 Winbond Electronics Corp. All rights reserved.
*
* FILENAME
* AC97.h
*
* VERSION
* 1.0
*
* DESCRIPTION
* This file contains the register map of AC97 audio codec
*
* HISTORY
* 02/09/2004 Ver 1.0 Created by PC30 YCHuang
*
* REMARK
* None
*
*************************************************************************************************/
#ifndef _AC97_H_
#define _AC97_H_
#define AC97_RESET 0x00
#define AC97_MASTER_VOLUME 0x02
#define AC97_AUX_OUT_VOLUME 0x04
#define AC97_MONO_VOLUME 0x06
#define AC97_MASTER_TONE 0x08
#define AC97_PC_BEEP_VOLUME 0x0A
#define AC97_PHONE_VOLUME 0x0C
#define AC97_MIC_VOLUME 0x0E
#define AC97_LINE_IN_VOLUME 0x10
#define AC97_CD_VOLUME 0x12
#define AC97_VIDEO_VOLUME 0x14
#define AC97_AUX_IN_VOLUME 0x16
#define AC97_PCM_OUT_VOLUME 0x18
#define AC97_RECORD_SELECT 0x1A
#define AC97_RECORD_GAIN 0x1C
#define AC97_RECORD_GAIN_MIC 0x1E
#define AC97_GENERAL_PURPOSE 0x20
#define AC97_3D_CONTROL 0x22
#define AC97_AUDIO_INT_PAGING 0x24
#define AC97_POWERDOWN_CTRL 0x26
#define AC97_EXT_AUDIO_ID 0x28
#define AC97_EXT_AUDIO_CTRL 0x2A
#define AC97_FRONT_DAC_RATE 0x2C
#define AC97_LR_ADC_RATE 0x32
#define AC97_MIC_ADC_RATE 0x34
/* bit definition of REG_ACTL_CON register */
#define AUDCLK_EN 0x8000
#define PFIFO_EN 0x4000
#define RFIFO_EN 0x2000
#define R_DMA_IRQ 0x1000
#define T_DMA_IRQ 0x0800
#define IIS_AC_PIN_SEL 0x0100
#define FIFO_TH 0x0080
#define DMA_EN 0x0040
#define DAC_EN 0x0020
#define ADC_EN 0x0010
#define M80_EN 0x0008
#define ACLINK_EN 0x0004
#define IIS_EN 0x0002
#define AUDIO_EN 0x0001
/* bit definition of REG_ACTL_RESET register */
#define W5691_PLAY 0x20000
#define ACTL_RESET_BIT 0x10000
#define RECORD_RIGHT_CHNNEL 0x8000
#define RECORD_LEFT_CHNNEL 0x4000
#define PLAY_RIGHT_CHNNEL 0x2000
#define PLAY_LEFT_CHNNEL 0x1000
#define DAC_PLAY 0x0800
#define ADC_RECORD 0x0400
#define M80_PLAY 0x0200
#define AC_RECORD 0x0100
#define AC_PLAY 0x0080
#define IIS_RECORD 0x0040
#define IIS_PLAY 0x0020
#define DAC_RESET 0x0010
#define ADC_RESET 0x0008
#define M80_RESET 0x0004
#define AC_RESET 0x0002
#define IIS_RESET 0x0001
/* bit definition of REG_ACTL_ACCON register */
#define AC_BCLK_PU_EN 0x20
#define AC_R_FINISH 0x10
#define AC_W_FINISH 0x08
#define AC_W_RES 0x04
#define AC_C_RES 0x02
/* bit definition of REG_ACTL_RSR register */
#define R_FIFO_EMPTY 0x04
#define R_DMA_END_IRQ 0x02
#define R_DMA_MIDDLE_IRQ 0x01
/* bit definition of REG_ACTL_PSR register */
#define P_FIFO_EMPTY 0x04
#define P_DMA_END_IRQ 0x02
#define P_DMA_MIDDLE_IRQ 0x01
/* bit definition of REG_ACTL_M80CON register */
#define X86_PCM_TRANS 0x10000
#define BITS16 0x400
#define MA3_W5691 0x200
#define W_IF13_ACT 0x100
#define BUSY 0x80
#define R_IF11_ACT 0x40
#define R_IF10_ACT 0x20
#define W_IF12_ACT 0x10
#define W_IF11_ACT 0x08
#define W_IF10_ACT 0x04
#define SOFT_CON 0x02
#define W_GFIFO 0x20000
#define CLK_DIV 0xF800
#define SOFT_CON_A0 0x0
#define SOFT_CON_A1 0x100
#define SOFT_CON_R 0x200
#define SOFT_CON_W 0x400
#define SOFT_CON_CS 0x800
#define SOFT_CON_REQ 0x1000
#define SOFT_CON_REL 0x2000
/* bit definition of REG_ACTL_ADCON register */
#define ADC_ZCD_EN 0x8
#define ADC_MUTE 0x2
/* bit definition of REG_ACTL_DACON register */
#define DAC1_OEB 0x2000
#define DAC0_OEB 0x1000
#define DAC_ZCD_EN 0x8
#define DAC_MUTE 0x2
#define AD_DA_48000 (0x0 << 4)
#define AD_DA_44100 (0x1 << 4)
#define AD_DA_32000 (0x2 << 4)
#define AD_DA_24000 (0x3 << 4)
#define AD_DA_22050 (0x4 << 4)
#define AD_DA_16000 (0x5 << 4)
#define AD_DA_12000 (0x6 << 4)
#define AD_DA_11025 (0x7 << 4)
#define AD_DA_8000 (0x8 << 4)
#endif /* _AC97_H_ */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -