📄 davincievm.h
字号:
/* PATA IDE Registers */
#define ATA_IDETIMP *( volatile Uint16* )( ATA_BASE + 0x40 )
#define ATA_IDETIMS *( volatile Uint16* )( ATA_BASE + 0x42 )
#define ATA_SIDETIM *( volatile Uint8* ) ( ATA_BASE + 0x44 )
#define ATA_SLEWCTL_L *( volatile Uint8* ) ( ATA_BASE + 0x45 )
#define ATA_SLEWCTL_H *( volatile Uint8* ) ( ATA_BASE + 0x46 )
#define ATA_IDESTATUS *( volatile Uint8* ) ( ATA_BASE + 0x47 )
#define ATA_UDMACTL *( volatile Uint16* )( ATA_BASE + 0x48 )
#define ATA_UDMATIM *( volatile Uint16* )( ATA_BASE + 0x4A )
#define ATA_MISCCTL *( volatile Uint32* )( ATA_BASE + 0x50 )
#define ATA_REGSTB *( volatile Uint32* )( ATA_BASE + 0x54 )
#define ATA_REGRCVR *( volatile Uint32* )( ATA_BASE + 0x58 )
#define ATA_DATSTB *( volatile Uint32* )( ATA_BASE + 0x5C )
#define ATA_DATRCVR *( volatile Uint32* )( ATA_BASE + 0x60 )
#define ATA_DMASTB *( volatile Uint32* )( ATA_BASE + 0x64 )
#define ATA_DMARCVR *( volatile Uint32* )( ATA_BASE + 0x68 )
#define ATA_UDMASTB *( volatile Uint32* )( ATA_BASE + 0x6C )
#define ATA_UDMATRP *( volatile Uint32* )( ATA_BASE + 0x70 )
#define ATA_UDMATENV *( volatile Uint32* )( ATA_BASE + 0x74 )
#define ATA_IORDYTMP *( volatile Uint32* )( ATA_BASE + 0x78 )
#define ATA_IORDYTMS *( volatile Uint32* )( ATA_BASE + 0x7C )
/* ------------------------------------------------------------------------ *
* *
* ATA Task File Registers *
* *
* ------------------------------------------------------------------------ */
#define PRIMARY_ATA_BASE ATA_BASE + 0x1F0
#define ATA_SECTOR_SIZE 512
#define ATA_SECTOR_SIZE_POW2 9
/* When DIOW or DIOR asserted */
#define PRI_ATA_DATA16 *( volatile Uint16* )( PRIMARY_ATA_BASE + 0x0 )
#define PRI_ATA_DATA8 *( volatile Uint8* ) ( PRIMARY_ATA_BASE + 0x0 )
#define PRI_ATA_SECCNT *( volatile Uint8* ) ( PRIMARY_ATA_BASE + 0x2 )
#define PRI_ATA_LBA7_0 *( volatile Uint8* ) ( PRIMARY_ATA_BASE + 0x3 )
#define PRI_ATA_LBA15_8 *( volatile Uint8* ) ( PRIMARY_ATA_BASE + 0x4 )
#define PRI_ATA_LBA23_16 *( volatile Uint8* ) ( PRIMARY_ATA_BASE + 0x5 )
#define PRI_ATA_LBA27_24 *( volatile Uint8* ) ( PRIMARY_ATA_BASE + 0x6 )
/* When only DIOR asserted */
#define PRI_ATA_ERROR *( volatile Uint8* ) ( PRIMARY_ATA_BASE + 0x1 )
#define PRI_ATA_STATUS *( volatile Uint8* ) ( PRIMARY_ATA_BASE + 0x7 )
#define PRI_ATA_ALT_STATUS *( volatile Uint32* )( ATA_BASE + 0x3F6)
/* When only DIOW asserted */
#define PRI_ATA_FEATURE *( volatile Uint8* ) ( PRIMARY_ATA_BASE + 0x1 )
#define PRI_ATA_CMD *( volatile Uint8* ) ( PRIMARY_ATA_BASE + 0x7 )
#define PRI_ATA_DEVICE_CTRL *( volatile Uint32* )( ATA_BASE + 0x3F6)
/* 16-bit wide registers */
#define PRI_ATA_REG01 *( volatile Uint16* )( PRIMARY_ATA_BASE + 0x0 )
#define PRI_ATA_REG23 *( volatile Uint16* )( PRIMARY_ATA_BASE + 0x2 )
#define PRI_ATA_REG45 *( volatile Uint16* )( PRIMARY_ATA_BASE + 0x4 )
#define PRI_ATA_REG67 *( volatile Uint16* )( PRIMARY_ATA_BASE + 0x6 )
/* ------------------------------------------------------------------------ *
* *
* GPIO Control Registers *
* *
* ------------------------------------------------------------------------ */
#define GPIO_BASE 0x01C67000
#define GPIO_PCR *( volatile Uint32* )( GPIO_BASE + 0x04 ) // Per Control
#define GPIO_BINTEN *( volatile Uint32* )( GPIO_BASE + 0x08 ) // Intr per-bank enable
// For GPIO[0:31]
#define GPIO_DIR_BASE ( GPIO_BASE + 0x10 ) // Direction Cntl
#define GPIO_OUT_DATA_BASE ( GPIO_BASE + 0x14 ) // Output data
#define GPIO_SET_DATA_BASE ( GPIO_BASE + 0x18 ) // Set data
#define GPIO_CLR_DATA_BASE ( GPIO_BASE + 0x1C ) // Clear data
#define GPIO_IN_DATA_BASE ( GPIO_BASE + 0x20 ) // Input data
#define GPIO_SET_RIS_TRIG_BASE ( GPIO_BASE + 0x24 ) // Set rising edge intr
#define GPIO_CLR_RIS_TRIG_BASE ( GPIO_BASE + 0x28 ) // Clear rising edge intr
#define GPIO_SET_FAL_TRIG_BASE ( GPIO_BASE + 0x2C ) // Set falling edge intr
#define GPIO_CLR_FAL_TRIG_BASE ( GPIO_BASE + 0x30 ) // Clear falling edge intr
#define GPIO_INSTAT_BASE ( GPIO_BASE + 0x34 ) // Intr status
#define GPIO_BASE_OFFSET 0x28
// For GPIO[0:31]
#define GPIO_DIR01 *( volatile Uint32* )( GPIO_BASE + 0x10 ) // Direction Cntl
#define GPIO_OUT_DATA01 *( volatile Uint32* )( GPIO_BASE + 0x14 ) // Output data
#define GPIO_SET_DATA01 *( volatile Uint32* )( GPIO_BASE + 0x18 ) // Set data
#define GPIO_CLR_DATA01 *( volatile Uint32* )( GPIO_BASE + 0x1C ) // Clear data
#define GPIO_IN_DATA01 *( volatile Uint32* )( GPIO_BASE + 0x20 ) // Input data
#define GPIO_SET_RIS_TRIG01 *( volatile Uint32* )( GPIO_BASE + 0x24 ) // Set rising edge intr
#define GPIO_CLR_RIS_TRIG01 *( volatile Uint32* )( GPIO_BASE + 0x28 ) // Clear rising edge intr
#define GPIO_SET_FAL_TRIG01 *( volatile Uint32* )( GPIO_BASE + 0x2C ) // Set falling edge intr
#define GPIO_CLR_FAL_TRIG01 *( volatile Uint32* )( GPIO_BASE + 0x30 ) // Clear falling edge intr
#define GPIO_INSTAT01 *( volatile Uint32* )( GPIO_BASE + 0x34 ) // Intr status
// For GPIO[32:63]
#define GPIO_DIR23 *( volatile Uint32* )( GPIO_BASE + 0x38 ) // Direction control
#define GPIO_OUT_DATA23 *( volatile Uint32* )( GPIO_BASE + 0x3C ) // Output data
#define GPIO_SET_DATA23 *( volatile Uint32* )( GPIO_BASE + 0x40 ) // Set data
#define GPIO_CLR_DATA23 *( volatile Uint32* )( GPIO_BASE + 0x44 ) // Clear data
#define GPIO_IN_DATA23 *( volatile Uint32* )( GPIO_BASE + 0x48 ) // Input data
#define GPIO_SET_RIS_TRIG23 *( volatile Uint32* )( GPIO_BASE + 0x4C ) // Set rising edge intr
#define GPIO_CLR_RIS_TRIG23 *( volatile Uint32* )( GPIO_BASE + 0x50 ) // Clear rising edge intr
#define GPIO_SET_FAL_TRIG23 *( volatile Uint32* )( GPIO_BASE + 0x54 ) // Set falling edge intr
#define GPIO_CLR_FAL_TRIG23 *( volatile Uint32* )( GPIO_BASE + 0x58 ) // Clear falling edge intr
#define GPIO_INSTAT23 *( volatile Uint32* )( GPIO_BASE + 0x5C ) // Intr status
// For GPIO[64:70]
#define GPIO_DIR45 *( volatile Uint32* )( GPIO_BASE + 0x60 ) // Direction control
#define GPIO_OUT_DATA45 *( volatile Uint32* )( GPIO_BASE + 0x64 ) // Output data
#define GPIO_SET_DATA45 *( volatile Uint32* )( GPIO_BASE + 0x68 ) // Set data
#define GPIO_CLR_DATA45 *( volatile Uint32* )( GPIO_BASE + 0x6C ) // Clear data
#define GPIO_IN_DATA45 *( volatile Uint32* )( GPIO_BASE + 0x70 ) // Input data
#define GPIO_SET_RIS_TRIG45 *( volatile Uint32* )( GPIO_BASE + 0x74 ) // Set rising edge intr
#define GPIO_CLR_RIS_TRIG45 *( volatile Uint32* )( GPIO_BASE + 0x78 ) // Clear rising edge intr
#define GPIO_SET_FAL_TRIG45 *( volatile Uint32* )( GPIO_BASE + 0x7C ) // Set falling edge intr
#define GPIO_CLR_FAL_TRIG45 *( volatile Uint32* )( GPIO_BASE + 0x80 ) // Clear falling edge intr
#define GPIO_INSTAT45 *( volatile Uint32* )( GPIO_BASE + 0x84 ) // Intr status
/* ------------------------------------------------------------------------ *
* *
* VPSS Control *
* *
* ------------------------------------------------------------------------ */
#define VPSS_CLK_CTRL *( volatile Uint32* )0x01c40044
/* ------------------------------------------------------------------------ *
* *
* VPFE Control *
* *
* ------------------------------------------------------------------------ */
#define VPFE_BASE 0x01c70400
#define VPFE_PID *( volatile Uint32* )( VPFE_BASE + 0x00 )
#define VPFE_PCR *( volatile Uint32* )( VPFE_BASE + 0x04 )
#define VPFE_SYN_MODE *( volatile Uint32* )( VPFE_BASE + 0x08 )
#define VPFE_HD_VD_WID *( volatile Uint32* )( VPFE_BASE + 0x0c )
#define VPFE_PIX_LINES *( volatile Uint32* )( VPFE_BASE + 0x10 )
#define VPFE_HORZ_INFO *( volatile Uint32* )( VPFE_BASE + 0x14 )
#define VPFE_VERT_START *( volatile Uint32* )( VPFE_BASE + 0x18 )
#define VPFE_VERT_LINES *( volatile Uint32* )( VPFE_BASE + 0x1c )
#define VPFE_CULLING *( volatile Uint32* )( VPFE_BASE + 0x20 )
#define VPFE_HSIZE_OFF *( volatile Uint32* )( VPFE_BASE + 0x24 )
#define VPFE_SDOFST *( volatile Uint32* )( VPFE_BASE + 0x28 )
#define VPFE_SDR_ADDR *( volatile Uint32* )( VPFE_BASE + 0x2c )
#define VPFE_CLAMP *( volatile Uint32* )( VPFE_BASE + 0x30 )
#define VPFE_DCSUB *( volatile Uint32* )( VPFE_BASE + 0x34 )
#define VPFE_COLPTN *( volatile Uint32* )( VPFE_BASE + 0x38 )
#define VPFE_BLKCMP *( volatile Uint32* )( VPFE_BASE + 0x3c )
#define VPFE_FPC_ADDR *( volatile Uint32* )( VPFE_BASE + 0x40 )
#define VPFE_FPC *( volatile Uint32* )( VPFE_BASE + 0x44 )
#define VPFE_VDINT *( volatile Uint32* )( VPFE_BASE + 0x48 )
#define VPFE_ALAW *( volatile Uint32* )( VPFE_BASE + 0x4c )
#define VPFE_REC656IF *( volatile Uint32* )( VPFE_BASE + 0x50 )
#define VPFE_CCDCFG *( volatile Uint32* )( VPFE_BASE + 0x54 )
#define VPFE_FMTCFG *( volatile Uint32* )( VPFE_BASE + 0x58 )
#define VPFE_FMT_HORZ *( volatile Uint32* )( VPFE_BASE + 0x5c )
#define VPFE_FMT_VERT *( volatile Uint32* )( VPFE_BASE + 0x60 )
#define VPFE_FMT_ADDR0 *( volatile Uint32* )( VPFE_BASE + 0x64 )
#define VPFE_FMT_ADDR1 *( volatile Uint32* )( VPFE_BASE + 0x68 )
#define VPFE_FMT_ADDR2 *( volatile Uint32* )( VPFE_BASE + 0x6c )
#define VPFE_FMT_ADDR3 *( volatile Uint32* )( VPFE_BASE + 0x70 )
#define VPFE_FMT_ADDR4 *( volatile Uint32* )( VPFE_BASE + 0x74 )
#define VPFE_FMT_ADDR5 *( volatile Uint32* )( VPFE_BASE + 0x78 )
#define VPFE_FMT_ADDR6 *( volatile Uint32* )( VPFE_BASE + 0x7c )
#define VPFE_FMT_ADDR7 *( volatile Uint32* )( VPFE_BASE + 0x80 )
#define VPFE_PRGEVEN_0 *( volatile Uint32* )( VPFE_BASE + 0x84 )
#define VPFE_PRGEVEN_1 *( volatile Uint32* )( VPFE_BASE + 0x88 )
#define VPFE_PRGODD_0 *( volatile Uint32* )( VPFE_BASE + 0x8c )
#define VPFE_PRGODD_1 *( volatile Uint32* )( VPFE_BASE + 0x90 )
#define VPFE_VP_OUT *( volatile Uint32* )( VPFE_BASE + 0x94 )
/* ------------------------------------------------------------------------ *
* *
* VENC Control *
* *
* ------------------------------------------------------------------------ */
#define VENC_BASE 0x01c72400
#define VENC_VMOD *( volatile Uint32* )( VENC_BASE + 0x000 )
#define VENC_VIOCTL *( volatile Uint32* )( VENC_BASE + 0x004 )
#define VENC_VDPRO *( volatile Uint32* )( VENC_BASE + 0x008 )
#define VENC_SYNCCTL *( volatile Uint32* )( VENC_BASE + 0x00C )
#define VENC_HSPLS *( volatile Uint32* )( VENC_BASE + 0x010 )
#define VENC_VSPLS *( volatile Uint32* )( VENC_BASE + 0x014 )
#define VENC_HINT *( volatile Uint32* )( VENC_BASE + 0x018 )
#define VENC_HSTART *( volatile Uint32* )( VENC_BASE + 0x01C )
#define VENC_HVALID *( volatile Uint32* )( VENC_BASE + 0x020 )
#define VENC_VINT *( volatile Uint32* )( VENC_BASE + 0x024 )
#define VENC_VSTART *( volatile Uint32* )( VENC_BASE + 0x028 )
#define VENC_VVALID *( volatile Uint32* )( VENC_BASE + 0x02C )
#define VENC_HSDLY *( volatile Uint32* )( VENC_BASE + 0x030 )
#define VENC_VSDLY *( volatile Uint32* )( VENC_BASE + 0x034 )
#define VENC_YCCCTL *( volatile Uint32* )( VENC_BASE + 0x038 )
#define VENC_RGBCTL *( volatile Uint32* )( VENC_BASE + 0x03C )
#define VENC_RGBCLP *( volatile Uint32* )( VENC_BASE + 0x040 )
#define VENC_LINECTL *( volatile Uint32* )( VENC_BASE + 0x044 )
#define VENC_CULLLINE *( volatile Uint32* )( VENC_BASE + 0x048 )
#define VENC_LCDOUT *( volatile Uint32* )( VENC_BASE + 0x04C )
#define VENC_BRTS *( volatile Uint32* )( VENC_BASE + 0x050 )
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -