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

📄 s3c4510.h

📁 RT-Thread是发展中的下一代微内核嵌入式实时操作系统
💻 H
字号:
/* * File      : s3c4510.h * This file is part of RT-Thread RTOS * COPYRIGHT (C) 2006, RT-Thread Develop Team * * The license and distribution terms for this file may be * found in the file LICENSE in this distribution or at * http://openlab.rt-thread.com/license/LICENSE * * Change Logs: * Date           Author       Notes * 2006-03-13     Bernard      first version */#ifndef __S3C4510_H__#define __S3C4510_H__#ifdef __cplusplusextern "C" {#endif/** * @addtogroup S3C4510 *//*@{*//*------------------------------------------------------------------------ *	  ASIC Address Definition *----------------------------------------------------------------------*/#define S3C_REG    *(volatile unsigned int *)/* Special Register Start Address After System Reset */#define _SPSTR_RESET    (S3C_REG(0x1000000))#define S3C4510_BASE_ADDR		0x3ff0000#define S3C4510_SRAM_ADDR		0x3fe0000#define INTADDR 		(Reset_Addr+0x20)		#define SPSTR      		(S3C_REG(S3C4510_BASE_ADDR))/* *********************** *//* System Manager Register *//* *********************** */#define SYSCFG			(S3C_REG(S3C4510_BASE_ADDR+0x0000))#define CLKCON			(S3C_REG(S3C4510_BASE_ADDR+0x3000))#define EXTACON0		(S3C_REG(S3C4510_BASE_ADDR+0x3008))#define EXTACON1		(S3C_REG(S3C4510_BASE_ADDR+0x300c))#define EXTDBWTH		(S3C_REG(S3C4510_BASE_ADDR+0x3010))#define ROMCON0			(S3C_REG(S3C4510_BASE_ADDR+0x3014))#define ROMCON1			(S3C_REG(S3C4510_BASE_ADDR+0x3018))#define ROMCON2			(S3C_REG(S3C4510_BASE_ADDR+0x301c))#define ROMCON3			(S3C_REG(S3C4510_BASE_ADDR+0x3020))#define ROMCON4			(S3C_REG(S3C4510_BASE_ADDR+0x3024))#define ROMCON5			(S3C_REG(S3C4510_BASE_ADDR+0x3028))#define DRAMCON0		(S3C_REG(S3C4510_BASE_ADDR+0x302c))#define DRAMCON1		(S3C_REG(S3C4510_BASE_ADDR+0x3030))#define DRAMCON2		(S3C_REG(S3C4510_BASE_ADDR+0x3034))#define DRAMCON3		(S3C_REG(S3C4510_BASE_ADDR+0x3038))#define REFEXTCON		(S3C_REG(S3C4510_BASE_ADDR+0x303c))/* *********************** *//* Ethernet BDMA Register  *//* *********************** */#define BDMATXCON		(S3C_REG(S3C4510_BASE_ADDR+0x9000))#define BDMARXCON		(S3C_REG(S3C4510_BASE_ADDR+0x9004))#define BDMATXPTR		(S3C_REG(S3C4510_BASE_ADDR+0x9008))#define BDMARXPTR		(S3C_REG(S3C4510_BASE_ADDR+0x900c))#define BDMARXLSZ		(S3C_REG(S3C4510_BASE_ADDR+0x9010))#define BDMASTAT		(S3C_REG(S3C4510_BASE_ADDR+0x9014))/* Content Address Memory */#define CAM_BaseAddr	(S3C4510_BASE_ADDR + 0x9100)#define CAM_BASE		(S3C_REG(S3C4510_BASE_ADDR+0x9100))#define CAM_Reg(x)		(S3C_REG(CAM_BaseAddr+(x*0x4)))#define BDMATXBUF		(S3C_REG(S3C4510_BASE_ADDR+0x9200))#define BDMARXBUF		(S3C_REG(S3C4510_BASE_ADDR+0x9800))/* *********************** *//* Ethernet MAC Register   *//* *********************** */#define MACCON			(S3C_REG(S3C4510_BASE_ADDR+0xa000))#define CAMCON			(S3C_REG(S3C4510_BASE_ADDR+0xa004))#define MACTXCON		(S3C_REG(S3C4510_BASE_ADDR+0xa008))#define MACTXSTAT		(S3C_REG(S3C4510_BASE_ADDR+0xa00c))#define MACRXCON		(S3C_REG(S3C4510_BASE_ADDR+0xa010))#define MACRXSTAT		(S3C_REG(S3C4510_BASE_ADDR+0xa014))#define STADATA			(S3C_REG(S3C4510_BASE_ADDR+0xa018))#define STACON			(S3C_REG(S3C4510_BASE_ADDR+0xa01c))#define CAMEN			(S3C_REG(S3C4510_BASE_ADDR+0xa028))#define EMISSCNT		(S3C_REG(S3C4510_BASE_ADDR+0xa03c))#define EPZCNT			(S3C_REG(S3C4510_BASE_ADDR+0xa040))#define ERMPZCNT		(S3C_REG(S3C4510_BASE_ADDR+0xa044))#define ETXSTAT			(S3C_REG(S3C4510_BASE_ADDR+0x9040))#define MACRXDESTR		(S3C_REG(S3C4510_BASE_ADDR+0xa064))#define MACRXSTATEM		(S3C_REG(S3C4510_BASE_ADDR+0xa090))#define MACRXFIFO		(S3C_REG(S3C4510_BASE_ADDR+0xa200))/**************************************************//* KS32C50100 : HDLC Channel A                    *//**************************************************/#define HMODEA 			(S3C_REG(S3C4510_BASE_ADDR+0x7000))#define HCONA 			(S3C_REG(S3C4510_BASE_ADDR+0x7004))#define HSTATA  		(S3C_REG(S3C4510_BASE_ADDR+0x7008))#define HINTENA 		(S3C_REG(S3C4510_BASE_ADDR+0x700c))#define HTXFIFOCA 		(S3C_REG(S3C4510_BASE_ADDR+0x7010))#define HTXFIFOTA 		(S3C_REG(S3C4510_BASE_ADDR+0x7014))#define HRXFIFOA 		(S3C_REG(S3C4510_BASE_ADDR+0x7018))#define HBRGTCA			(S3C_REG(S3C4510_BASE_ADDR+0x701c))#define HPRMBA	 		(S3C_REG(S3C4510_BASE_ADDR+0x7020))#define HSAR0A 			(S3C_REG(S3C4510_BASE_ADDR+0x7024))#define HSAR1A	 		(S3C_REG(S3C4510_BASE_ADDR+0x7028))#define HSAR2A	 		(S3C_REG(S3C4510_BASE_ADDR+0x702c))#define HSAR3A	 		(S3C_REG(S3C4510_BASE_ADDR+0x7030))#define HMASKA 			(S3C_REG(S3C4510_BASE_ADDR+0x7034))#define HDMATXPTRA 		(S3C_REG(S3C4510_BASE_ADDR+0x7038))#define HDMARXPTRA 		(S3C_REG(S3C4510_BASE_ADDR+0x703c))#define HMFLRA 			(S3C_REG(S3C4510_BASE_ADDR+0x7040))#define HRBSRA 			(S3C_REG(S3C4510_BASE_ADDR+0x7044))#define HDLCBaseAddr	(S3C4510_BASE_ADDR+0x7000)	/**************************************************//* KS32C50100 : HDLC Channel B                    *//**************************************************/#define HMODEB 			(S3C_REG(S3C4510_BASE_ADDR+0x8000))#define HCONB 			(S3C_REG(S3C4510_BASE_ADDR+0x8004))#define HSTATB  		(S3C_REG(S3C4510_BASE_ADDR+0x8008))#define HINTENB 		(S3C_REG(S3C4510_BASE_ADDR+0x800c))#define HTXFIFOCB 		(S3C_REG(S3C4510_BASE_ADDR+0x8010))#define HTXFIFOTB 		(S3C_REG(S3C4510_BASE_ADDR+0x8014))#define HRXFIFOB 		(S3C_REG(S3C4510_BASE_ADDR+0x8018))#define HBRGTCB			(S3C_REG(S3C4510_BASE_ADDR+0x801c))#define HPRMBB	 		(S3C_REG(S3C4510_BASE_ADDR+0x8020))#define HSAR0B 			(S3C_REG(S3C4510_BASE_ADDR+0x8024))#define HSAR1B	 		(S3C_REG(S3C4510_BASE_ADDR+0x8028))#define HSAR2B	 		(S3C_REG(S3C4510_BASE_ADDR+0x802c))#define HSAR3B	 		(S3C_REG(S3C4510_BASE_ADDR+0x8030))#define HMASKB 			(S3C_REG(S3C4510_BASE_ADDR+0x8034))#define HDMATXPTRB 		(S3C_REG(S3C4510_BASE_ADDR+0x8038))#define HDMARXPTRB 		(S3C_REG(S3C4510_BASE_ADDR+0x803c))#define HMFLRB 			(S3C_REG(S3C4510_BASE_ADDR+0x8040))#define HRBSRB 			(S3C_REG(S3C4510_BASE_ADDR+0x8044))/********************//* I2C Bus Register *//********************/#define IICCON	 		(S3C_REG(S3C4510_BASE_ADDR+0xf000))#define IICBUF	 		(S3C_REG(S3C4510_BASE_ADDR+0xf004))#define IICPS	 		(S3C_REG(S3C4510_BASE_ADDR+0xf008))#define IICCOUNT 		(S3C_REG(S3C4510_BASE_ADDR+0xf00c))/********************//*    GDMA 0        *//********************/#define GDMACON0		(S3C_REG(S3C4510_BASE_ADDR+0xb000))#define GDMA0_RUN_ENABLE (S3C_REG(S3C4510_BASE_ADDR+0xb020))#define GDMASRC0		(S3C_REG(S3C4510_BASE_ADDR+0xb004))#define GDMADST0		(S3C_REG(S3C4510_BASE_ADDR+0xb008))#define GDMACNT0		(S3C_REG(S3C4510_BASE_ADDR+0xb00c))/********************//*    GDMA 1        *//********************/#define GDMACON1		(S3C_REG(S3C4510_BASE_ADDR+0xc000))#define GDMA1_RUN_ENABLE (S3C_REG(S3C4510_BASE_ADDR+0xc020))#define GDMASRC1		(S3C_REG(S3C4510_BASE_ADDR+0xc004))#define GDMADST1		(S3C_REG(S3C4510_BASE_ADDR+0xc008))#define GDMACNT1		(S3C_REG(S3C4510_BASE_ADDR+0xc00c))/********************//*      UART 0      *//********************/#define UARTLCON0       (S3C_REG(S3C4510_BASE_ADDR+0xd000))#define UARTCONT0       (S3C_REG(S3C4510_BASE_ADDR+0xd004))#define UARTSTAT0       (S3C_REG(S3C4510_BASE_ADDR+0xd008))#define UARTTXH0        (S3C_REG(S3C4510_BASE_ADDR+0xd00c))#define UARTRXB0        (S3C_REG(S3C4510_BASE_ADDR+0xd010))#define UARTBRD0        (S3C_REG(S3C4510_BASE_ADDR+0xd014))/********************//*     UART 1       *//********************/#define UARTLCON1       (S3C_REG(S3C4510_BASE_ADDR+0xe000))#define UARTCONT1       (S3C_REG(S3C4510_BASE_ADDR+0xe004))#define UARTSTAT1       (S3C_REG(S3C4510_BASE_ADDR+0xe008))#define UARTTXH1        (S3C_REG(S3C4510_BASE_ADDR+0xe00c))#define UARTRXB1        (S3C_REG(S3C4510_BASE_ADDR+0xe010))#define UARTBRD1        (S3C_REG(S3C4510_BASE_ADDR+0xe014))/********************//*  Timer Register  *//********************/#define TMOD  	  		(S3C_REG(S3C4510_BASE_ADDR+0x6000))#define TDATA0			(S3C_REG(S3C4510_BASE_ADDR+0x6004))#define TDATA1			(S3C_REG(S3C4510_BASE_ADDR+0x6008))#define TCNT0			(S3C_REG(S3C4510_BASE_ADDR+0x600c))#define TCNT1			(S3C_REG(S3C4510_BASE_ADDR+0x6010))/**********************//* I/O Port Interface *//**********************/#define IOPMOD	  		(S3C_REG(S3C4510_BASE_ADDR+0x5000))#define IOPCON  		(S3C_REG(S3C4510_BASE_ADDR+0x5004))#define IOPDATA 		(S3C_REG(S3C4510_BASE_ADDR+0x5008))/*********************************//* Interrupt Controller Register *//*********************************/#define INTMODE			(S3C_REG(S3C4510_BASE_ADDR+0x4000))#define INTPEND			(S3C_REG(S3C4510_BASE_ADDR+0x4004))#define INTMASK			(S3C_REG(S3C4510_BASE_ADDR+0x4008))#define INTPRI0			(S3C_REG(S3C4510_BASE_ADDR+0x400c))#define INTPRI1			(S3C_REG(S3C4510_BASE_ADDR+0x4010))#define INTPRI2			(S3C_REG(S3C4510_BASE_ADDR+0x4014))#define INTPRI3			(S3C_REG(S3C4510_BASE_ADDR+0x4018))#define INTPRI4			(S3C_REG(S3C4510_BASE_ADDR+0x401c))#define INTPRI5			(S3C_REG(S3C4510_BASE_ADDR+0x4020))#define INTOFFSET		(S3C_REG(S3C4510_BASE_ADDR+0x4024))#define INTPNDPRI		(S3C_REG(S3C4510_BASE_ADDR+0x4028))#define INTPNDTST		(S3C_REG(S3C4510_BASE_ADDR+0x402C))#define INTE0			0#define INTE1			1#define INTE2			2#define INTE3			3#define INTUART0_TX		4#define INTUART0_RX		5#define INTUART1_TX		6#define INTUART1_RX		7#define INTGDMA0		8#define INTGDMA1		9#define INTTIMER0		10#define INTTIMER1		11#define INTHDLC0_TX		12#define INTHDLC0_RX		13#define INTHDLC1_TX		14#define INTHDLC1_RX		15#define INTETH_BDMA_TX	16#define INTETH_BDMA_RX	17#define INTETH_MAC_TX	18#define INTETH_MAC_RX	19#define INTIIC			20#define INTGLOBAL		21/*****************************//* CPU Mode                  *//*****************************/#define USERMODE		0x10#define FIQMODE			0x11#define IRQMODE			0x12#define SVCMODE			0x13#define ABORTMODE		0x17#define UNDEFMODE		0x1b#define MODEMASK		0x1f#define NOINT			0xc0struct rt_hw_register{	unsigned long r0;	unsigned long r1;	unsigned long r2;	unsigned long r3;	unsigned long r4;	unsigned long r5;	unsigned long r6;	unsigned long r7;	unsigned long r8;	unsigned long r9;	unsigned long r10;	unsigned long fp;	unsigned long ip;	unsigned long sp;	unsigned long lr;	unsigned long pc;	unsigned long cpsr;	unsigned long ORIG_r0;};/*@}*/#ifdef __cplusplus}#endif#endif

⌨️ 快捷键说明

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