📄 vou_reg.h
字号:
/****************************************************************************** Copyright (C), 2001-2011, Hisilicon Tech. Co., Ltd. ****************************************************************************** File Name : drvVou.h Version : Initial Draft Author : Hisilicon multimedia software group Created : 2004/09/26 Last Modified : Description : SD592 VOU public driver header file The purpose of VOU is provide VOU's functionality. Function List : History : 1.Date : 2004/09/26 Author : yuanyabin Modification: Created file******************************************************************************/#ifndef __HI_VOU_REG_H__#define __HI_VOU_REG_H__#ifdef __cplusplus#if __cplusplusextern "C"{#endif#endif /* __cplusplus *//* VOU Register read macro definition. */#ifndef VOU_REG_READ#define VOU_REG_READ(reg,result) (((result)=*((volatile UINT32 *)(reg))))#endif/* VOU Register write macro definition. */#ifndef VOU_REG_WRITE#define VOU_REG_WRITE(reg,data) (*((volatile UINT32 *)(reg))=(data))#endif/* VOU control register struction definition(0x00). */typedef union{ struct { UINT32 ulOutFormat :2; UINT32 ulFieldSync :1; UINT32 ulIfs :1; UINT32 ulCb :1; UINT32 ulIvs :1; UINT32 ulIhs :1; UINT32 ulIoe :1; UINT32 ulOvl2MaskEn :1; UINT32 ulOvl2KeyEn :1; UINT32 ulOvl2Type :2; UINT32 ulOvl1MaskEn :1; UINT32 ulOvl1KeyEn :1; UINT32 ulOvl1Type :2; UINT32 ulClipEn :1; UINT32 ulRGBOut :1; UINT32 ulHcMode :2; UINT32 ulMainMode :4; UINT32 ulMasterMode :1; UINT32 ulLittleEndian :1; UINT32 ulRawStart :1; UINT32 ulHcEn :1; UINT32 ulOvl2En :1; UINT32 ulOvl1En :1; UINT32 ulMainEn :1; UINT32 ulVoEn :1; }bits; UINT32 ul32;}VOU_sCtrlReg;/* VOU int mask register struction definition(0x04). */typedef union{ struct { UINT32 ulReloadIntEn :1; UINT32 ulMainRIntEn :1; UINT32 ulHcRIntEn :1; UINT32 ulOvl2RIntEn :1; UINT32 ulOvl1RIntEn :1; UINT32 ulLbwIntEn :1; UINT32 ulBusErrIntEn :1; UINT32 ulReserved0 :25; }bits; UINT32 ul32; }VOU_sIntMaskReg;/* VOU int status register struction definition(0x08). */typedef union{ struct { UINT32 ulReloadInt :1; UINT32 ulMainRInt :1; UINT32 ulHcRInt :1; UINT32 ulOvl2RInt :1; UINT32 ulOvl1RInt :1; UINT32 ulLbwInt :1; UINT32 ulReserved0 :26; }bits; UINT32 ul32; }VOU_sIntStatusReg;/* VOU status register struction definition(0x0C). */typedef union{ struct { UINT32 ulField2 :1; UINT32 ulLineArea :1; UINT32 ulHcUnderFlow :1; UINT32 ulOvl2UnderFlow :1; UINT32 ulOvl1UnderFlow :1; UINT32 ulReserved0 :1; UINT32 ulMcUnderFlow :1; UINT32 ulMlUnderFlow :1; UINT32 ulHcDone :1; UINT32 ulOvl2Done :1; UINT32 ulOvl1Done :1; UINT32 ulMainDone :1; UINT32 ulReserved1 :20; }bits; UINT32 ul32; }VOU_sVoStatusReg;/* VOU V sync1 register struction definition(0x10). */typedef union{ struct { UINT32 ulLpp :12; UINT32 ulVsw :4; UINT32 ulVbp :8; UINT32 ulVfp :8; }ulVouLCDBits; struct { UINT32 ulAct1Height :12; UINT32 ulVSyncWidth :4; UINT32 ulAct1Vbb :8; UINT32 ulAct1Voffset :8; }ulVouTVBits; UINT32 ul32; }VOU_sVoVsync1Reg;/* VOU V sync2 register struction definition(0x14). */typedef union{ struct { UINT32 ulAct2Height :12; UINT32 ulHsyncWidthMsb :4; UINT32 ulAct2Vbb :8; UINT32 ulAct2Voffset :8; }bits; UINT32 ul32; }VOU_sVoVsync2Reg;/* VOU H sync register struction definition(0x18). */typedef union{ struct { UINT32 ulPpl :12; UINT32 ulHsw :4; UINT32 ulHbp :8; UINT32 ulHfp :8; }ulVouLCDBits; struct { UINT32 ulActWidth :12; UINT32 ulHSyncWidthLsb :4; UINT32 ulActHbb :6; UINT32 ulActHoffset :10; }ulVouTVBits; UINT32 ul32; }VOU_sVoHsyncReg;/* VOU image register struction definition(0x1C). */typedef union{ struct { UINT32 ulImageWidth :12; UINT32 ulImageHeight :12; UINT32 ulReserved0 :8; }bits; UINT32 ul32; }VOU_sVoImageReg;/* VOU overlayer1 image register struction definition(0x20). */typedef union{ struct { UINT32 ulOvlWidth :12; UINT32 ulOvlHeight :12; UINT32 ulReserved0 :8; }bits; UINT32 ul32;}VOU_sVoOvlReg;/* VOU main image width register struction definition(0x28). */typedef union{ struct { UINT32 ulMChromaWidth :12; UINT32 ulMLumaWidth :12; UINT32 ulReserved0 :8; }bits; UINT32 ul32; }VOU_sVoMainWidthReg;/* VOU image offset register struction definition(0x2C). */typedef union{ struct { UINT32 ulImageHOffset :12; UINT32 ulImageVOffset :12; UINT32 ulReserved0 :8; }bits; UINT32 ul32; }VOU_sVoImageOffsetReg;/* VOU background color register struction definition(0x30). */typedef union{ struct { UINT32 ulBgV :12; UINT32 ulBgU :19; UINT32 ulBgY :1; }bits; UINT32 ul32; }VOU_sVoBgColorReg;/* VOU clip register struction definition(0x34). */typedef union{ struct { UINT32 ulLowChroma :8; UINT32 ulHighChroma :8; UINT32 ulLowLuma :8; UINT32 ulHighLuma :8; }bits; UINT32 ul32; }VOU_sVoClipReg;/* VOU mask register struction definition(0x38). */typedef union{ struct { UINT32 ulOvl1MaskC :4; UINT32 ulOvl1MaskY :4; UINT32 ulOvl2MaskC :4; UINT32 ulOvl2MaskY :4; UINT32 ulReserved0 :16; }bits; UINT32 ul32; }VOU_sVoMaskReg;/* VOU over layer1&2 keying register struction definition(0x3C). */typedef union{ struct { UINT32 ulOvlKeyV :8; UINT32 ulOvlKeyU :8; UINT32 ulOvlKeyY :8; UINT32 ulReserved0 :8; }bits; UINT32 ul32; }VOU_sVoOvlKeyReg;/* VOU hardware cursor color 0 register struction definition(0x44). *//* VOU hardware cursor color 1 register struction definition(0x48). *//* VOU hardware cursor color 2 register struction definition(0x4C). *//* VOU hardware cursor color 3 register struction definition(0x50). *//* VOU over layer1&2 start register struction definition(0x54). */typedef union{ struct { UINT32 ulOvlStartPixel :12; UINT32 ulOvlStartLine :12; UINT32 ulReserved0 :8; }bits; UINT32 ul32; }VOU_sVoOvlStartReg;/* VOU Hc start register struction definition(0x5C). */typedef union{ struct { UINT32 ulHcStartPixel :12; UINT32 ulHcStartLine :12; UINT32 ulReserved0 :7; UINT32 ulHcReload :1; }bits; UINT32 ul32; }VOU_sVoHcStartReg;/* VOU over layer1&2 alpha register struction definition(0x60). */typedef union{ struct { UINT32 ulOvlAlpha1 :8; UINT32 ulOvlAlpha0 :8; UINT32 ulReserved0 :16; }bits; UINT32 ul32; }VOU_sVoOvlAlphaReg;/* VOU main image's Luma address register struction definition(0x68). *//* VOU main image's Chroma address register struction definition(0x6C). *//* VOU reserved register struction definition(0x70). *//* VOU over layer1 address register struction definition(0x74). *//* VOU over layer2 address register struction definition(0x78). *//* VOU Hc address register struction definition(0x7C). *//* VOU main image's offset register struction definition(0x80). */typedef union{ struct { UINT32 ulMChromaOffset :16; UINT32 ulMLumaOffset :16; }bits; UINT32 ul32; }VOU_sVoMOffsetReg;/* VOU over layer image's offset register struction definition(0x84). */typedef union{ struct { UINT32 ulOvl1Offset :16; UINT32 ulOvl2Offset :16; }bits; UINT32 ul32; }VOU_sVoOvlOffsetReg;/* VOU's registers definition. */typedef struct{ volatile VOU_sCtrlReg control; volatile VOU_sIntMaskReg intMask; volatile VOU_sIntStatusReg intStatus; volatile VOU_sVoStatusReg status; volatile VOU_sVoVsync1Reg vSync1; volatile VOU_sVoVsync2Reg vSync2; volatile VOU_sVoHsyncReg hSync; volatile VOU_sVoImageReg image; volatile VOU_sVoOvlReg ovl1; volatile VOU_sVoOvlReg ovl2; volatile VOU_sVoMainWidthReg mainWidth; volatile VOU_sVoImageOffsetReg imageOff; volatile VOU_sVoBgColorReg bgColor; volatile VOU_sVoClipReg clip; volatile VOU_sVoMaskReg mask; volatile VOU_sVoOvlKeyReg ovl1Key; volatile VOU_sVoOvlKeyReg ovl2Key; volatile UINT32 hcColor0; volatile UINT32 hcColor1; volatile UINT32 hcColor2; volatile UINT32 hcColor3; volatile VOU_sVoOvlStartReg ovl1Start; volatile VOU_sVoOvlStartReg ovl2Start; volatile VOU_sVoHcStartReg hcStart; volatile VOU_sVoOvlAlphaReg ovl1Alpha; volatile VOU_sVoOvlAlphaReg ovl2Alpha; volatile UINT32 mlAddr; volatile UINT32 mcAddr; volatile UINT32 reserved0; volatile UINT32 ovl1Addr; volatile UINT32 ovl2Addr; volatile UINT32 hcAddr; volatile VOU_sVoMOffsetReg mOffset; volatile VOU_sVoOvlOffsetReg ovlOffset;}VOU_Reg_Type;/* TV timing configuration structure. */typedef struct{ /* TV's timing parameters. */ UINT32 ulAct1Height; UINT32 ulVSyncWidth; UINT32 ulAct1Vbb; UINT32 ulAct1Voffset; UINT32 ulAct2Height; UINT32 ulAct2Vbb; UINT32 ulAct2Voffset; UINT32 ulActWidth; UINT32 ulHSyncWidth; UINT32 ulActHbb; UINT32 ulActHoffset; UINT32 ul601n656; UINT32 ulMasterMode;}VOU_TVCfg_Type;/* LCD configuration structure. */typedef struct{ /* LCD's timing parameters. */ UINT32 ulLpp; /* Line per panel. */ UINT32 ulVsw; /* Vertical Synchronization Pulse width. */ UINT32 ulVbp; /* Vertical Back Porch. */ UINT32 ulVfp; /* Vertical Front Porch. */ UINT32 ulPpl; /* Pixel per line. */ UINT32 ulHsw; /* Horizontal Synchronization Pulse width. */ UINT32 ulHbp; /* Horizontal Back Porch.*/ UINT32 ulHfp; /* Horizontal Front Porch.*/}VOU_LCDCfg_Type;#ifdef __cplusplus#if __cplusplus}#endif#endif /* __cplusplus */#endif /* End of #ifndef __HI_VOU_REG_H__.*/
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -