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

📄 hwdefs.h

📁 ARM下加一个硬件驱动比较复杂
💻 H
📖 第 1 页 / 共 5 页
字号:
#define RASTER_VBLANKSTRTSTOP       ((volatile ULONG *) (RASTER_BASE + 0x228) )
#define RASTER_HBLANKSTRTSTOP       ((volatile ULONG *) (RASTER_BASE + 0x22C) )
#define RASTER_COLOR_LUT            ((volatile ULONG *) (RASTER_BASE + 0x400) )

//
// VLINESTOTAL
//
#define VLINESTOTAL_MASK            0x000007FFF

//
// Raster Start and Stop Masks.  Used for a bunch of the Video registers.
//
#define RASTER_START_SHIFT          0L
#define RASTER_START_MASK           0x000007FF
#define RASTER_STOP_SHIFT           16L
#define RASTER_STOP_MASK            0x07FF0000

//
// Definitions for the pixel mode register.
//
#define PIXELMODE_P13951            0x00010000
#define PIXELMODE_TRBSW             0x00008000
#define PIXELMODE_DSCAN             0x00004000
#define PIXELMODE_C_LUT             0x00000000
#define PIXELMODE_C_TRIPLE8         0x00001000
#define PIXELMODE_C_565             0x00001400
#define PIXELMODE_C_555             0x00001800
#define PIXELMODE_C_GREYSCALE       0x00002000
#define PIXELMODE_M_BLINKDISABLED   0x00000000
#define PIXELMODE_S_MODE0           0x00000000
#define PIXELMODE_S_MODE1           0x00000008
#define PIXELMODE_S_MODE2           0x00000010
#define PIXELMODE_P_4BITS           0x00000001
#define PIXELMODE_P_8BITS           0x00000002
#define PIXELMODE_P_16BITS          0x00000004
#define PIXELMODE_P_24BITS          0x00000006

//
// Video Attributes register.
//
#define VIDEOATTRIBS_EN             0x00000001
#define VIDEOATTRIBS_PCLKEN         0x00000002
#define VIDEOATTRIBS_SYNCEN         0x00000004
#define VIDEOATTRIBS_DATEN          0x00000008
#define VIDEOATTRIBS_CSYNC          0x00000010
#define VIDEOATTRIBS_VCPOL          0x00000020
#define VIDEOATTRIBS_HSPOL          0x00000040
#define VIDEOATTRIBS_BLKPOL         0x00000080
#define VIDEOATTRIBS_INVCLK         0x00000100
#define VIDEOATTRIBS_ACLEN          0x00000200
#define VIDEOATTRIBS_LCDEN          0x00000400
#define VIDEOATTRIBS_RBGEN          0x00000800
#define VIDEOATTRIBS_CCIREN         0x00001000
#define VIDEOATTRIBS_PIFEN          0x00002000
#define VIDEOATTRIBS_INTEN          0x00004000
#define VIDEOATTRIBS_INT            0x00008000
#define VIDEOATTRIBS_INTRLC         0x00010000
#define VIDEOATTRIBS_EQUSER         0x00020000
#define VIDEOATTRIBS_DHORZ          0x00040000
#define VIDEOATTRIBS_DVERT          0x00080000
#define VIDEOATTRIBS_BKPXD          0x00100000
#define VIDEOATTRIBS_SDSEL_CS0      0x00000000
#define VIDEOATTRIBS_SDSEL_CS1      0x00200000
#define VIDEOATTRIBS_SDSEL_CS2      0x00400000
#define VIDEOATTRIBS_SDSEL_CS3      0x00600000
                                    

//
// Video Screen page register.
//
#define VIDSCRNPAGE_MASK            0x0FFFFFF0

//
// Color Lookup table control register 
//
#define LUTCONT_SSTAT               0x00000002
#define LUTCONT_SWTCH               0x00000001

//
// Color Lookup table control register 
//
#define LUTCONT_SSTAT               0x00000002
#define LUTCONT_SWTCH               0x00000001

#define CURSORSIZE_CWID_16PIXELS    0x00000000
#define CURSORSIZE_CWID_32PIXELS    0x00000001
#define CURSORSIZE_CWID_48PIXELS    0x00000002
#define CURSORSIZE_CWID_64PIXELS    0x00000003
#define CURSORSIZE_CWID_SHIFT       0
#define CURSORSIZE_CLINS_MASK       0x000000fC
#define CURSORSIZE_CLINS_SHIFT      2
#define CURSORSIZE_CSTEP_16PIXELS   0x00000000
#define CURSORSIZE_CSTEP_32PIXELS   0x00000100
#define CURSORSIZE_CSTEP_48PIXELS   0x00000200
#define CURSORSIZE_CSTEP_64PIXELS   0x00000300

#define CURSORXYLOC_CEN             0x00008000
#define CURSORXYLOC_YMASK           0x07FF0000
#define CURSORXYLOC_YSHIFT          16
#define CURSORXYLOC_XMASK           0x000007FF
#define CURSORXYLOC_XSHIFT          0


//
// USB registers.
//
#define USB_BASE                    (VIRTUAL_SYSTEM_ASIC_REGS_BASE + 0x00020000)


//
// GRAPHICS (display acceleration hardware)
//

#define GRAPHICS_BASE               (VIRTUAL_SYSTEM_ASIC_REGS_BASE + 0x00040000)
#define GRAPHICS_SRCPIXELSTRT       ((volatile ULONG *)(GRAPHICS_BASE + 0x0000 ))
#define GRAPHICS_DESTPIXELSTRT      ((volatile ULONG *)(GRAPHICS_BASE + 0x0004 ))
#define GRAPHICS_BLKSRCSTRT         ((volatile ULONG *)(GRAPHICS_BASE + 0x0008 ))
#define GRAPHICS_BLKDESTSTRT        ((volatile ULONG *)(GRAPHICS_BASE + 0x000C ))
#define GRAPHICS_BLKSRCWIDTH        ((volatile ULONG *)(GRAPHICS_BASE + 0x0010 ))
#define GRAPHICS_SRCLINELENGTH      ((volatile ULONG *)(GRAPHICS_BASE + 0x0014 ))
#define GRAPHICS_BLKDESTWIDTH       ((volatile ULONG *)(GRAPHICS_BASE + 0x0018 ))
#define GRAPHICS_BLKDESTHEIGHT      ((volatile ULONG *)(GRAPHICS_BASE + 0x001C ))
#define GRAPHICS_DESTLINELENGTH     ((volatile ULONG *)(GRAPHICS_BASE + 0x0020 ))
#define GRAPHICS_BLOCKCTRL          ((volatile ULONG *)(GRAPHICS_BASE + 0x0024 ))
#define GRAPHICS_TRANSPATTRN        ((volatile ULONG *)(GRAPHICS_BASE + 0x0028 ))
#define GRAPHICS_BLOCKMASK          ((volatile ULONG *)(GRAPHICS_BASE + 0x002C ))
#define GRAPHICS_BACKGROUND         ((volatile ULONG *)(GRAPHICS_BASE + 0x0030 ))
#define GRAPHICS_LINEINC            ((volatile ULONG *)(GRAPHICS_BASE + 0x0034 ))
#define GRAPHICS_LINEINIT           ((volatile ULONG *)(GRAPHICS_BASE + 0x0038 ))
#define GRAPHICS_LINEPATTRN         ((volatile ULONG *)(GRAPHICS_BASE + 0x003C ))



//#define GRAPHICS_SRCPXLST         0x000
#define SRCPIXELSTRT_PEL_MASK       0x0000001F

//#define GRAPHICS_DSTPXLST         0x001
#define DESTPIXELSTRT_EPEL_MASK     0x001F0000
#define DESTPIXELSTRT_EPEL_SHIFT    16
#define DESTPIXELSTRT_SPEL_MASK     0x0000001F
#define DESTPIXELSTRT_SPEL_SHIFT    0

//#define GRAPHICS_BLKSRCST
#define SRC_START_MASK              0xFFFFFFFC
#define DEST_START_MASK             0xFFFFFFFC

//#define GRAPHICS_BLKSRCWIDTH        0x004
#define SRC_WIDTH_MASK              0x00000FFF

//#define GRAPHICS_SRCLINELENGTH      0x005
#define SRC_LINE_LENGTH_MASK        0x00000FFF

//#define GRAPHICS_BLKDESTWIDTH       0x006
//#define DEST_WIDTH_MASK             0xfffff000
#define DEST_WIDTH_MASK             0x00000FFF

//#define GRAPHICS_BLKDESTHEIGHT      0x007
#define DEST_HEIGHT_MASK            0x000007FF

//#define GRAPHICS_DESTLINELENGTH     0x008
#define DEST_LINE_LENGTH_MASK       0x00000FFF

//#define GRAPHICS_BLOCKCTRL          0x009
//#define WRITE_BITS_MASK             0x001EFFFF
#define BLOCKCTRL_PACKD                 0x00100000

#define BLOCKCTRL_BIT_PER_PIXEL_MASK    0x000E0000
#define BLOCKCTRL_FOUR_BITS_PIXEL       0x00020000
#define BLOCKCTRL_EIGHT_BITS_PIXEL      0x00040000
#define BLOCKCTRL_SIXTEEN_BITS_PIXEL    0x00080000
#define BLOCKCTRL_TWENTYFOUR_BITS_PIXEL 0x000c0000
#define BLOCKCTRL_PIXEL_SHIFT           17

#define BLOCKCTRL_ERRORK            0x00010000
#define BLOCKCTRL_INTEOI            0x00008000
#define BLOCKCTRL_BG                0x00004000
#define BLOCKCTRL_REMAPK            0x00002000
#define BLOCKCTRL_DMODE_MASK        0x00001800

#define BLOCKCTRL_DMODE_DISABLED    0x00000000
#define BLOCKCTRL_DMODE_AND         0x00000800
#define BLOCKCTRL_DMODE_OR          0x00001000
#define BLOCKCTRL_DMODE_XOR         0x00001800
                                              
