?? hardware.h
字號:
/* one part from clps7110 and another from at91. * should modify it only for at91. * walimis. 2003/7/18 * *//* * linux/include/asm-arm/arch-lpc/hardware.h * for lpc * 2004-06-19 added by ksh,tsinghua */#ifndef __ASM_ARCH_HARDWARE_H#define __ASM_ARCH_HARDWARE_H/* 0=TC0, 1=TC1*/#define KERNEL_TIMER 0#define LPC_TC_BASE 0xe0004000/* * added by ksh,2004-06-18,defined interrupt register */#define VIC_BASE 0xfffff000#define VIC_ISR (VIC_BASE+0x000)#define VIC_FSR (VIC_BASE+0x004)#define VIC_RISR (VIC_BASE+0x008)#define VIC_ISLR (VIC_BASE+0x00c) //interrupt select register#define VIC_IER (VIC_BASE+0x010)#define VIC_IECR (VIC_BASE+0x014)#define VIC_SIR (VIC_BASE+0x018)#define VIC_SICR (VIC_BASE+0x01c)#define VIC_PER (VIC_BASE+0x020)#define VIC_DVAR (VIC_BASE+0x030)#define VIC_VAR(i) (VIC_BASE+0x100+i*4)#define VIC_VCR(i) (VIC_BASE+0x200+i*4)/* EXTERNAL MEMORY CONTROLLER (EMC) *//* 外部總線控制器 */#define BCFG0 (*((volatile unsigned int *) 0xFFE00000)) /* lpc22xx only */#define BCFG1 (*((volatile unsigned int *) 0xFFE00004)) /* lpc22xx only */#define BCFG2 (*((volatile unsigned int *) 0xFFE00008)) /* lpc22xx only */#define BCFG3 (*((volatile unsigned int *) 0xFFE0000C)) /* lpc22xx only *//* External Interrupts *//* 外部中斷控制寄存器 */#define EXTINT (*((volatile unsigned char *) 0xE01FC140))#define EXTWAKE (*((volatile unsigned char *) 0xE01FC144))#define EXTMODE (*((volatile unsigned char *) 0xE01FC148)) /* no in lpc210x */#define EXTPOLAR (*((volatile unsigned char *) 0xE01FC14C)) /* no in lpc210x *//* SMemory mapping control. *//* 內存remap控制寄存器 */#define MEMMAP (*((volatile unsigned int *) 0xE01FC040))/* Phase Locked Loop (PLL) *//* PLL控制寄存器 */#define PLLCON (*((volatile unsigned char *) 0xE01FC080))#define PLLCFG (*((volatile unsigned char *) 0xE01FC084))#define PLLSTAT (*((volatile unsigned short*) 0xE01FC088))#define PLLFEED (*((volatile unsigned char *) 0xE01FC08C))/* Power Control *//* 功率控制寄存器 */#define PCON (*((volatile unsigned char *) 0xE01FC0C0))#define PCONP (*((volatile unsigned int *) 0xE01FC0C4))/* VPB Divider *//* VLSI外設總線(VPB)分頻寄存器 */#define VPBDIV (*((volatile unsigned char *) 0xE01FC100))/* Memory Accelerator Module (MAM) *//* 存儲器加速模塊 */#define MAMCR (*((volatile unsigned char *) 0xE01FC000))#define MAMTIM (*((volatile unsigned char *) 0xE01FC004))/* Vectored Interrupt Controller (VIC) *//* 向量中斷控制器(VIC)的特殊寄存器 */#define VICIRQStatus (*((volatile unsigned int *) 0xFFFFF000))#define VICFIQStatus (*((volatile unsigned int *) 0xFFFFF004))#define VICRawIntr (*((volatile unsigned int *) 0xFFFFF008))#define VICIntSelect (*((volatile unsigned int *) 0xFFFFF00C))#define VICIntEnable (*((volatile unsigned int *) 0xFFFFF010))#define VICIntEnClr (*((volatile unsigned int *) 0xFFFFF014))#define VICSoftInt (*((volatile unsigned int *) 0xFFFFF018))#define VICSoftIntClear (*((volatile unsigned int *) 0xFFFFF01C))#define VICProtection (*((volatile unsigned int *) 0xFFFFF020))#define VICVectAddr (*((volatile unsigned int *) 0xFFFFF030))#define VICDefVectAddr (*((volatile unsigned int *) 0xFFFFF034))#define VICVectAddr0 (*((volatile unsigned int *) 0xFFFFF100))#define VICVectAddr1 (*((volatile unsigned int *) 0xFFFFF104))#define VICVectAddr2 (*((volatile unsigned int *) 0xFFFFF108))#define VICVectAddr3 (*((volatile unsigned int *) 0xFFFFF10C))#define VICVectAddr4 (*((volatile unsigned int *) 0xFFFFF110))#define VICVectAddr5 (*((volatile unsigned int *) 0xFFFFF114))#define VICVectAddr6 (*((volatile unsigned int *) 0xFFFFF118))#define VICVectAddr7 (*((volatile unsigned int *) 0xFFFFF11C))#define VICVectAddr8 (*((volatile unsigned int *) 0xFFFFF120))#define VICVectAddr9 (*((volatile unsigned int *) 0xFFFFF124))#define VICVectAddr10 (*((volatile unsigned int *) 0xFFFFF128))#define VICVectAddr11 (*((volatile unsigned int *) 0xFFFFF12C))#define VICVectAddr12 (*((volatile unsigned int *) 0xFFFFF130))#define VICVectAddr13 (*((volatile unsigned int *) 0xFFFFF134))#define VICVectAddr14 (*((volatile unsigned int *) 0xFFFFF138))#define VICVectAddr15 (*((volatile unsigned int *) 0xFFFFF13C))#define VICVectCntl0 (*((volatile unsigned int *) 0xFFFFF200))#define VICVectCntl1 (*((volatile unsigned int *) 0xFFFFF204))#define VICVectCntl2 (*((volatile unsigned int *) 0xFFFFF208))#define VICVectCntl3 (*((volatile unsigned int *) 0xFFFFF20C))#define VICVectCntl4 (*((volatile unsigned int *) 0xFFFFF210))#define VICVectCntl5 (*((volatile unsigned int *) 0xFFFFF214))#define VICVectCntl6 (*((volatile unsigned int *) 0xFFFFF218))#define VICVectCntl7 (*((volatile unsigned int *) 0xFFFFF21C))#define VICVectCntl8 (*((volatile unsigned int *) 0xFFFFF220))#define VICVectCntl9 (*((volatile unsigned int *) 0xFFFFF224))#define VICVectCntl10 (*((volatile unsigned int *) 0xFFFFF228))#define VICVectCntl11 (*((volatile unsigned int *) 0xFFFFF22C))#define VICVectCntl12 (*((volatile unsigned int *) 0xFFFFF230))#define VICVectCntl13 (*((volatile unsigned int *) 0xFFFFF234))#define VICVectCntl14 (*((volatile unsigned int *) 0xFFFFF238))#define VICVectCntl15 (*((volatile unsigned int *) 0xFFFFF23C))/* Pin Connect Block *//* 管腳連接模塊控制寄存器 */#define PINSEL0 (*((volatile unsigned int *) 0xE002C000))#define PINSEL1 (*((volatile unsigned int *) 0xE002C004))#define PINSEL2 (*((volatile unsigned int *) 0xE002C014)) /* no in lpc210x *//* General Purpose Input/Output (GPIO) *//* 通用并行IO口的特殊寄存器 */#define IOPIN (*((volatile unsigned int *) 0xE0028000)) /* lpc210x only */#define IOSET (*((volatile unsigned int *) 0xE0028004)) /* lpc210x only */#define IODIR (*((volatile unsigned int *) 0xE0028008)) /* lpc210x only */#define IOCLR (*((volatile unsigned int *) 0xE002800C)) /* lpc210x only */#define IO0PIN (*((volatile unsigned int *) 0xE0028000)) /* no in lpc210x */#define IO0SET (*((volatile unsigned int *) 0xE0028004)) /* no in lpc210x */#define IO0DIR (*((volatile unsigned int *) 0xE0028008)) /* no in lpc210x */#define IO0CLR (*((volatile unsigned int *) 0xE002800C)) /* no in lpc210x */#define IO1PIN (*((volatile unsigned int *) 0xE0028010)) /* no in lpc210x */#define IO1SET (*((volatile unsigned int *) 0xE0028014)) /* no in lpc210x */#define IO1DIR (*((volatile unsigned int *) 0xE0028018)) /* no in lpc210x */#define IO1CLR (*((volatile unsigned int *) 0xE002801C)) /* no in lpc210x */#define IO2PIN (*((volatile unsigned int *) 0xE0028020)) /* lpc22xx only */#define IO2SET (*((volatile unsigned int *) 0xE0028024)) /* lpc22xx only */#define IO2DIR (*((volatile unsigned int *) 0xE0028028)) /* lpc22xx only */#define IO2CLR (*((volatile unsigned int *) 0xE002802C)) /* lpc22xx only */#define IO3PIN (*((volatile unsigned int *) 0xE0028030)) /* lpc22xx only */#define IO3SET (*((volatile unsigned int *) 0xE0028034)) /* lpc22xx only */#define IO3DIR (*((volatile unsigned int *) 0xE0028038)) /* lpc22xx only */#define IO3CLR (*((volatile unsigned int *) 0xE002803C)) /* lpc22xx only *//* Universal Asynchronous Receiver Transmitter 0 (UART0) *//* 通用異步串行口0(UART0)的特殊寄存器 */#define U0RBR (*((volatile unsigned char *) 0xE000C000))#define U0THR (*((volatile unsigned char *) 0xE000C000))#define U0IER (*((volatile unsigned char *) 0xE000C004))#define U0IIR (*((volatile unsigned char *) 0xE000C008))#define U0FCR (*((volatile unsigned char *) 0xE000C008))#define U0LCR (*((volatile unsigned char *) 0xE000C00C))#define U0LSR (*((volatile unsigned char *) 0xE000C014))#define U0SCR (*((volatile unsigned char *) 0xE000C01C))#define U0DLL (*((volatile unsigned char *) 0xE000C000))#define U0DLM (*((volatile unsigned char *) 0xE000C004))/* Universal Asynchronous Receiver Transmitter 1 (UART1) *//* 通用異步串行口1(UART1)的特殊寄存器 */#define U1RBR (*((volatile unsigned char *) 0xE0010000))#define U1THR (*((volatile unsigned char *) 0xE0010000))#define U1IER (*((volatile unsigned char *) 0xE0010004))#define U1IIR (*((volatile unsigned char *) 0xE0010008))#define U1FCR (*((volatile unsigned char *) 0xE0010008))#define U1LCR (*((volatile unsigned char *) 0xE001000C))#define U1MCR (*((volatile unsigned char *) 0xE0010010))
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -