123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225 |
- #ifndef __LPC2292_REGISTERS_H
- #define __LPC2292_REGISTERS_H
- #include <config.h>
- /* Macros for reading/writing registers */
- #define PUT8(reg, value) (*(volatile unsigned char*)(reg) = (value))
- #define PUT16(reg, value) (*(volatile unsigned short*)(reg) = (value))
- #define PUT32(reg, value) (*(volatile unsigned int*)(reg) = (value))
- #define GET8(reg) (*(volatile unsigned char*)(reg))
- #define GET16(reg) (*(volatile unsigned short*)(reg))
- #define GET32(reg) (*(volatile unsigned int*)(reg))
- /* External Memory Controller */
- #define BCFG0 0xFFE00000 /* 32-bits */
- #define BCFG1 0xFFE00004 /* 32-bits */
- #define BCFG2 0xFFE00008 /* 32-bits */
- #define BCFG3 0xFFE0000c /* 32-bits */
- /* System Control Block */
- #define EXTINT 0xE01FC140
- #define EXTWAKE 0xE01FC144
- #define EXTMODE 0xE01FC148
- #define EXTPOLAR 0xE01FC14C
- #define MEMMAP 0xE01FC040
- #define PLLCON 0xE01FC080
- #define PLLCFG 0xE01FC084
- #define PLLSTAT 0xE01FC088
- #define PLLFEED 0xE01FC08C
- #define PCON 0xE01FC0C0
- #define PCONP 0xE01FC0C4
- #define VPBDIV 0xE01FC100
- /* Memory Acceleration Module */
- #define MAMCR 0xE01FC000
- #define MAMTIM 0xE01FC004
- /* Vectored Interrupt Controller */
- #define VICIRQStatus 0xFFFFF000
- #define VICFIQStatus 0xFFFFF004
- #define VICRawIntr 0xFFFFF008
- #define VICIntSelect 0xFFFFF00C
- #define VICIntEnable 0xFFFFF010
- #define VICIntEnClr 0xFFFFF014
- #define VICSoftInt 0xFFFFF018
- #define VICSoftIntClear 0xFFFFF01C
- #define VICProtection 0xFFFFF020
- #define VICVectAddr 0xFFFFF030
- #define VICDefVectAddr 0xFFFFF034
- #define VICVectAddr0 0xFFFFF100
- #define VICVectAddr1 0xFFFFF104
- #define VICVectAddr2 0xFFFFF108
- #define VICVectAddr3 0xFFFFF10C
- #define VICVectAddr4 0xFFFFF110
- #define VICVectAddr5 0xFFFFF114
- #define VICVectAddr6 0xFFFFF118
- #define VICVectAddr7 0xFFFFF11C
- #define VICVectAddr8 0xFFFFF120
- #define VICVectAddr9 0xFFFFF124
- #define VICVectAddr10 0xFFFFF128
- #define VICVectAddr11 0xFFFFF12C
- #define VICVectAddr12 0xFFFFF130
- #define VICVectAddr13 0xFFFFF134
- #define VICVectAddr14 0xFFFFF138
- #define VICVectAddr15 0xFFFFF13C
- #define VICVectCntl0 0xFFFFF200
- #define VICVectCntl1 0xFFFFF204
- #define VICVectCntl2 0xFFFFF208
- #define VICVectCntl3 0xFFFFF20C
- #define VICVectCntl4 0xFFFFF210
- #define VICVectCntl5 0xFFFFF214
- #define VICVectCntl6 0xFFFFF218
- #define VICVectCntl7 0xFFFFF21C
- #define VICVectCntl8 0xFFFFF220
- #define VICVectCntl9 0xFFFFF224
- #define VICVectCntl10 0xFFFFF228
- #define VICVectCntl11 0xFFFFF22C
- #define VICVectCntl12 0xFFFFF230
- #define VICVectCntl13 0xFFFFF234
- #define VICVectCntl14 0xFFFFF238
- #define VICVectCntl15 0xFFFFF23C
- /* Pin connect block */
- #define PINSEL0 0xE002C000 /* 32 bits */
- #define PINSEL1 0xE002C004 /* 32 bits */
- #define PINSEL2 0xE002C014 /* 32 bits */
- /* GPIO */
- #define IO0PIN 0xE0028000
- #define IO0SET 0xE0028004
- #define IO0DIR 0xE0028008
- #define IO0CLR 0xE002800C
- #define IO1PIN 0xE0028010
- #define IO1SET 0xE0028014
- #define IO1DIR 0xE0028018
- #define IO1CLR 0xE002801C
- #define IO2PIN 0xE0028020
- #define IO2SET 0xE0028024
- #define IO2DIR 0xE0028028
- #define IO2CLR 0xE002802C
- #define IO3PIN 0xE0028030
- #define IO3SET 0xE0028034
- #define IO3DIR 0xE0028038
- #define IO3CLR 0xE002803C
- /* Uarts */
- #define U0RBR 0xE000C000
- #define U0THR 0xE000C000
- #define U0IER 0xE000C004
- #define U0IIR 0xE000C008
- #define U0FCR 0xE000C008
- #define U0LCR 0xE000C00C
- #define U0LSR 0xE000C014
- #define U0SCR 0xE000C01C
- #define U0DLL 0xE000C000
- #define U0DLM 0xE000C004
- #define U1RBR 0xE0010000
- #define U1THR 0xE0010000
- #define U1IER 0xE0010004
- #define U1IIR 0xE0010008
- #define U1FCR 0xE0010008
- #define U1LCR 0xE001000C
- #define U1MCR 0xE0010010
- #define U1LSR 0xE0010014
- #define U1MSR 0xE0010018
- #define U1SCR 0xE001001C
- #define U1DLL 0xE0010000
- #define U1DLM 0xE0010004
- /* I2C */
- #define I2CONSET 0xE001C000
- #define I2STAT 0xE001C004
- #define I2DAT 0xE001C008
- #define I2ADR 0xE001C00C
- #define I2SCLH 0xE001C010
- #define I2SCLL 0xE001C014
- #define I2CONCLR 0xE001C018
- /* SPI */
- #define S0SPCR 0xE0020000
- #define S0SPSR 0xE0020004
- #define S0SPDR 0xE0020008
- #define S0SPCCR 0xE002000C
- #define S0SPINT 0xE002001C
- #define S1SPCR 0xE0030000
- #define S1SPSR 0xE0030004
- #define S1SPDR 0xE0030008
- #define S1SPCCR 0xE003000C
- #define S1SPINT 0xE003001C
- /* CAN controller */
- /* skip for now */
- /* Timers */
- #define T0IR 0xE0004000
- #define T0TCR 0xE0004004
- #define T0TC 0xE0004008
- #define T0PR 0xE000400C
- #define T0PC 0xE0004010
- #define T0MCR 0xE0004014
- #define T0MR0 0xE0004018
- #define T0MR1 0xE000401C
- #define T0MR2 0xE0004020
- #define T0MR3 0xE0004024
- #define T0CCR 0xE0004028
- #define T0CR0 0xE000402C
- #define T0CR1 0xE0004030
- #define T0CR2 0xE0004034
- #define T0CR3 0xE0004038
- #define T0EMR 0xE000403C
- #define T1IR 0xE0008000
- #define T1TCR 0xE0008004
- #define T1TC 0xE0008008
- #define T1PR 0xE000800C
- #define T1PC 0xE0008010
- #define T1MCR 0xE0008014
- #define T1MR0 0xE0008018
- #define T1MR1 0xE000801C
- #define T1MR2 0xE0008020
- #define T1MR3 0xE0008024
- #define T1CCR 0xE0008028
- #define T1CR0 0xE000802C
- #define T1CR1 0xE0008030
- #define T1CR2 0xE0008034
- #define T1CR3 0xE0008038
- #define T1EMR 0xE000803C
- /* PWM */
- /* skip for now */
- /* A/D converter */
- /* skip for now */
- /* Real Time Clock */
- /* skip for now */
- /* Watchdog */
- #define WDMOD 0xE0000000
- #define WDTC 0xE0000004
- #define WDFEED 0xE0000008
- #define WDTV 0xE000000C
- /* EmbeddedICE LOGIC */
- /* skip for now */
- #endif
|