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

📄 710defs.h

📁 基于华邦W90P710 arm开发板的AC97模块测试程序
💻 H
📖 第 1 页 / 共 4 页
字号:
/**************************************************************************************************
 *                                                                         
 * FILENAME
 *     710defs.h
 *
 * VERSION
 *     0.1
 *
 * DESCRIPTION
 *     This file contains the register map of W90P710 processor.
 *
 *     
 *************************************************************************************************/
#ifndef _W90P710_H
#define _W90P710_H

/****************************************************************************************************
 *                                                               
 * Data Types  
 *
 ****************************************************************************************************/
#define CONST		const

#define FALSE		0
#define TRUE		1

#define S8			signed char
#define S16			signed short
#define S32			signed int
#define U8			unsigned char
#define U16			unsigned short
#define U32			unsigned int
#define REG8		(unsigned char volatile)
#define REG16		(unsigned short volatile)
#define REG32		(unsigned int volatile)
#define BYTE		U8
#define WORD		U32

typedef char              BOOL;
typedef char *            PBOOL;

typedef char              INT8;
typedef char              CHAR;
typedef char *            PINT8;
typedef char *            PCHAR;
typedef unsigned char     UINT8;
typedef unsigned char     UCHAR;
typedef unsigned char *   PUINT8;
typedef unsigned char *   PUCHAR;
typedef char *            PSTR;
typedef const char *      PCSTR;

typedef short             SHORT;
typedef short *           PSHORT;
typedef unsigned short    USHORT;
typedef unsigned short *  PUSHORT;

typedef short             INT16;
typedef short *           PINT16;
typedef unsigned short    UINT16;
typedef unsigned short *  PUINT16;

typedef int               INT;
typedef int *             PINT;
typedef unsigned int      UINT;
typedef unsigned int *    PUINT;

typedef signed long       INT32;
typedef int *             PINT32;
typedef unsigned long     UINT32;
typedef unsigned int *    PUINT32;

typedef __int64           INT64;
typedef unsigned __int64  UINT64;

typedef float             FLOAT32;
typedef float *           PFLOAT32;

typedef double            DOUBLE64;
typedef double *          PDOUBLE32;
#define CrystalClk        15000000


/****************************************************************************************************
 *                                                               
 * I/O routines  
 *
 ****************************************************************************************************/
#define VPint   			*(unsigned int volatile *)
#define VPshort 			*(unsigned short volatile *)
#define VPchar  			*(unsigned char volatile *)


/**********************************************************************************************************
 *
 * 1. System Address Map - Defines the register base address of each Macro
 *                         function.
 *
 **********************************************************************************************************/
#define    GCR_BA    0xFFF00000 /* Global Control */
#define    EBI_BA    0xFFF01000 /* EBI Control */
#define    CACHE_BA  0xFFF02000 /* Cache Control */
#define    EMC_BA    0xFFF03000 /* Ethernet MAC */
#define    GDMA_BA   0xFFF04000 /* GDMA control */
#define    USBH_BA   0xFFF05000 /* USB Host Control */
#define    USBD_BA   0xFFF06000 /* USB Device Control */
#define    FMI_BA    0xFFF07000 /* Flash Memory Card Interface */
#define    LCD_BA    0xFFF08000 /* Display, LCM Interface & Bypass */
#define    ADO_BA    0xFFF09000 /* Audio Control */

#define    UART0_BA  0xFFF80000 /* UART0 Control (console) */
#define    UART1_BA  0xFFF80100 /* UART1 Control (Bluetooth) */
#define    UART2_BA  0xFFF80200 /* UART2 Control (IrDA) */
#define    UART3_BA  0xFFF80300 /* UART3 Control (micro-printer) */
#define    TMR_BA    0xFFF81000 /* Timer */
#define    AIC_BA    0xFFF82000 /* Interrupt Controller */
#define    GPIO_BA   0xFFF83000 /* GPIO Control */
#define    RTC_BA	 0xFFF84000 /* Real Time Clock Control */
#define    SCHI0_BA  0xFFF85000 /* Smart Card Host Interface 0 Control */
#define	   SCHI1_BA	 0xFFF85800 /* Smart Card Host Interface 1 Control */
#define    I2C0_BA   0xFFF86000 /* I2C 0 Control */
#define    I2C1_BA   0xFFF86100 /* I2C 1 Control */
#define    SSP_BA    0xFFF86200 /* Synchronous Serial Port */
#define    PWM_BA    0xFFF87000 /* Pulse Width Modulation Control */
#define    KPI_BA    0xFFF88000 /* Keypad Interface Control */
#define    PS2_BA    0xFFF89000 /* PS2 Interface Control */


/****************************************************************************************************
 *
 * 2. System Manager Control Registers
 *
 ****************************************************************************************************/
