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

📄 vou_reg.h

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