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

📄 s3c2410.h.svn-base

📁 usb drivers based on s3c2410
💻 SVN-BASE
字号:
#ifndef S3C2410_H#define S3C2410_H#include "global.h"#include "arm.h"#define S3C2410_REGBASE		0x48000000/************************************//* Memory Controller Registers      *//************************************/#define BWSCON		REGL(S3C2410_REGBASE, 0x00000000)#define BANKCON0	REGL(S3C2410_REGBASE, 0x00000004)#define BANKCON1	REGL(S3C2410_REGBASE, 0x00000008)#define BANKCON2	REGL(S3C2410_REGBASE, 0x0000000c)#define BANKCON3	REGL(S3C2410_REGBASE, 0x00000010)#define BANKCON4	REGL(S3C2410_REGBASE, 0x00000014)#define BANKCON5	REGL(S3C2410_REGBASE, 0x00000018)#define BANKCON6	REGL(S3C2410_REGBASE, 0x0000001c)#define BANKCON7	REGL(S3C2410_REGBASE, 0x00000020)#define REFRESH		REGL(S3C2410_REGBASE, 0x00000024)#define BANKSIZE	REGL(S3C2410_REGBASE, 0x00000028)#define MRSRB6		REGL(S3C2410_REGBASE, 0x0000002c)#define MRSRB7		REGL(S3C2410_REGBASE, 0x00000030)/*********************************//* Memory Types                  *//*********************************/#define MT_SRAM	  0x0#define MT_SDRAM  0x3/*********************//* UART Registers    *//*********************/#define ULCON0		REGL(S3C2410_REGBASE, 0x08000000)#define ULCON1		REGL(S3C2410_REGBASE, 0x08004000)#define ULCON2		REGL(S3C2410_REGBASE, 0x08008000)#define UCON0	  	REGL(S3C2410_REGBASE, 0x08000004)#define UCON1	    REGL(S3C2410_REGBASE, 0x08004004)#define UCON2		  REGL(S3C2410_REGBASE, 0x08008004)#define UFCON0		REGL(S3C2410_REGBASE, 0x08000008)#define UFCON1		REGL(S3C2410_REGBASE, 0x08004008)#define UFCON2		REGL(S3C2410_REGBASE, 0x08008008)#define UMCON0		REGL(S3C2410_REGBASE, 0x0800000c)#define UMCON1		REGL(S3C2410_REGBASE, 0x0800400c)#define UMCON2		REGL(S3C2410_REGBASE, 0x0800800c)#define UTRSTAT0	REGL(S3C2410_REGBASE, 0x08000010)#define UTRSTAT1	REGL(S3C2410_REGBASE, 0x08004010)#define UTRSTAT2	REGL(S3C2410_REGBASE, 0x08008010)#define UERSTAT0	REGL(S3C2410_REGBASE, 0x08000014)#define UERSTAT1	REGL(S3C2410_REGBASE, 0x08004014)#define UERSTAT2	REGL(S3C2410_REGBASE, 0x08008014)#define UFSTAT0		REGL(S3C2410_REGBASE, 0x08000018)#define UFSTAT1		REGL(S3C2410_REGBASE, 0x08004018)#define UFSTAT2		REGL(S3C2410_REGBASE, 0x08008018)#define UMSTAT0		REGL(S3C2410_REGBASE, 0x0800001c)#define UMSTAT1		REGL(S3C2410_REGBASE, 0x0800401c)#define UMSTAT2		REGL(S3C2410_REGBASE, 0x0800801c)#ifdef __BIG_ENDIAN#define UTXH0		  REGB(S3C2410_REGBASE, 0x08000023)#define UTXH1		  REGB(S3C2410_REGBASE, 0x08004023)#define UTXH2		  REGB(S3C2410_REGBASE, 0x08008023)#define URXH0		  REGB(S3C2410_REGBASE, 0x08000027)#define URXH1		  REGB(S3C2410_REGBASE, 0x08004027)#define URXH2		  REGB(S3C2410_REGBASE, 0x08008027)#else#define UTXH0		  REGB(S3C2410_REGBASE, 0x08000020)#define UTXH1		  REGB(S3C2410_REGBASE, 0x08004020)#define UTXH2		  REGB(S3C2410_REGBASE, 0x08008020)#define URXH0		  REGB(S3C2410_REGBASE, 0x08000024)#define URXH1		  REGB(S3C2410_REGBASE, 0x08004024)#define URXH2		  REGB(S3C2410_REGBASE, 0x08008024)#endif /*__BIG_ENDIAN*/#define UBRDIV0		REGL(S3C2410_REGBASE, 0x08000028)#define UBRDIV1		REGL(S3C2410_REGBASE, 0x08004028)#define UBRDIV2		REGL(S3C2410_REGBASE, 0x08008028)/*********************************//* Clock & Power Registers       *//*********************************/#define LOCKTIME	REGL(S3C2410_REGBASE, 0x04000000)#define MPLLCON		REGL(S3C2410_REGBASE, 0x04000004)#define UPLLCON		REGL(S3C2410_REGBASE, 0x04000008)#define CLKCON		REGL(S3C2410_REGBASE, 0x0400000c)#define CLKSLOW		REGL(S3C2410_REGBASE, 0x04000010)#define CLKDIVN   REGL(S3C2410_REGBASE, 0x04000014)/**************************************//* Interrupt Controller Registers     *//**************************************/#define SRCPND    REGL(S3C2410_REGBASE, 0x02000000)#define INTMOD    REGL(S3C2410_REGBASE, 0x02000004)#define INTMSK    REGL(S3C2410_REGBASE, 0x02000008)#define PRIORITY  REGL(S3C2410_REGBASE, 0x0200000c)#define INTPND    REGL(S3C2410_REGBASE, 0x02000010)#define INTOFFSET REGL(S3C2410_REGBASE, 0x02000014)#define SUBSRCPND REGL(S3C2410_REGBASE, 0x02000018)#define INTSUBMSK REGL(S3C2410_REGBASE, 0x0200001c)/**************************************//* Interrupt sources                  *//**************************************/#define INT_ADC		31#define INT_RTC		30#define INT_SPI1	29#define INT_UART0	28#define INT_IIC		27#define INT_USBH	26#define INT_USBD	25/*Reserved 24*/#define INT_UART1	23#define INT_SPI0	22#define INT_SDI		21#define INT_DMA3	20#define INT_DMA2	19#define INT_DMA1	18#define INT_DMA0	17#define INT_LCD		16#define INT_UART2	15#define INT_TIMER4	14#define INT_TIMER3	13#define INT_TIMER2	12#define INT_TIMER1	11#define INT_TIMER0	10#define INT_WDT 	9#define INT_TICK	8#define nBATT_FLT	7/*Reserved 6*/#define EINT8_23	5#define EINT4_7		4#define EINT3		3#define EINT2		2#define EINT1		1#define EINT0		0/*********************************//* WatchDog Timers Registers     *//*********************************/#define WTCON     REGL(S3C2410_REGBASE, 0x0b000000)#define WTDAT     REGL(S3C2410_REGBASE, 0x0b000004)#define WTCNT     REGL(S3C2410_REGBASE, 0x0b000008)/*********************************//* I/O Ports Control Registers   *//*********************************/#define GPHCON    REGL(S3C2410_REGBASE, 0x0E000070)#define GPHDAT    REGL(S3C2410_REGBASE, 0x0E000074)#define GPHUP     REGL(S3C2410_REGBASE, 0x0E000078)#define GPFCON    REGW(S3C2410_REGBASE, 0x0E000050)#define GPFDAT    REGL(S3C2410_REGBASE, 0x0E000054)#define GPFUP     REGL(S3C2410_REGBASE, 0x0E000058)#define GPGCON		REGL(S3C2410_REGBASE, 0X0E000060)#define GPGUP 		REGL(S3C2410_REGBASE, 0X0E000068)#define EXTINT1 	REGL(S3C2410_REGBASE, 0X0E00008c)#define EINTMASK 	REGL(S3C2410_REGBASE, 0X0E0000a4)#define EINTPEND 	REGL(S3C2410_REGBASE, 0X0E0000a8)/*********************************//* PWM Timer Control Registers   *//*********************************/#define TCFG0     REGL(S3C2410_REGBASE, 0x09000000)#define TCFG1     REGL(S3C2410_REGBASE, 0x09000004)#define TCON      REGL(S3C2410_REGBASE, 0x09000008)#define TCNTB0    REGW(S3C2410_REGBASE, 0x0900000c)#define TCMPB0    REGW(S3C2410_REGBASE, 0x09000010)#define TCNTO0    REGW(S3C2410_REGBASE, 0x09000014)#define TCNTB1    REGW(S3C2410_REGBASE, 0x09000018)#define TCMPB1    REGW(S3C2410_REGBASE, 0x0900001c)#define TCNTO1    REGW(S3C2410_REGBASE, 0x09000020)#define TCNTB2    REGW(S3C2410_REGBASE, 0x09000024)#define TCMPB2    REGW(S3C2410_REGBASE, 0x09000028)#define TCNTO2    REGW(S3C2410_REGBASE, 0x0900002c)#define TCNTB3    REGW(S3C2410_REGBASE, 0x09000030)#define TCMPB3    REGW(S3C2410_REGBASE, 0x09000034)#define TCNTO3    REGW(S3C2410_REGBASE, 0x09000038)#define TCNTB4    REGW(S3C2410_REGBASE, 0x0900003c)#define TCNTO4    REGW(S3C2410_REGBASE, 0x09000040)/*********************************//* USB Device Registers          *//*********************************/#define USB_REGBASE (S3C2410_REGBASE+0x0A000000)#ifdef __BIG_ENDIAN#define FUNC_ADDR_REG		     REGB(USB_REGBASE, 0x143)#define PWR_REG     		     REGB(USB_REGBASE, 0x147)#define EP_INT_REG  		     REGB(USB_REGBASE, 0x14B)#define USB_INT_REG 		     REGB(USB_REGBASE, 0x15B)#define EP_INT_EN_REG		     REGB(USB_REGBASE, 0x15F)#define USB_INT_EN_REG		   REGB(USB_REGBASE, 0x16F)#define FRAME_NUM1_REG	     REGB(USB_REGBASE, 0x173)#define FRAME_NUM2_REG	     REGB(USB_REGBASE, 0x177)#define INDEX_REG   		     REGB(USB_REGBASE, 0x17B)#define EP0_CSR     		     REGB(USB_REGBASE, 0x187)#define IN_CSR1_REG 		     REGB(USB_REGBASE, 0x187)#define IN_CSR2_REG 		     REGB(USB_REGBASE, 0x18B)#define MAXP_REG    		     REGB(USB_REGBASE, 0x18F)#define OUT_CSR1_REG 		     REGB(USB_REGBASE, 0x193)#define OUT_CSR2_REG		     REGB(USB_REGBASE, 0x197)#define EP0_FIFO    		     REGB(USB_REGBASE, 0x1C3)#define EP1_FIFO		         REGB(USB_REGBASE, 0x1C7)#define EP2_FIFO    		     REGB(USB_REGBASE, 0x1CB)#define EP3_FIFO		         REGB(USB_REGBASE, 0x1CF)#define EP4_FIFO    		     REGB(USB_REGBASE, 0x1D3)#define OUT_FIFO_CNT1_REG    REGB(USB_REGBASE, 0x19B)#define OUT_FIFO_CNT2_REG    REGB(USB_REGBASE, 0x19F)#define EP1_DMA_CON  		     REGB(USB_REGBASE, 0x203)#define EP1_DMA_UNIT 		     REGB(USB_REGBASE, 0x207)#define EP1_DMA_FIFO 		     REGB(USB_REGBASE, 0x20B)#define EP1_DMA_TTC_L 	     REGB(USB_REGBASE, 0x20F)#define EP1_DMA_TTC_M 	     REGB(USB_REGBASE, 0x213)#define EP1_DMA_TTC_H 	     REGB(USB_REGBASE, 0x217)#define EP2_DMA_CON  		     REGB(USB_REGBASE, 0x21B)#define EP2_DMA_UNIT 		     REGB(USB_REGBASE, 0x21F)#define EP2_DMA_FIFO 		     REGB(USB_REGBASE, 0x223)#define EP2_DMA_TTC_L 	     REGB(USB_REGBASE, 0x227)#define EP2_DMA_TTC_M 	     REGB(USB_REGBASE, 0x22B)#define EP2_DMA_TTC_H 	     REGB(USB_REGBASE, 0x22F)#define EP3_DMA_CON  		     REGB(USB_REGBASE, 0x243)#define EP3_DMA_UNIT 		     REGB(USB_REGBASE, 0x247)#define EP3_DMA_FIFO 		     REGB(USB_REGBASE, 0x24B)#define EP3_DMA_TTC_L 	     REGB(USB_REGBASE, 0x24F)#define EP3_DMA_TTC_M 	     REGB(USB_REGBASE, 0x253)#define EP3_DMA_TTC_H 	     REGB(USB_REGBASE, 0x257)#define EP4_DMA_CON  		     REGB(USB_REGBASE, 0x25B)#define EP4_DMA_UNIT 		     REGB(USB_REGBASE, 0x25F)#define EP4_DMA_FIFO 		     REGB(USB_REGBASE, 0x263)#define EP4_DMA_TTC_L 	     REGB(USB_REGBASE, 0x267)#define EP4_DMA_TTC_M 	     REGB(USB_REGBASE, 0x26B)#define EP4_DMA_TTC_H 	     REGB(USB_REGBASE, 0x26F)#else#define FUNC_ADDR_REG		     REGB(USB_REGBASE, 0x140)#define PWR_REG     		     REGB(USB_REGBASE, 0x144)#define EP_INT_REG  		     REGB(USB_REGBASE, 0x148)#define USB_INT_REG 		     REGB(USB_REGBASE, 0x158)#define EP_INT_EN_REG		     REGB(USB_REGBASE, 0x15C)#define USB_INT_EN_REG		   REGB(USB_REGBASE, 0x16C)#define FRAME_NUM1_REG	     REGB(USB_REGBASE, 0x170)#define FRAME_NUM2_REG	     REGB(USB_REGBASE, 0x174)#define INDEX_REG   		     REGB(USB_REGBASE, 0x178)#define EP0_CSR     		     REGB(USB_REGBASE, 0x184)#define IN_CSR1_REG 		     REGB(USB_REGBASE, 0x184)#define IN_CSR2_REG 		     REGB(USB_REGBASE, 0x188)#define MAXP_REG    		     REGB(USB_REGBASE, 0x18C)#define OUT_CSR1_REG 		     REGB(USB_REGBASE, 0x190)#define OUT_CSR2_REG		     REGB(USB_REGBASE, 0x194)#define OUT_FIFO_CNT1_REG    REGB(USB_REGBASE, 0x198)#define OUT_FIFO_CNT2_REG    REGB(USB_REGBASE, 0x19C)#define EP0_FIFO    		     REGB(USB_REGBASE, 0x1C0)#define EP1_FIFO		         REGB(USB_REGBASE, 0x1C4)#define EP2_FIFO    		     REGB(USB_REGBASE, 0x1C8)#define EP3_FIFO		         REGB(USB_REGBASE, 0x1CC)#define EP4_FIFO    		     REGB(USB_REGBASE, 0x1D0)#define EP1_DMA_CON  		     REGB(USB_REGBASE, 0x200)#define EP1_DMA_UNIT 		     REGB(USB_REGBASE, 0x204)#define EP1_DMA_FIFO 		     REGB(USB_REGBASE, 0x208)#define EP1_DMA_TTC_L 	     REGB(USB_REGBASE, 0x20C)#define EP1_DMA_TTC_M 	     REGB(USB_REGBASE, 0x210)#define EP1_DMA_TTC_H 	     REGB(USB_REGBASE, 0x214)#define EP2_DMA_CON  		     REGB(USB_REGBASE, 0x218)#define EP2_DMA_UNIT 		     REGB(USB_REGBASE, 0x21C)#define EP2_DMA_FIFO 		     REGB(USB_REGBASE, 0x220)#define EP2_DMA_TTC_L 	     REGB(USB_REGBASE, 0x224)#define EP2_DMA_TTC_M 	     REGB(USB_REGBASE, 0x228)#define EP2_DMA_TTC_H 	     REGB(USB_REGBASE, 0x22C)#define EP3_DMA_CON  		     REGB(USB_REGBASE, 0x240)#define EP3_DMA_UNIT 		     REGB(USB_REGBASE, 0x244)#define EP3_DMA_FIFO 		     REGB(USB_REGBASE, 0x248)#define EP3_DMA_TTC_L 	     REGB(USB_REGBASE, 0x24C)#define EP3_DMA_TTC_M 	     REGB(USB_REGBASE, 0x250)#define EP3_DMA_TTC_H 	     REGB(USB_REGBASE, 0x254)#define EP4_DMA_CON  		     REGB(USB_REGBASE, 0x258)#define EP4_DMA_UNIT 		     REGB(USB_REGBASE, 0x25C)#define EP4_DMA_FIFO 		     REGB(USB_REGBASE, 0x260)#define EP4_DMA_TTC_L 	     REGB(USB_REGBASE, 0x264)#define EP4_DMA_TTC_M 	     REGB(USB_REGBASE, 0x268)#define EP4_DMA_TTC_H 	     REGB(USB_REGBASE, 0x26C)#endif/*********************************//* DMA Device Registers          *//*********************************/#define DMA_REGBASE (S3C2410_REGBASE+0x03000000)#define DISRC0     REGL(DMA_REGBASE, 0x00)#define DISRCC0    REGL(DMA_REGBASE, 0x04)#define DIDST0     REGL(DMA_REGBASE, 0x08)#define DIDSTC0    REGL(DMA_REGBASE, 0x0C)#define DCON0      REGL(DMA_REGBASE, 0x10)#define DSTAT0     REGL(DMA_REGBASE, 0x14)#define DCSRC0     REGL(DMA_REGBASE, 0x18)#define DCDST0     REGL(DMA_REGBASE, 0x1C)#define DMASKTRIG0 REGL(DMA_REGBASE, 0x20)#define DISRC1     REGL(DMA_REGBASE, 0x40)#define DISRCC1    REGL(DMA_REGBASE, 0x44)#define DIDST1     REGL(DMA_REGBASE, 0x48)#define DIDSTC1    REGL(DMA_REGBASE, 0x4C)#define DCON1      REGL(DMA_REGBASE, 0x50)#define DSTAT1     REGL(DMA_REGBASE, 0x54)#define DCSRC1     REGL(DMA_REGBASE, 0x58)#define DCDST1     REGL(DMA_REGBASE, 0x5C)#define DMASKTRIG1 REGL(DMA_REGBASE, 0x60)#define DISRC2     REGL(DMA_REGBASE, 0x80)#define DISRCC2    REGL(DMA_REGBASE, 0x84)#define DIDST2     REGL(DMA_REGBASE, 0x88)#define DIDSTC2    REGL(DMA_REGBASE, 0x8C)#define DCON2      REGL(DMA_REGBASE, 0x90)#define DSTAT2     REGL(DMA_REGBASE, 0x94)#define DCSRC2     REGL(DMA_REGBASE, 0x98)#define DCDST2     REGL(DMA_REGBASE, 0x9C)#define DMASKTRIG2 REGL(DMA_REGBASE, 0xA0)#define DISRC3     REGL(DMA_REGBASE, 0xC0)#define DISRCC3    REGL(DMA_REGBASE, 0xC4)#define DIDST3     REGL(DMA_REGBASE, 0xC8)#define DIDSTC3    REGL(DMA_REGBASE, 0xCC)#define DCON3      REGL(DMA_REGBASE, 0xD0)#define DSTAT3     REGL(DMA_REGBASE, 0xD4)#define DCSRC3     REGL(DMA_REGBASE, 0xD8)#define DCDST3     REGL(DMA_REGBASE, 0xDC)#define DMASKTRIG3 REGL(DMA_REGBASE, 0xE0)#define SIZE_BOOT_SRAM 0x1000#define INT_ENABLE(irq)    (INTMSK &= ~(1 << (irq)))#define INT_DISABLE(irq)   (INTMSK |= 1 << (irq))#define CLEAR_PENDING(irq) (SRCPND = 1 << (irq), INTPND = 1 << (irq))#endif /* S3C2410_H */

⌨️ 快捷键说明

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