#define REG_PDID		(VPint(GCR_BA+0x0000))	/* Product Identifier Register  */
#define REG_ARBCON		(VPint(GCR_BA+0x0004))	/* Arbitration Control Register */
#define REG_PLLCON		(VPint(GCR_BA+0x0008))	/* PLL Control Register */
#define REG_CLKSEL		(VPint(GCR_BA+0x000C))	/* Clock Select Register */
#define REG_PLLCON2		(VPint(GCR_BA+0x0010))	/* PLL Control Register 2 */
#define REG_I2SCKCON	(VPint(GCR_BA+0x0014))	/* Audio IIS Clock Control Register */
#define REG_IRQWAKECON	(VPint(GCR_BA+0x0020))	/* IRQ Wakeup Control Register */
#define REG_IRQWAKEFLAG	(VPint(GCR_BA+0x0024))	/* IRQ Wakeup Flag Register */
#define REG_PMCON		(VPint(GCR_BA+0x0028))	/* Power Manager control Register */
#define REG_USBTXRCON	(VPint(GCR_BA+0x0030))	/* USB transceiver control Register */


/****************************************************************************************************
 *
 * 3. Memory Control Registers
 *
 ****************************************************************************************************/
#define REG_EBICON		(VPint(EBI_BA+0x000))	/* EBI control register */
#define REG_ROMCON		(VPint(EBI_BA+0x004))	/* ROM/FLASH control register */
#define REG_SDCONF0		(VPint(EBI_BA+0x008))	/* SDRAM bank 0 configuration register */
#define REG_SDCONF1		(VPint(EBI_BA+0x00C))	/* SDRAM bank 1 configuration register */
#define REG_SDTIME0		(VPint(EBI_BA+0x010))	/* SDRAM bank 0 timing control register */
#define REG_SDTIME1		(VPint(EBI_BA+0x014))	/* SDRAM bank 1 timing control register */
#define REG_EXT0CON		(VPint(EBI_BA+0x018))	/* External I/O 0 control register */
#define REG_EXT1CON		(VPint(EBI_BA+0x01C))	/* External I/O 1 control register */
#define REG_EXT2CON		(VPint(EBI_BA+0x020))	/* External I/O 2 control register */
#define REG_EXT3CON		(VPint(EBI_BA+0x024))	/* External I/O 3 control register */


/****************************************************************************************************
 *
 * Cache Control Registers
 *
 ****************************************************************************************************/
#define REG_CAHCNF		(VPint(CACHE_BA+0x000))	/* Cache configuration register */
#define REG_CAHCON		(VPint(CACHE_BA+0x004))	/* Cache control register */
#define REG_CAHADR		(VPint(CACHE_BA+0x008))	/* Cache address register */


/****************************************************************************************************
 *
 * 6. MAC Registers
 *
 ****************************************************************************************************/
	/* Control register */
#define REG_CAMCMR			(VPint(EMC_BA+0x000))	/* CAM Command Register */
#define REG_CAMEN			(VPint(EMC_BA+0x004))	/* CAM Enable Register */
#define REG_CAM0M_Base		(VPint(EMC_BA+0x008))
#define REG_CAM0L_Base		(VPint(EMC_BA+0x00c))
#define REG_CAMxM_Reg(x)	(VPint(REG_CAM0M_Base+x*0x8))		/*  */
#define REG_CAMxL_Reg(x)	(VPint(REG_CAM0L_Base+x*0x8))		/*  */

#define REG_TXDLSA			(VPint(EMC_BA+0x088))	/* Transmit Descriptor Link List Start Address Register */
#define REG_RXDLSA			(VPint(EMC_BA+0x08C))	/* Receive Descriptor Link List Start Address Register */
#define REG_MCMDR			(VPint(EMC_BA+0x090))	/* MAC Command Register */
#define REG_MIID			(VPint(EMC_BA+0x094))	/* MII Management Data Register */
#define REG_MIIDA			(VPint(EMC_BA+0x098))	/* MII Management Control and Address Register */
#define REG_FFTCR			(VPint(EMC_BA+0x09C))	/* FIFO Threshold Control Register */
#define REG_TSDR			(VPint(EMC_BA+0x0a0))	/* Transmit Start Demand Register */
#define REG_RSDR			(VPint(EMC_BA+0x0a4))	/* Receive Start Demand Register */
#define REG_DMARFC			(VPint(EMC_BA+0x0a8))	/* Maximum Receive Frame Control Register */
#define REG_MIEN			(VPint(EMC_BA+0x0ac))	/* MAC Interrupt Enable Register */
	/* Status Registers */
#define REG_MISTA			(VPint(EMC_BA+0x0b0))	/* MAC Interrupt Status Register */
#define REG_MGSTA			(VPint(EMC_BA+0x0b4))	/* MAC General Status Register */
#define REG_MPCNT			(VPint(EMC_BA+0x0b8))	/* Missed Packet Count Register */
#define REG_MRPC			(VPint(EMC_BA+0x0bc))	/* MAC Receive Pause Count Register */
#define REG_MRPCC			(VPint(EMC_BA+0x0c0))	/* MAC Receive Pause Current Count Register */
#define REG_MREPC			(VPint(EMC_BA+0x0c4))	/* MAC Remote Pause Count Register */
#define REG_DMARFS			(VPint(EMC_BA+0x0c8))	/* DMA Receive Frame Status Register */
#define REG_CTXDSA			(VPint(EMC_BA+0x0cc))	/* Current Transmit Descriptor Start Address Register */
#define REG_CTXBSA			(VPint(EMC_BA+0x0d0))	/* Current Transmit Buffer Start Address Register */
#define REG_CRXDSA			(VPint(EMC_BA+0x0d4))	/* Current Receive Descriptor Start Address Register */

⌨️ 快捷键说明

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