📄 vou_reg.h
字号:
#ifndef __HI_VOU_REG_H__#define __HI_VOU_REG_H__/* VOU Register read macro definition. */#ifndef VOU_REG_READ#define VOU_REG_READ(reg,result) (((result)=*((volatile unsigned int *)(reg))))#endif/* VOU Register write macro definition. */#ifndef VOU_REG_WRITE#define VOU_REG_WRITE(reg,data) (*((volatile unsigned int *)(reg))=(data))#endif/* VOU control register struction definition(0x00). */typedef union{ struct { unsigned int ulOutFormat :2; unsigned int ulFieldSync :1; unsigned int ulIfs :1; unsigned int ulCb :1; unsigned int ulIvs :1; unsigned int ulIhs :1; unsigned int ulIoe :1; unsigned int ulOvl2MaskEn :1; unsigned int ulOvl2KeyEn :1; unsigned int ulOvl2Type :2; unsigned int ulOvl1MaskEn :1; unsigned int ulOvl1KeyEn :1; unsigned int ulOvl1Type :2; unsigned int ulClipEn :1; unsigned int ulRGBOut :1; unsigned int ulHcMode :2; unsigned int ulMainMode :4; unsigned int ulMasterMode :1; unsigned int ulLittleEndian :1; unsigned int ulRawStart :1; unsigned int ulHcEn :1; unsigned int ulOvl2En :1; unsigned int ulOvl1En :1; unsigned int ulMainEn :1; unsigned int ulVoEn :1; }bits; unsigned int ul32;}VOU_sCtrlReg;/* VOU int mask register struction definition(0x04). */typedef union{ struct { unsigned int ulReloadIntEn :1; unsigned int ulMainRIntEn :1; unsigned int ulHcRIntEn :1; unsigned int ulOvl2RIntEn :1; unsigned int ulOvl1RIntEn :1; unsigned int ulLbwIntEn :1; unsigned int ulBusErrIntEn :1; unsigned int ulReserved0 :25; }bits; unsigned int ul32; }VOU_sIntMaskReg;/* VOU int status register struction definition(0x08). */typedef union{ struct { unsigned int ulReloadInt :1; unsigned int ulMainRInt :1; unsigned int ulHcRInt :1; unsigned int ulOvl2RInt :1; unsigned int ulOvl1RInt :1; unsigned int ulLbwInt :1; unsigned int ulReserved0 :26; }bits; unsigned int ul32; }VOU_sIntStatusReg;/* VOU status register struction definition(0x0C). */typedef union{ struct { unsigned int ulField2 :1; unsigned int ulLineArea :1; unsigned int ulHcUnderFlow :1; unsigned int ulOvl2UnderFlow :1; unsigned int ulOvl1UnderFlow :1; unsigned int ulReserved0 :1; unsigned int ulMcUnderFlow :1; unsigned int ulMlUnderFlow :1; unsigned int ulHcDone :1; unsigned int ulOvl2Done :1; unsigned int ulOvl1Done :1; unsigned int ulMainDone :1; unsigned int ulReserved1 :20; }bits; unsigned int ul32; }VOU_sVoStatusReg;/* VOU V sync1 register struction definition(0x10). */typedef union{ struct { unsigned int ulLpp :12; unsigned int ulVsw :4; unsigned int ulVbp :8; unsigned int ulVfp :8; }ulVouLCDBits; struct { unsigned int ulAct1Height :12; unsigned int ulVSyncWidth :4; unsigned int ulAct1Vbb :8; unsigned int ulAct1Voffset :8; }ulVouTVBits; unsigned int ul32; }VOU_sVoVsync1Reg;/* VOU V sync2 register struction definition(0x14). */typedef union{ struct { unsigned int ulAct2Height :12; unsigned int ulHsyncWidthMsb :4; unsigned int ulAct2Vbb :8; unsigned int ulAct2Voffset :8; }bits; unsigned int ul32; }VOU_sVoVsync2Reg;/* VOU H sync register struction definition(0x18). */typedef union{ struct { unsigned int ulPpl :12; unsigned int ulHsw :4; unsigned int ulHbp :8; unsigned int ulHfp :8; }ulVouLCDBits; struct { unsigned int ulActWidth :12; unsigned int ulHSyncWidthLsb :4; unsigned int ulActHbb :6; unsigned int ulActHoffset :10; }ulVouTVBits; unsigned int ul32; }VOU_sVoHsyncReg;/* VOU image register struction definition(0x1C). */typedef union{ struct { unsigned int ulImageWidth :12; unsigned int ulImageHeight :12; unsigned int ulReserved0 :8; }bits; unsigned int ul32; }VOU_sVoImageReg;/* VOU overlayer1 image register struction definition(0x20). */typedef union{ struct { unsigned int ulOvlWidth :12; unsigned int ulOvlHeight :12; unsigned int ulReserved0 :8; }bits; unsigned int ul32;}VOU_sVoOvlReg;/* VOU main image width register struction definition(0x28). */typedef union{ struct { unsigned int ulMChromaWidth :12; unsigned int ulMLumaWidth :12; unsigned int ulReserved0 :8; }bits; unsigned int ul32; }VOU_sVoMainWidthReg;/* VOU image offset register struction definition(0x2C). */typedef union{ struct { unsigned int ulImageHOffset :12; unsigned int ulImageVOffset :12; unsigned int ulReserved0 :8; }bits; unsigned int ul32; }VOU_sVoImageOffsetReg;/* VOU background color register struction definition(0x30). */typedef union{ struct { unsigned int ulBgV :12; unsigned int ulBgU :19; unsigned int ulBgY :1; }bits; unsigned int ul32; }VOU_sVoBgColorReg;/* VOU clip register struction definition(0x34). */typedef union{ struct { unsigned int ulLowChroma :8; unsigned int ulHighChroma :8; unsigned int ulLowLuma :8; unsigned int ulHighLuma :8; }bits; unsigned int ul32; }VOU_sVoClipReg;/* VOU mask register struction definition(0x38). */typedef union{ struct { unsigned int ulOvl1MaskC :4; unsigned int ulOvl1MaskY :4; unsigned int ulOvl2MaskC :4; unsigned int ulOvl2MaskY :4; unsigned int ulReserved0 :16; }bits; unsigned int ul32; }VOU_sVoMaskReg;/* VOU over layer1&2 keying register struction definition(0x3C). */typedef union{ struct { unsigned int ulOvlKeyV :8; unsigned int ulOvlKeyU :8; unsigned int ulOvlKeyY :8; unsigned int ulReserved0 :8; }bits; unsigned int ul32; }VOU_sVoOvlKeyReg;/* VOU over layer1&2 start register struction definition(0x54). */typedef union{ struct { unsigned int ulOvlStartPixel :12; unsigned int ulOvlStartLine :12; unsigned int ulReserved0 :8; }bits; unsigned int ul32; }VOU_sVoOvlStartReg;/* VOU Hc start register struction definition(0x5C). */typedef union{ struct { unsigned int ulHcStartPixel :12; unsigned int ulHcStartLine :12; unsigned int ulReserved0 :7; unsigned int ulHcReload :1; }bits; unsigned int ul32; }VOU_sVoHcStartReg;/* VOU over layer1&2 alpha register struction definition(0x60). */typedef union{ struct { unsigned int ulOvlAlpha1 :8; unsigned int ulOvlAlpha0 :8; unsigned int ulReserved0 :16; }bits; unsigned int 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 { unsigned int ulMChromaOffset :16; unsigned int ulMLumaOffset :16; }bits; unsigned int ul32; }VOU_sVoMOffsetReg;/* VOU over layer image's offset register struction definition(0x84). */typedef union{ struct { unsigned int ulOvl1Offset :16; unsigned int ulOvl2Offset :16; }bits; unsigned int 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 unsigned int hcColor0; volatile unsigned int hcColor1; volatile unsigned int hcColor2; volatile unsigned int hcColor3; volatile VOU_sVoOvlStartReg ovl1Start; volatile VOU_sVoOvlStartReg ovl2Start; volatile VOU_sVoHcStartReg hcStart; volatile VOU_sVoOvlAlphaReg ovl1Alpha; volatile VOU_sVoOvlAlphaReg ovl2Alpha; volatile unsigned int mlAddr; volatile unsigned int mcAddr; volatile unsigned int reserved0; volatile unsigned int ovl1Addr; volatile unsigned int ovl2Addr; volatile unsigned int hcAddr; volatile VOU_sVoMOffsetReg mOffset; volatile VOU_sVoOvlOffsetReg ovlOffset;}VOU_Reg_Type;/* TV timing configuration structure. */typedef struct{ /* TV's timing parameters. */ unsigned int ulAct1Height; unsigned int ulVSyncWidth; unsigned int ulAct1Vbb; unsigned int ulAct1Voffset; unsigned int ulAct2Height; unsigned int ulAct2Vbb; unsigned int ulAct2Voffset; unsigned int ulActWidth; unsigned int ulHSyncWidth; unsigned int ulActHbb; unsigned int ulActHoffset; unsigned int ul601n656; unsigned int ulMasterMode;}VOU_TVCfg_Type;/* LCD configuration structure. */typedef struct{ /* LCD's timing parameters. */ unsigned int ulLpp; /* Line per panel. */ unsigned int ulVsw; /* Vertical Synchronization Pulse width. */ unsigned int ulVbp; /* Vertical Back Porch. */ unsigned int ulVfp; /* Vertical Front Porch. */ unsigned int ulPpl; /* Pixel per line. */ unsigned int ulHsw; /* Horizontal Synchronization Pulse width. */ unsigned int ulHbp; /* Horizontal Back Porch.*/ unsigned int ulHfp; /* Horizontal Front Porch.*/}VOU_LCDCfg_Type;#endif /* End of #ifndef __HI_VOU_REG_H__.*/
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -