⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 vou_reg.h

📁 华为 HI3510 BOOTLOADER HIBOOT 源码包
💻 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 + -