#define BLOCKCTRL_MMODE_MASK        0x00000600

#define BLOCKCTRL_MMODE_DISABLED    0x00000000
#define BLOCKCTRL_MMODE_AND         0x00000200
#define BLOCKCTRL_MMODE_OR          0x00000400
#define BLOCKCTRL_MMODE_XOR         0x00000600

#define BLOCKCTRL_SYDIR             0x00000100
#define BLOCKCTRL_SXDIR             0x00000080
#define BLOCKCTRL_DYDIR             0x00000040
#define BLOCKCTRL_DXDIR             0x00000020
#define BLOCKCTRL_LINE              0x00000010
#define BLOCKCTRL_FILL              0x00000008
#define BLOCKCTRL_TRANS             0x00000004
#define BLOCKCTRL_INTENA            0x00000002
#define BLOCKCTRL_ENABLE            0x00000001

//#define GRAPHICS_TRANSPATTRN        0x00a
#define TRANSPATTRN_MASK            0x00ffffff

//#define GRAPHICS_BLOCKMASK          0x0000000b
#define BLOCKMASK_MASK              0x00ffffff

//#define GRAPHICS_BACKGROUND         0x00c
#define BACKGROUND_MASK             0x00ffffff

//#define GRAPHICS_LINEINC          0x00d
#define LINEINC_YINC_MASK           0x0FFF0000
#define LINEINC_YINC_SHIFT          16
#define LINEINC_XINC_MASK           0x00000FFF
#define LINEINC_XINC_SHIFT          0

//#define GRAPHICS_LINEINIT         0x00e
#define LINEINIT_YINIT_MASK         0x0FFF0000
#define LINEINIT_YINIT_SHIFT        16
#define LINEINIT_XINIT_MASK         0x00000FFF
#define LINEINIT_XINIT_SHIFT        0

//#define GRAPHICS_LINEPATTRN         0x00f
#define LINEPATTRN_CNT_SHIFT        16
#define LINEPATTRN_CNT_MASK         0x000F0000
#define LINEPATTRN_PTRN_MASK        0x0000FFFF


//
// SDRAM
//
#define SDRAM_BASE                  (VIRTUAL_SYSTEM_ASIC_REGS_BASE + 0x00060000)
#define SDRAM_GLOBALCFG             (volatile ULONG *)(SDRAM_BASE + 0x0004)
#define SDRAM_REFRESH               (volatile ULONG *)(SDRAM_BASE + 0x0008)
#define SDRAM_BOOTSTATUS            (volatile ULONG *)(SDRAM_BASE + 0x000C)
#define SDRAM_DEVCFG_CS0            (volatile ULONG *)(SDRAM_BASE + 0x0010)
#define SDRAM_DEVCFG_CS1            (volatile ULONG *)(SDRAM_BASE + 0x0014)
#define SDRAM_DEVCFG_CS2            (volatile ULONG *)(SDRAM_BASE + 0x0018)
#define SDRAM_DEVCFG_CS3            (volatile ULONG *)(SDRAM_BASE + 0x001C)

#define GLOBALCFG_INIT              0x00000001
#define GLOBALCFG_MRS               0x00000002
#define GLOBALCFG_SMEMBUSY          0x00000020
#define GLOBALCFG_LCR               0x00000040
#define GLOBALCFG_REARBEN           0x00000080
#define GLOBALCFG_CLKSHUTDOWN       0x40000000
#define GLOBALCFG_CKE               0x80000000


#define REFRESH_MASK                0x0000FFFF

#define BOOTSTATUS_WIDTH_32         0x00000002
#define BOOTSTATUS_WIDTH_16         0x00000001
#define BOOTSTATUS_WIDTH_8          0x00000000
#define BOOTSTATUS_WIDTH_MASK       0x00000003
#define BOOTSTATUS_MEDIA            0x00000004

#define DEVCFG_EXTBUSWIDTH          0x00000004
#define DEVCFG_BANKCOUNT            0x00000008
#define DEVCFG_SROM512              0x00000010
#define DEVCFG_SROMLL               0x00000020
#define DEVCFG_2KPAGE               0x00000040
#define DEVCFG_SFCONFIGADDR         0x00000080
#define DEVCFG_CASLAT_MASK          0x00070000
#define DEVCFG_CASLAT_2             0x00010000
#define DEVCFG_CASLAT_3             0x00020000
#define DEVCFG_CASLAT_4             0x00030000
#define DEVCFG_CASLAT_5             0x00040000
#define DEVCFG_CASLAT_6             0x00050000
#define DEVCFG_CASLAT_7             0x00060000
#define DEVCFG_CASLAT_8             0x00070000
#define DEVCFG_WBL                  0x00080000
#define DEVCFG_RASTOCAS_MASK        0x00300000
#define DEVCFG_RASTOCAS_2           0x00200000
#define DEVCFG_RASTOCAS_3           0x00300000
#define DEVCFG_AUTOPRECHARGE        0x01000000


//
// SMC and PCMCIA
// TODO bit definitions.
//

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -