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

📄 ave2kregs.h

📁 driver wdk
💻 H
字号:
#ifndef _AVE2KREGS_H
#define _AVE2KREGS_H
/*
#define I2C_TRANSFER	0x8c
#define I2C_STATUS	0x90
#define GPIO_CTRL 	0xe0
#define AUDIO_CFG1	0xf4
#define AUDIO_CFG2	0xf8
#define MC1		0xfc
#define MC2		0x100
*/

#define GP3_HIGH	0x50000000
#define GP3_LOW		0x40000000
#define GP2_HIGH	0x00500000
#define GP2_LOW		0x00400000
#define GP1_HIGH	0x00005000
#define GP1_LOW		0x00004000
#define GP0_HIGH	0x00000050
#define GP0_LOW		0x00000040

// Bit mask constants
#define MASK_00   0x00000001    // Mask value for bit 0
#define MASK_01   0x00000002    // Mask value for bit 1
#define MASK_02   0x00000004    // Mask value for bit 2
#define MASK_03   0x00000008    // Mask value for bit 3
#define MASK_04   0x00000010    // Mask value for bit 4
#define MASK_05   0x00000020    // Mask value for bit 5
#define MASK_06   0x00000040    // Mask value for bit 6
#define MASK_07   0x00000080    // Mask value for bit 7
#define MASK_08   0x00000100    // Mask value for bit 8
#define MASK_09   0x00000200    // Mask value for bit 9
#define MASK_10   0x00000400    // Mask value for bit 10
#define MASK_11   0x00000800    // Mask value for bit 11
#define MASK_12   0x00001000    // Mask value for bit 12
#define MASK_13   0x00002000    // Mask value for bit 13
#define MASK_14   0x00004000    // Mask value for bit 14
#define MASK_15   0x00008000    // Mask value for bit 15
#define MASK_16   0x00010000    // Mask value for bit 16
#define MASK_17   0x00020000    // Mask value for bit 17
#define MASK_18   0x00040000    // Mask value for bit 18
#define MASK_19   0x00080000    // Mask value for bit 19
#define MASK_20   0x00100000    // Mask value for bit 20
#define MASK_21   0x00200000    // Mask value for bit 21
#define MASK_22   0x00400000    // Mask value for bit 22
#define MASK_23   0x00800000    // Mask value for bit 23
#define MASK_24   0x01000000    // Mask value for bit 24
#define MASK_25   0x02000000    // Mask value for bit 25
#define MASK_26   0x04000000    // Mask value for bit 26
#define MASK_27   0x08000000    // Mask value for bit 27
#define MASK_28   0x10000000    // Mask value for bit 28
#define MASK_29   0x20000000    // Mask value for bit 29
#define MASK_30   0x40000000    // Mask value for bit 30
#define MASK_31   0x80000000    // Mask value for bit 31

#define MASK_B0   0x000000ff    // Mask value for byte 0
#define MASK_B1   0x0000ff00    // Mask value for byte 1
#define MASK_B2   0x00ff0000    // Mask value for byte 2
#define MASK_B3   0xff000000    // Mask value for byte 3

#define MASK_W0   0x0000ffff    // Mask value for word 0
#define MASK_W1   0xffff0000    // Mask value for word 1

#define MASK_PA   0xfffffffc    // Mask value for physical address
#define MASK_PR   0xfffffffe    // Mask value for protection register
#define MASK_ER   0xffffffff    // Mask value for the entrie register

#define MASK_NONE 0x00000000    // No mask

//MC1 bits
#define EI2C		0x0100
#define TR_E_1      0x40
#define TR_E_2      0x20
#define TR_E_3      0x10
#define EVP         0x400

//MC2 bits
#define UPLD_HPS_V  0x0020
#define UPLD_DMA3	0x0010	
#define UPLD_DMA2	0x0008	
#define UPLD_DMA1	0x0004	
#define UPLD_DEBI	0x0002
#define UPLD_IIC	0x0001

  enum SpciReg {
//---------- Start of register structure
    BASE_ODD1        =   0x00,  // Video DMA 1 registers
    BASE_EVEN1       =   0x04,
    PROT_ADDR1       =   0x08,
    PITCH1           =   0x0C,
    BASE_PAGE1       =   0x10,  // Video DMA 1 base page
    NUM_LINE_BYTE1   =   0x14,

    BASE_ODD2        =   0x18,  // Video DMA 2 registers
    BASE_EVEN2       =   0x1C,
    PROT_ADDR2       =   0x20,
    PITCH2           =   0x24,
    BASE_PAGE2       =   0x28,  // Video DMA 2 base page
    NUM_LINE_BYTE2   =   0x2C,

    BASE_ODD3        =   0x30,  // Video DMA 3 registers
    BASE_EVEN3       =   0x34,
    PROT_ADDR3       =   0x38,
    PITCH3           =   0x3C,         
    BASE_PAGE3       =   0x40,  // Video DMA 3 base page
    NUM_LINE_BYTE3   =   0x44,
//----------        	          // DMA Busts & FIFO Thresholds
    PCI_BT_V1        =   0x48,  // Video/FIFO 1
    PCI_BT_V2        =   0x49,  // Video/FIFO 2
    PCI_BT_V3        =   0x4A,  // Video/FIFO 3
    PCI_BT_DEBI      =   0x4B,  // DEBI
    PCI_BT_A         =   0x4C,  // Audio
//----------
    DD1_INIT         =   0x50,  // Init setting of DD1 interface
//----------
    DD1_STREAM_B     =   0x54,  // DD1 B video data stream handling
    DD1_STREAM_A     =   0x56,  // DD1 A video data stream handling
//----------
    BRS_CTRL         =   0x58,  // BRS control register
    HPS_CTRL         =   0x5C,  // HPS control register
    HPS_V_SCALE      =   0x60,  // HPS vertical scale
    HPS_V_GAIN       =   0x64,  // HPS vertical ACL and gain
    HPS_H_PRESCALE   =   0x68,  // HPS horizontal prescale  
    HPS_H_SCALE      =   0x6C,  // HPS horizontal scale
    BCS_CTRL         =   0x70,  // BCS control
    CHROMA_KEY_RANGE =   0x74,
    CLIP_FORMAT_CTRL =   0x78,  // HPS outputs, formats & clipping
//----------
    DEBI_CONFIG      =   0x7C,
    DEBI_COMMAND     =   0x80,
    DEBI_PAGE        =   0x84,
    DEBI_AD          =   0x88,	
//----------  
    I2C_TRANSFER     =   0x8C,	
    I2C_STATUS       =   0x90,	
//----------  
    BASE_A1_IN       =   0x94,	// Audio 1 input DMA
    PROT_A1_IN       =   0x98,
    PAGE_A1_IN       =   0x9C,
  
    BASE_A1_OUT      =   0xA0,  // Audio 1 output DMA
    PROT_A1_OUT      =   0xA4,
    PAGE_A1_OUT      =   0xA8,

    BASE_A2_IN       =   0xAC,  // Audio 2 input DMA
    PROT_A2_IN       =   0xB0,
    PAGE_A2_IN       =   0xB4,

    BASE_A2_OUT      =   0xB8,  // Audio 2 output DMA
    PROT_A2_OUT      =   0xBC,
    PAGE_A2_OUT      =   0xC0,
//----------
    RPS_PAGE0        =   0xC4,  // RPS task 0 page register
    RPS_PAGE1        =   0xC8,  // RPS task 1 page register
//----------
    RPS_THRESH0      =   0xCC,  // HBI threshold for task 0
    RPS_THRESH1      =   0xD0,  // HBI threshold for task 1

    RPS_TOV0         =   0xD4,  // RPS timeout for task 0
    RPS_TOV1         =   0xD8,  // RPS timeout for task 1
//----------                                                                
    IER              =   0xDC,  // Interrupt enable register
//----------                                                                
    GPIO_CTRL        =   0xE0,  // GPIO 0-3 register
//----------                                                                
    EC1SSR           =   0xE4,  // Event cnt set 1 source select
    EC2SSR           =   0xE8,  // Event cnt set 2 source select
    ECT1R            =   0xEC,  // Event cnt set 1 thresholds
    ECT2R            =   0xF0,  // Event cnt set 2 thresholds
//----------
    ACON1            =   0xF4,
    ACON2            =   0xF8,
//----------
    MC1              =   0xFC,  // Main control register 1
    MC2              =  0x100,  // Main control register 2 
//----------                                                                    
    RPS_ADDR0        =  0x104,  // RPS task 0 address register
    RPS_ADDR1        =  0x108,  // RPS task 1 address register
//----------
    ISR              =  0x10C,  // Interrupt status register                                                                  
    PSR              =  0x110,  // Primary status register
    SSR              =  0x114,  // Secondary status register
//----------
    EC1R             =  0x118,  // Event counter set 1 register
    EC2R             =  0x11C,  // Event counter set 2 register            
//----------
    PCI_VDP1         =  0x120,  // Video DMA pointer of FIFO 1
    PCI_VDP2         =  0x124,  // Video DMA pointer of FIFO 2
    PCI_VDP3         =  0x128,  // Video DMA pointer of FIFO 3
    PCI_ADP1         =  0x12C,  // Audio DMA pointer of audio out 1
    PCI_ADP2         =  0x130,  // Audio DMA pointer of audio in 1
    PCI_ADP3         =  0x134,  // Audio DMA pointer of audio out 2
    PCI_ADP4         =  0x138,  // Audio DMA pointer of audio in 2
    PCI_DMA_DDP      =  0x13C,  // DEBI DMA pointer
//----------
    LEVEL_REP        =  0x140,  //Level_Report of Saa7146 in Ave2k
	FEEDBACKBUF1	 =  0x144,
    A_TIME_SLOT1     =  0x180,  // from 180 - 1BC
    A_TIME_SLOT2     =  0x1C0,  // from 1C0 - 1FC
//----------
    END_OF_MEM_REG   =  0x200   // invalid register offset
  }; // end of SpciReg

//DEBI_CONFIG bits
#define DBC_XIRQEN	0x80000000
#define DBC_XRESUME	0x40000000
#define DBC_FAST	0x10000000
#define DBC_SWAP_NONE	0x00000000
#define DBC_SWAP_2	0x00100000
#define DBC_SWAP_4	0x00200000
#define DBC_SLAVE16	0x00080000
#define DBC_ADDINC	0x00040000
#define DBC_INTEL	0x00020000
#define DBC_TIEN	0x00000000
#define DBC_TIDS	0x00010000
  
//DEBI COMMAND bits
#define DEBI_WRITE	0x00000000
#define DEBI_READ	0x00010000 

#define ENABLE_DEBI	0x08000800

//video output formats
#define RGB16		0x80
#define RGB24		0x81
#define RGB32		0x82
#define RGB1555		0x83
#define RGB5515		0x84
#define RGB8		0x87

#define YUV422		0x00
#define YUV2		0x04
#define Y8          0x06
#endif

⌨️ 快捷键说明

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