📄 tvpsundialmem.h
字号:
/*****************************************************************************
* Property of Texas Instruments Incorporated, Copyright 2004
* All rights reserved
******************************************************************************/
/*********************************************************************
*
* Description:
* TvpSundialMem.h contains private declarations related to the Sundial
* module that are shared by both RTSL and FW.
*
* Contents:
* Memory definitions
* Control structures
*
**********************************************************************/
/*********************************************************************
*
* $Revision: $
*
* $History: TvpSundialMem.h $
*
*********************************************************************/
#ifndef TVP_SUNDIAL_MEM_DOT_H_IS_DEFINED
#define TVP_SUNDIAL_MEM_DOT_H_IS_DEFINED
/*******************************************************************************
* Sundial Memory Map *
*******************************************************************************/
/*************************************************/
/* PES PARSER Memory Map */
/*************************************************/
#define TVP_PP_IRQ_STAT (volatile unsigned long*)(TVP_PS_BASE+0x0) // 0x110000
#define TVP_PP_IRQ_MASK (volatile unsigned long*)(TVP_PS_BASE+0x1) // 0x110004
#define TVP_PP_CTRL (volatile unsigned long*)(TVP_PS_BASE+0x2) // 0x110008
#define TVP_PP_MPEG_AUDIO (volatile unsigned long*)(TVP_PS_BASE+0x3) // 0x11000c
#define TVP_PP_STC_REG (volatile unsigned long*)(TVP_PS_BASE+0x4) // 0x110010
#define TVP_PP_WDOG_TIM (volatile unsigned long*)(TVP_PS_BASE+0x5) // 0x110014
#define TVP_PP_AUD_SYNC (volatile unsigned long*)(TVP_PS_BASE+0x6) // 0x110018
#define TVP_PP_GE_THRESH (volatile unsigned long*)(TVP_PS_BASE+0x7) // 0x11001c
#define TVP_PP_LE_THRESH (volatile unsigned long*)(TVP_PS_BASE+0x8) // 0x110020
#define TVP_PP_READ_PTR (volatile unsigned long*)(TVP_PS_BASE+0x9) // 0x110024
#define TVP_PP_WRITE_PTR (volatile unsigned long*)(TVP_PS_BASE+0xa) // 0x110028
#define TVP_PP_BUF_SIZE (volatile unsigned long*)(TVP_PS_BASE+0xb) // 0x11002c
#define TVP_PP_PTS_REG (volatile unsigned long*)(TVP_PS_BASE+0xc) // 0x110030
#define TVP_PP_PTS_TMP (volatile unsigned long*)(TVP_PS_BASE+0xd) // 0x110034
#define TVP_PP_PTS_INT (volatile unsigned long*)(TVP_PS_BASE+0xe) // 0x110038
#define TVP_PP_PTS_PSTART (volatile unsigned long*)(TVP_PS_BASE+0xf) // 0x11003c
/*************************************************/
/* Video Decoder Memory Map */
/*************************************************/
#define TVP_VD_IRQ_STAT (volatile unsigned long*)(TVP_VD_BASE+0x1) // 0x120004
#define TVP_VD_IRQ_MASK (volatile unsigned long*)(TVP_VD_BASE+0x2) // 0x120008
#define TVP_VD_ERROR (volatile unsigned long*)(TVP_VD_BASE+0x3) // 0x12000c
#define TVP_VD_SEQ_SIZE (volatile unsigned long*)(TVP_VD_BASE+0x4) // 0x120010
#define TVP_VD_BIT_RATE (volatile unsigned long*)(TVP_VD_BASE+0x5) // 0x120014
#define TVP_VD_VBV_SIZE (volatile unsigned long*)(TVP_VD_BASE+0x6) // 0x120018
#define TVP_VD_SEQ_EXT (volatile unsigned long*)(TVP_VD_BASE+0x7) // 0x12001c
#define TVP_VD_COLOR (volatile unsigned long*)(TVP_VD_BASE+0x8) // 0x120020
#define TVP_VD_GOP (volatile unsigned long*)(TVP_VD_BASE+0x9) // 0x120024
#define TVP_VD_TEMP_REF (volatile unsigned long*)(TVP_VD_BASE+0xa) // 0x120028
#define TVP_VD_FIELD_RPT (volatile unsigned long*)(TVP_VD_BASE+0xb) // 0x12002c
#define TVP_VD_DSPLY_EXT (volatile unsigned long*)(TVP_VD_BASE+0xc) // 0x120030
#define TVP_VD_SPLICE_CODE (volatile unsigned long*)(TVP_VD_BASE+0xf) // 0x12003c
#define TVP_VD_MC_CTRL (volatile unsigned long*)(TVP_VD_BASE+0x10) // 0x120040
#define TVP_VD_MC_DATA (volatile unsigned long*)(TVP_VD_BASE+0x13) // 0x12004c
#define TVP_VD_MC_CHSUM (volatile unsigned long*)(TVP_VD_BASE+0x14) // 0x120050
#define TVP_VD_CMD (volatile unsigned long*)(TVP_VD_BASE+0x15) // 0x120054
#define TVP_VD_HOST_REG (volatile unsigned long*)(TVP_VD_BASE+0x18) // 0x120060
#define TVP_VC_CFG (volatile unsigned long*)(TVP_VD_BASE+0x18) // 0x120060
#define TVP_VC_CATALOG (volatile unsigned long*)(TVP_VD_BASE+0x19) // 0x120064
#define TVP_VC_TRICK1 (volatile unsigned long*)(TVP_VD_BASE+0x1a) // 0x120068
#define TVP_VC_TRICK2 (volatile unsigned long*)(TVP_VD_BASE+0x1b) // 0x12006c
#define TVP_VC_TRICK3 (volatile unsigned long*)(TVP_VD_BASE+0x1c) // 0x120070
#define TVP_VC_HINT_MODE (volatile unsigned long*)(TVP_VD_BASE+0x1d) // 0x120074
#define TVP_VC_HINT_DATA (volatile unsigned long*)(TVP_VD_BASE+0x1e) // 0x120078
#define TVP_VC_SYNC_WINDOW (volatile unsigned long*)(TVP_VD_BASE+0x1f) // 0x12007c
#define TVP_DP_COEFBASE_H (volatile unsigned long*)(TVP_DP_BASE+0x0b) // 0x18002c
#define TVP_DP_COEFBASE_VY (volatile unsigned long*)(TVP_DP_BASE+0x0c) // 0x180030
#define TVP_DP_COEFBASE_VC (volatile unsigned long*)(TVP_DP_BASE+0x0d) // 0x180034
/*************************************************/
/* Background Memory Map */
/*************************************************/
#define TVP_BG_CTRL (volatile unsigned long*)(TVP_BG_BASE+0x0) // 0x130000
#define TVP_BG_OFFSET (volatile unsigned long*)(TVP_BG_BASE+0x1) // 0x130004
#define TVP_BG_GT_UPDATE (volatile unsigned long*)(TVP_BG_BASE+0x2) // 0x130008
#define TVP_BG_COLOR (volatile unsigned long*)(TVP_BG_BASE+0x3) // 0x13000c
#define TVP_BG_VID_SIZE (volatile unsigned long*)(TVP_BG_BASE+0x4) // 0x130010
#define TVP_BG_DP_SIZE (volatile unsigned long*)(TVP_BG_BASE+0x5) // 0x130014
#define TVP_TB_DESCRIPT (volatile unsigned long*)(TVP_BG_BASE+0x7) // 0x13001c
/*************************************************/
/* Memory Interface Memory Map */
/*************************************************/
#define TVP_MI_CTRL (volatile unsigned long*)(TVP_MI_BASE+0x0) // 0x100000
#define TVP_MI_PRI0 (volatile unsigned long*)(TVP_MI_BASE+0x1) // 0x100004
#define TVP_MI_PRI1 (volatile unsigned long*)(TVP_MI_BASE+0x2) // 0x100008
#define TVP_MI_PRI2 (volatile unsigned long*)(TVP_MI_BASE+0x3) // 0x10000c
#define TVP_MI_PRI3 (volatile unsigned long*)(TVP_MI_BASE+0x4) // 0x100010
#define TVP_MI_STRT_INIT (volatile unsigned long*)(TVP_MI_BASE+0x5) // 0x100014
#define TVP_MI_ACK_CNT1 (volatile unsigned long*)(TVP_MI_BASE+0x6) // 0x100018
#define TVP_MI_ACK_CNT2 (volatile unsigned long*)(TVP_MI_BASE+0x7) // 0x10001c
#define TVP_MI_ACK_CNT3 (volatile unsigned long*)(TVP_MI_BASE+0x8) // 0x100020
#define TVP_MI_ACK_CNT4 (volatile unsigned long*)(TVP_MI_BASE+0x9) // 0x100024
#define TVP_MI_ACK_CNT5 (volatile unsigned long*)(TVP_MI_BASE+0xa) // 0x100028
#define TVP_MI_ACK_CNT6 (volatile unsigned long*)(TVP_MI_BASE+0xb) // 0x10002c
#define TVP_MI_ACK_CNT7 (volatile unsigned long*)(TVP_MI_BASE+0xc) // 0x100030
#define TVP_MI_ACK_CNT8 (volatile unsigned long*)(TVP_MI_BASE+0xd) // 0x100034
#define TVP_MI_ACK_CNT9 (volatile unsigned long*)(TVP_MI_BASE+0xe) // 0x100038
#define TVP_MI_ACK_CNT10 (volatile unsigned long*)(TVP_MI_BASE+0xf) // 0x10003c
#define TVP_MI_BASE_REG1 (volatile unsigned long*)(TVP_MI_BASE+0x10) // 0x100040
#define TVP_MI_BASE_REG2 (volatile unsigned long*)(TVP_MI_BASE+0x11) // 0x100044
#define TVP_MI_BASE_REG3 (volatile unsigned long*)(TVP_MI_BASE+0x12) // 0x100048
#define TVP_MI_BASE_REG4 (volatile unsigned long*)(TVP_MI_BASE+0x13) // 0x10004c
#define TVP_MI_BASE_REG6 (volatile unsigned long*)(TVP_MI_BASE+0x15) // 0x100054
#define TVP_MI_BASE_REG7 (volatile unsigned long*)(TVP_MI_BASE+0x16) // 0x100058
#define TVP_MI_BASE_REG9 (volatile unsigned long*)(TVP_MI_BASE+0x18) // 0x100060
#define TVP_MI_BASE_REG10 (volatile unsigned long*)(TVP_MI_BASE+0x19) // 0x100064
#define TVP_MI_BASE_REG11 (volatile unsigned long*)(TVP_MI_BASE+0x1a) // 0x100068
#define TVP_MI_BASE_REG12 (volatile unsigned long*)(TVP_MI_BASE+0x1b) // 0x10006c
#define TVP_MI_BASE_REG13 (volatile unsigned long*)(TVP_MI_BASE+0x1c) // 0x100070
/*************************************************/
/* Audio Decoder Memory Map */
/*************************************************/
#define TVP_AD_DNLD_CRC (volatile unsigned long*)(TVP_AD_BASE+0x0) // 0x140000
#define TVP_AD_IRQ_STAT (volatile unsigned long*)(TVP_AD_BASE+0x1) // 0x140004
#define TVP_AD_IRQ_MASK (volatile unsigned long*)(TVP_AD_BASE+0x2) // 0x140008
#define TVP_AD_MK_CTRL (volatile unsigned long*)(TVP_AD_BASE+0x3) // 0x14000c
#define TVP_AD_DNLD_CTRL (volatile unsigned long*)(TVP_AD_BASE+0x4) // 0x140010
#define TVP_AD_DNLD_DATA (volatile unsigned long*)(TVP_AD_BASE+0x5) // 0x140014
#define TVP_AD_MISC_CTRL (volatile unsigned long*)(TVP_AD_BASE+0x6) // 0x140018
#define TVP_AD_CHAN_SIZ (volatile unsigned long*)(TVP_AD_BASE+0x7) // 0x14001c
#define TVP_AD_AOC_CMD0 (volatile unsigned long*)(TVP_AD_BASE+0x8) // 0x140020
#define TVP_AD_AOC_CMD1 (volatile unsigned long*)(TVP_AD_BASE+0x9) // 0x140024
#define TVP_AD_AOC_CMD2 (volatile unsigned long*)(TVP_AD_BASE+0xa) // 0x140028
#define TVP_AD_AOC_CMD3 (volatile unsigned long*)(TVP_AD_BASE+0xb) // 0x14002c
#define TVP_AD_DSP_CMD0 (volatile unsigned long*)(TVP_AD_BASE+0xc) // 0x140030
#define TVP_AD_DSP_CMD1 (volatile unsigned long*)(TVP_AD_BASE+0xd) // 0x140034
#define TVP_AD_DSP_CMD2 (volatile unsigned long*)(TVP_AD_BASE+0xe) // 0x140038
#define TVP_AD_DSP_CMD3 (volatile unsigned long*)(TVP_AD_BASE+0xf) // 0x14003c
#define TVP_NUM_AUD_REGS 16
/*************************************************/
/* EBI DMA Memory Map */
/*************************************************/
#define TVP_DM_CR (volatile unsigned long*)(TVP_DMA_BASE+0x0) // 0x160000
#define TVP_DM_IRQ_STAT (volatile unsigned long*)(TVP_DMA_BASE+0x1) // 0x160004
#define TVP_DM_IRQ_MASK (volatile unsigned long*)(TVP_DMA_BASE+0x2) // 0x160008
#define TVP_DM_PIO_STAT (volatile unsigned long*)(TVP_DMA_BASE+0x3) // 0x16000c
#define TVP_DM_PIO_DATA (volatile unsigned long*)(TVP_DMA_BASE+0x4) // 0x160010
#define TVP_DM_CMD0_MSW (volatile unsigned long*)(TVP_DMA_BASE+0x8) // 0x160020
#define TVP_DM_CMD0_ASW (volatile unsigned long*)(TVP_DMA_BASE+0x9) // 0x160024
#define TVP_DM_CMD0_LSW (volatile unsigned long*)(TVP_DMA_BASE+0xa) // 0x160028
#define TVP_DM_CMD1_MSW (volatile unsigned long*)(TVP_DMA_BASE+0xb) // 0x16002c
#define TVP_DM_CMD1_ASW (volatile unsigned long*)(TVP_DMA_BASE+0xc) // 0x160030
#define TVP_DM_CMD1_LSW (volatile unsigned long*)(TVP_DMA_BASE+0xd) // 0x160034
#define TVP_DM_CMD2_MSW (volatile unsigned long*)(TVP_DMA_BASE+0xe) // 0x160038
#define TVP_DM_CMD2_ASW (volatile unsigned long*)(TVP_DMA_BASE+0xf) // 0x16003c
#define TVP_DM_CMD2_LSW (volatile unsigned long*)(TVP_DMA_BASE+0x10) // 0x160040
#define TVP_DM_CMD3_MSW (volatile unsigned long*)(TVP_DMA_BASE+0x11) // 0x160044
#define TVP_DM_CMD3_ASW (volatile unsigned long*)(TVP_DMA_BASE+0x12) // 0x160048
#define TVP_DM_CMD3_LSW (volatile unsigned long*)(TVP_DMA_BASE+0x13) // 0x16004c
/*-----------------------------------------------**
** PP_IRQ bit definitions **
**-----------------------------------------------*/
#define TVP_PP_IRQ_MASK_ALL 0xFFFFFFFF
#define TVP_PP_CAB_LE ((unsigned long) 1<<0 )
#define TVP_PP_CAB_GE ((unsigned long) 1<<1 )
#define TVP_PP_CAB_FULL ((unsigned long) 1<<2 )
#define TVP_PP_CAB_EMPTY ((unsigned long) 1<<3 )
#define TVP_PP_CVB_LE ((unsigned long) 1<<4 )
#define TVP_PP_CVB_GE ((unsigned long) 1<<5 )
#define TVP_PP_CVB_FULL ((unsigned long) 1<<6 )
#define TVP_PP_CVB_EMPTY ((unsigned long) 1<<7 )
#define TVP_PP_USER_DATA_RECEIVED ((unsigned long) 1<<20)
#define TVP_PP_USER_DATA_HALF_FULL ((unsigned long) 1<<21)
#define TVP_PP_USER_DATA_FULL ((unsigned long) 1<<22)
#define TVP_PP_WDOG ((unsigned long) 1<<23)
#define TVP_PP_AUDIO_SYNC_LOSS ((unsigned long) 1<<24)
#define TVP_PP_AUDIO_SYNC_FOUND ((unsigned long) 1<<25)
/*************************************************/
/* PP_CTRL bit definitions */
/*************************************************/
#define TVP_PP_CTRL_SCR_SYNC 0
#define TVP_PP_CTRL_VID_PTS_SYNC 0x8
#define TVP_PP_CTRL_AUD_PTS_SYNC 0x10
#define TVP_PP_CTRL_SYNC_MASK 0x18
#define TVP_PP_CTRL_SCR_AUTO_UPDATE 0x20
#define TVP_PP_CTRL_NO_32_BIT 0x40
#define TVP_PP_CTRL_MASTER_PTS_DELAY_CLEAR 0x780
#define TVP_PP_CTRL_MASTER_PTS_DELAY_STC 0
#define TVP_PP_CTRL_MASTER_PTS_DELAY_AUD 3
#define TVP_PP_CTRL_MASTER_PTS_DELAY_VID 7
#define TVP_PP_CTRL_MASTER_PTS_DELAY_SHIFT 7
#define TVP_PP_CTRL_ENABLE_PTS_SYNC 0x800
#define TVP_PP_CTRL_PP_ENABLE 0x1000
#define TVP_PP_CTRL_USER_PICTURE 0x80000
#define TVP_PP_CTRL_USER_GOP 0x100000
#define TVP_PP_CTRL_USER_SEQ 0x200000
#define TVP_PP_CTRL_USER_CLEAR 0x380000
#define TVP_PP_CTRL_NON_MPEG_AUDIO 0x400000
#define TVP_PP_CTRL_UNUSED_DISABLE 0x01800000
#define TVP_PP_CTRL_VID_DISABLE 0x02000000
#define TVP_PP_CTRL_AUD_DISABLE 0x04000000
#define TVP_PP_CTRL_VID_REGISTERS 0x08000000
#define TVP_PP_CTRL_AUD_REGISTERS 0x10000000
#define TVP_PP_CTRL_USER_REGISTERS 0x20000000
#define TVP_PP_CTRL_SPDIF_REGISTERS 0x28000000
#define TVP_PP_CTRL_MASTER_REGISTERS 0x30000000
#define TVP_PP_CTRL_REGISTERS_MASK 0x38000000
#define TVP_PP_WDOG_VALUE 50
/*--------------------------**
** BG Control Register Bits **
**--------------------------*/
#define TVP_BG_CTRL_GT_WC_MASK 0xff
#define TVP_BG_CTRL_GT_WC_SHIFT 0
#define TVP_BG_CTRL_GT_ADDR_MASK 0xff
#define TVP_BG_CTRL_GT_ADDR_SHIFT 8
#define TVP_BG_CTRL_LD_CHROMA 0x10000
#define TVP_BG_CTRL_LD_Y 0x20000
#define TVP_BG_CTRL_MODE_VID_ON_COLOR 0
#define TVP_BG_CTRL_MODE_COLOR_ONLY 0x40000
#define TVP_BG_CTRL_MODE_MASK 0xc0000
#define TVP_BG_CTRL_601_SAT 0x4000000
#define TVP_BG_CTRL_EN 0x8000000
#define TVP_BG_SIZE_MASK 0xfff
#define TVP_BG_HORIZ_SHIFT 12
#define TVP_BG_VERT_SHIFT 0
#define TVP_BG_WIDTH_SHIFT 12
#define TVP_BG_HEIGHT_SHIFT 0
/*----------------------------------------**
** Audio Decoder Register Bit Definitions **
**----------------------------------------*/
#define TVP_AUD_DNLD_ENABLE 0x1
#define TVP_AUD_DNLD_COEFF 0x2
#define TVP_AUD_UCODE_VALID 0x4
#define TVP_AUD_COEF_VALID 0x8
/*-----------------------------------------------------**
** AD FIQ Interrupt Mask / Status Register Definitions **
**-----------------------------------------------------*/
#define TVP_AD_ANC_DATA 0x1
//#define TVP_AD_FRAME_INT 0x2
//#define TVP_AD_DSPCORE_INT 0x4
//#define TVP_AD_WAKEUP 0x8
// PG2.0 changed definitions
#define TVP_AD_PCM_BUFFER_MEMORY 0x2
#define TVP_AD_FSCOD_CHANGE 0x4
#define TVP_AD_ACMOD_CHANGE 0x8
#define TVP_AD_DSURMOD_CHANGE 0x10
#define TVP_AD_LFEON_CHANGE 0x20
#define TVP_AD_FRAME_INT 0x10000
#define TVP_AD_WAKEUP 0x20000
/*-------------------------------------**
** AD_MK_STRL Register Bit Definitions **
**-------------------------------------*/
#define TVP_AD_MK_EN 0x1
#define TVP_AD_MK_LSB_FIRST 0x2
#define TVP_AD_MK_16_TICKS 0x4
#define TVP_AD_MK_LEFT_LOW 0x8
#define TVP_AD_MK_BCLK_FALL 0x10
#define TVP_AD_MK_CTRL_LSB_SHIFT 1
#define TVP_AD_MK_CTRL_16_TICKS_SHIFT 2
#define TVP_AD_MK_CTRL_LEFT_LOW_SHIFT 3
#define TVP_AD_MK_CTRL_BCLK_EDGE_SHIFT 4
#define TVP_AD_MK_CTRL_START_CYCLE_SHIFT 5
/*--------------------------------------**
** AD_CHAN_SIZ Register Bit Definitions **
**--------------------------------------*/
#define TVP_AD_MIC_SIZE_SHIFT 10 // mk_buf_siz position
/*---------------------------------------**
** AD_MISC_CTRL Register Bit Definitions **
**---------------------------------------*/
#define TVP_AUD_STARTD 0x1
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -