auregs.h
来自「代码有点长,需细心阅读,仅供影音视听类产品的开发人员参考」· C头文件 代码 · 共 159 行
H
159 行
#ifndef __AUREGS_H__
#define __AUREGS_H__
#if !defined(WIN32)
#include "config.h"
#include "regmap.h"
#include "types.h"
#endif
/* DMA pcm mapping flag setting */
#if CONFIG == CONFIG_COMBO_SVCD
#define DMA_PCM_MAPPING (1<<6)
#elif CONFIG == CONFIG_COMBO_VCD
#define DMA_PCM_MAPPING (0<<6)
#endif
/*
* AUDIO hardware register file
*/
#define RF_AU_RESET (regs0->audio_reg[ 0])
#define RF_VCD_VERSION (regs0->audio_reg[ 1])
#define RF_IS_LAYER3 (regs0->audio_reg[ 2])
#define RF_READ_CMD (regs0->audio_reg[ 3])
#define RF_WRITE_CMD (regs0->audio_reg[ 4])
#define RF_RS_CMD (regs0->audio_reg[ 5])
#define RF_IMDCT_CMD (regs0->audio_reg[ 6])
#define RF_RS_CH_NUM (regs0->audio_reg[ 7])
#define RF_RS_BUF_LEN (regs0->audio_reg[ 8]) // 6 bits
#define RF_RS_RD_ANCHOR (regs0->audio_reg[ 9])
//#define RF_APCM_BUF_LEN (regs0->audio_reg[10])
#define RF_GREG0 (regs0->audio_reg[11])
#define RF_EMPHASIS_BIT (regs0->audio_reg[12])
#define RF_TEST_MODE (regs0->audio_reg[13])
#define RF_CMD_FLAG (regs0->audio_reg[14]) // 1 : active, 0 : end
#define RF_REQ_SP_COUNT (regs0->audio_reg[15])
#define RF_REQ_SP_COUNT_INC (regs0->audio_reg[16])
#define RF_CD_MODE (regs0->audio_reg[17]) // 1/0 (no RS/RS)
#define RF_EQ_ON (regs0->audio_reg[18])
#define RF_FULL_BAND_EQ (regs0->audio_reg[19])
#define RF_EQ_AMP_ADR (regs0->audio_reg[20])
#define RF_RS_CMD_CLR (regs0->audio_reg[21])
#define RF_FFT_NO_EQ (regs0->audio_reg[22])
#define RF_NRJ_FN (regs0->audio_reg[23])
#define RF_NRJ_ENG_TH_LOW (regs0->audio_reg[24])
#define RF_NRJ_CHK_NUM (regs0->audio_reg[25])
#define RF_NRJ_FLAG (regs0->audio_reg[26])
#define RF_NRJ_ENG_TH_HIGH (regs0->audio_reg[27])
#define RF_MP2_SYN (regs0->audio_reg[28])
#if !defined(WIN32)
/*
* AUDIO/PCM hardware SRAM
*/
#define AU_RAM0 ((volatile UINT32 *)((BYTE *)regs0+0x2800)) // R/W, 128 words
#define AU_RAM1 ((volatile UINT32 *)((BYTE *)regs0+0x2a00)) // R/W, 64 words
#define AU_RAM2 ((volatile UINT32 *)((BYTE *)regs0+0x3000)) // WO, 128 words
#endif
/*
* parameters in RAM0
*/
#define PAR_BASE 36
#define PAR_READ_ADR (PAR_BASE+ 0)
#define PAR_WRITE_ADR (PAR_BASE+ 1)
#define PAR_RS0_IN_ADR (PAR_BASE+ 2)
#define PAR_RS1_IN_ADR (PAR_BASE+ 3)
#define PAR_RS2_IN_ADR (PAR_BASE+ 4)
#define PAR_RS3_IN_ADR (PAR_BASE+ 5)
#define PAR_REQ0_IDX_ADR (PAR_BASE+ 6)
#define PAR_REQ1_IDX_ADR (PAR_BASE+ 7)
#define PAR_IMDCT_IN_ADR (PAR_BASE+ 8)
#define PAR_IMDCT_OLD_ADR (PAR_BASE+ 9)
#define PAR_IMDCT_OUT_ADR (PAR_BASE+10)
#define PAR_PCML0_ADR (PAR_BASE+11) // syn outout for L ch
#define PAR_PCMR0_ADR (PAR_BASE+12) // syn outout for R ch
#define PAR_VI0_ADR (PAR_BASE+13)
#define PAR_VI1_ADR (PAR_BASE+14)
#define PAR_EQ0_ADR (PAR_BASE+15)
#define PAR_EQ1_ADR (PAR_BASE+16)
/*
* PCM hardware register file
*/
#define PCM_RF_BASE 32
// for write
#define RF_PCM_SF (regs0->audio_reg[PCM_RF_BASE+ 0])
#define RF_PCM_KEY_OFFSET (regs0->audio_reg[PCM_RF_BASE+ 1]) // 9-bit signed number
#define RF_PCM_ADCTRL (regs0->audio_reg[PCM_RF_BASE+ 2])
#define RF_PCM_RESET (regs0->audio_reg[PCM_RF_BASE+ 3])
#define RF_PCM_BUF_LEN (regs0->audio_reg[PCM_RF_BASE+ 4])
#define RF_PCM_COUNT_INC (regs0->audio_reg[PCM_RF_BASE+ 5])
#define RF_PCM_CFG (regs0->audio_reg[PCM_RF_BASE+ 6]) // configuring DAC
#define RF_PCM_MODE (regs0->audio_reg[PCM_RF_BASE+ 7])
#define RF_PCM_FRM_ADDR (regs0->audio_reg[PCM_RF_BASE+ 8]) // fade-out start address
#define RF_PCM_KEY_ADDR (regs0->audio_reg[PCM_RF_BASE+ 9])
#define RF_PCM_RAMP_HGT (regs0->audio_reg[PCM_RF_BASE+10]) // ramp-down
#define RF_PCM_RAMP_FN (regs0->audio_reg[PCM_RF_BASE+12])
#define RF_PCM_MODE_CHG (regs0->audio_reg[PCM_RF_BASE+13])
#define RF_PCM_AMP (regs0->audio_reg[PCM_RF_BASE+14])
#define RF_PCM_HQ_ECO (regs0->audio_reg[PCM_RF_BASE+15])
#define RF_PCM_R2UPDT (regs0->audio_reg[PCM_RF_BASE+16])
#define RF_PCM_KEY_CNT (regs0->audio_reg[PCM_RF_BASE+17])
#define RF_AD_ENG_CLR (regs0->audio_reg[PCM_RF_BASE+18])
#define RF_ECO_RST (regs0->audio_reg[PCM_RF_BASE+19])
#define RF_AD_FIR_FN (regs0->audio_reg[PCM_RF_BASE+56])
#define RF_PCM_BALANCE (regs0->audio_reg[PCM_RF_BASE+57])
// for read
#define RF_PCM_CNT (regs0->audio_reg[PCM_RF_BASE+20])
#define RF_PCM_CF_READ (regs0->audio_reg[PCM_RF_BASE+21])
#define RF_PCM_RP0 (regs0->audio_reg[PCM_RF_BASE+22])
#define RF_PCM_RP1 (regs0->audio_reg[PCM_RF_BASE+23])
#define RF_PCM_RP2 (regs0->audio_reg[PCM_RF_BASE+24])
#define RF_PCM_CF_FLAG (regs0->audio_reg[PCM_RF_BASE+25]) // Set RF_PCM_KEY_CNT will raise this flag. Pulled down after crossfading ends.
#define RF_RAM2_WRT_DIS (regs0->audio_reg[PCM_RF_BASE+26])
#define RF_WP (regs0->audio_reg[PCM_RF_BASE+27])
#define RF_RS_PCM_PTR (regs0->audio_reg[PCM_RF_BASE+28])
#define RF_WP1 (regs0->audio_reg[PCM_RF_BASE+29])
#define RF_PCM_OV (regs0->audio_reg[PCM_RF_BASE+30])
#define RF_PCM_EMPTY (regs0->audio_reg[PCM_RF_BASE+31])
#define RF_AD_ENG_METER (regs0->audio_reg[PCM_RF_BASE+32])
#define RF_RAMP_FLAG (regs0->audio_reg[PCM_RF_BASE+33])
#define RF_NRJ_MET_FLAG (regs0->audio_reg[PCM_RF_BASE+34])
/*
* RAM2 layout
*/
#define RAM2_PCML0_BASE ( 0) // 8 16-bit words
#define RAM2_PCMR0_BASE ( 8) // 8 16-bit words
#define RAM2_PCML1_BASE (16) // 8 16-bit words
#define RAM2_PCMR1_BASE (24) // 8 16-bit words
#define RAM2_ECO_BASE (32) // 16 16-bit words
#define RAM2_P2S_BASE (48) // 16 16-bit words
#define RAM2_PAR_BASE (64) // PCM hardware parameters
#define RAM2_FIR_BASE (80) // 16-bit 40-tap FIR filter
#define RAM2_AD_BASE (120) // 8 16-bit words
/*
* parameters in RAM2 based on RAM2_PAR_BASE
* addresses and sizes are all in units of 8 samples.
*/
#define R2_PCML0_ADR (RAM2_PAR_BASE+ 0)
#define R2_PCMR0_ADR (RAM2_PAR_BASE+ 1)
#define R2_PCML1_ADR (RAM2_PAR_BASE+ 2)
#define R2_PCMR1_ADR (RAM2_PAR_BASE+ 3)
#define R2_ECO_FUDU_ADR (RAM2_PAR_BASE+ 4)
#define R2_PCM1_SIZE (RAM2_PAR_BASE+ 5)
#define R2_ECO_FUDU_SIZE (RAM2_PAR_BASE+ 6)
#define R2_PCM_X (RAM2_PAR_BASE+ 7)
#define R2_PCM_Y (RAM2_PAR_BASE+ 8)
#define R2_ECO_X (RAM2_PAR_BASE+ 9)
#define R2_ECO_Y (RAM2_PAR_BASE+10)
//#define R2_PCM_AMP (RAM2_PAR_BASE+11)
#define R2_ECO_AMP (RAM2_PAR_BASE+12)
#define R2_RAMP_L (RAM2_PAR_BASE+13)
#define R2_RAMP_R (RAM2_PAR_BASE+14)
#define R2_RP2_UPDT_ADR (RAM2_PAR_BASE+15)
#endif //!__AUREGS_H__
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?