#ifndef LPC22xx_h
#define LPC22xx_h
#define WDMOD (*(volatile unsigned long *)0xe0000000)
#define WDTC (*(volatile unsigned long *)0xe0000004)
#define WDFEED (*(volatile unsigned long *)0xe0000008)
#define WDTV (*(volatile unsigned long *)0xe000000c)
#define T0IR (*(volatile unsigned long *)0xe0004000)
#define T0TCR (*(volatile unsigned long *)0xe0004004)
#define T0TC (*(volatile unsigned long *)0xe0004008)
#define T0PR (*(volatile unsigned long *)0xe000400c)
#define T0PC (*(volatile unsigned long *)0xe0004010)
#define T0MCR (*(volatile unsigned long *)0xe0004014)
#define T0MR0 (*(volatile unsigned long *)0xe0004018)
#define T0MR1 (*(volatile unsigned long *)0xe000401c)
#define T0MR2 (*(volatile unsigned long *)0xe0004020)
#define T0MR3 (*(volatile unsigned long *)0xe0004024)
#define T0CCR (*(volatile unsigned long *)0xe0004028)
#define T0CR0 (*(volatile unsigned long *)0xe000402c)
#define T0CR1 (*(volatile unsigned long *)0xe0004030)
#define T0CR2 (*(volatile unsigned long *)0xe0004034)
#define T0CR3 (*(volatile unsigned long *)0xe0004038)
#define T0EMR (*(volatile unsigned long *)0xe000403c)
#define T1IR (*(volatile unsigned long *)0xe0008000)
#define T1TCR (*(volatile unsigned long *)0xe0008004)
#define T1TC (*(volatile unsigned long *)0xe0008008)
#define T1PR (*(volatile unsigned long *)0xe000800c)
#define T1PC (*(volatile unsigned long *)0xe0008010)
#define T1MCR (*(volatile unsigned long *)0xe0008014)
#define T1MR0 (*(volatile unsigned long *)0xe0008018)
#define T1MR1 (*(volatile unsigned long *)0xe000801c)
#define T1MR2 (*(volatile unsigned long *)0xe0008020)
#define T1MR3 (*(volatile unsigned long *)0xe0008024)
#define T1CCR (*(volatile unsigned long *)0xe0008028)
#define T1CR0 (*(volatile unsigned long *)0xe000802c)
#define T1CR1 (*(volatile unsigned long *)0xe0008030)
#define T1CR2 (*(volatile unsigned long *)0xe0008034)
#define T1CR3 (*(volatile unsigned long *)0xe0008038)
#define T1EMR (*(volatile unsigned long *)0xe000803c)
#define U0RBR (*(volatile unsigned char *)0xe000c000)
#define U0THR (*(volatile unsigned char *)0xe000c000)
#define U0DLL (*(volatile unsigned char *)0xe000c000)
#define U0DLM (*(volatile unsigned char *)0xe000c004)
#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 U1RBR (*(volatile unsigned char *)0xe0010000)
#define U1THR (*(volatile unsigned char *)0xe0010000)
#define U1DLL (*(volatile unsigned char *)0xe0010000)
#define U1DLM (*(volatile unsigned char *)0xe0010004)
#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)
#define U1LSR (*(volatile unsigned char *)0xe0010014)
#define U1MSR (*(volatile unsigned char *)0xe0010018)
#define U1SCR (*(volatile unsigned char *)0xe001001c)
#define PWMIR (*(volatile unsigned long *)0xe0014000)
#define PWMTCR (*(volatile unsigned long *)0xe0014004)
#define PWMTC (*(volatile unsigned long *)0xe0014008)
#define PWMPR (*(volatile unsigned long *)0xe001400c)
#define PWMPC (*(volatile unsigned long *)0xe0014010)
#define PWMMCR (*(volatile unsigned long *)0xe0014014)
#define PWMMR0 (*(volatile unsigned long *)0xe0014018)
#define PWMMR1 (*(volatile unsigned long *)0xe001401c)
#define PWMMR2 (*(volatile unsigned long *)0xe0014020)
#define PWMMR3 (*(volatile unsigned long *)0xe0014024)
#define PWMMR4 (*(volatile unsigned long *)0xe0014040)
#define PWMMR5 (*(volatile unsigned long *)0xe0014044)
#define PWMMR6 (*(volatile unsigned long *)0xe0014048)
#define PWMPCR (*(volatile unsigned long *)0xe001404c)
#define PWMLER (*(volatile unsigned long *)0xe0014050)
#define I2CONSET (*(volatile unsigned char *)0xe001c000)
#define I2STAT (*(volatile unsigned char *)0xe001c004)
#define I2DAT (*(volatile unsigned char *)0xe001c008)
#define I2ADR (*(volatile unsigned char *)0xe001c00c)
#define I2SCLH (*(volatile unsigned short *)0xe001c010)
#define I2SCLL (*(volatile unsigned short *)0xe001c014)
#define I2CONCLR (*(volatile unsigned char *)0xe001c018)
#define S0SPCR (*(volatile unsigned char *)0xe0020000)
#define S0SPSR (*(volatile unsigned char *)0xe0020004)
#define S0SPDR (*(volatile unsigned char *)0xe0020008)
#define S0SPCCR (*(volatile unsigned char *)0xe002000c)
#define S0SPINT (*(volatile unsigned char *)0xe002001c)
#define S1SPCR (*(volatile unsigned char *)0xe0030000)
#define S1SPSR (*(volatile unsigned char *)0xe0030004)
#define S1SPDR (*(volatile unsigned char *)0xe0030008)
#define S1SPCCR (*(volatile unsigned char *)0xe003000c)
#define S1SPINT (*(volatile unsigned char *)0xe003001c)
#define ILR (*(volatile unsigned long *)0xe0024000)
#define CTC (*(volatile unsigned long *)0xe0024004)
#define CCR (*(volatile unsigned long *)0xe0024008)
#define CIIR (*(volatile unsigned long *)0xe002400c)
#define AMR (*(volatile unsigned long *)0xe0024010)
#define CTIME0 (*(volatile unsigned long *)0xe0024014)
#define CTIME1 (*(volatile unsigned long *)0xe0024018)
#define CTIME2 (*(volatile unsigned long *)0xe002401c)
#define SEC (*(volatile unsigned long *)0xe0024020)
#define MIN (*(volatile unsigned long *)0xe0024024)
#define HOUR (*(volatile unsigned long *)0xe0024028)
#define DOM (*(volatile unsigned long *)0xe002402c)
#define DOW (*(volatile unsigned long *)0xe0024030)
#define DOY (*(volatile unsigned long *)0xe0024034)
#define MONTH (*(volatile unsigned long *)0xe0024038)
#define YEAR (*(volatile unsigned long *)0xe002403c)
#define ALSEC (*(volatile unsigned long *)0xe0024060)
#define ALMIN (*(volatile unsigned long *)0xe0024064)
#define ALHOUR (*(volatile unsigned long *)0xe0024068)
#define ALDOM (*(volatile unsigned long *)0xe002406c)
#define ALDOW (*(volatile unsigned long *)0xe0024070)
#define ALDOY (*(volatile unsigned long *)0xe0024074)
#define ALMON (*(volatile unsigned long *)0xe0024078)
#define ALYEAR (*(volatile unsigned long *)0xe002407c)
#define PREINT (*(volatile unsigned long *)0xe0024080)
#define PREFRAC (*(volatile unsigned long *)0xe0024084)
#define IO0PIN (*(volatile unsigned long *)0xe0028000)
#define IO0SET (*(volatile unsigned long *)0xe0028004)
#define IO0DIR (*(volatile unsigned long *)0xe0028008)
#define IO0CLR (*(volatile unsigned long *)0xe002800c)
#define IO1PIN (*(volatile unsigned long *)0xe0028010)
#define IO1SET (*(volatile unsigned long *)0xe0028014)
#define IO1DIR (*(volatile unsigned long *)0xe0028018)
#define IO1CLR (*(volatile unsigned long *)0xe002801c)
#define IO2PIN (*(volatile unsigned long *)0xe0028020)
#define IO2SET (*(volatile unsigned long *)0xe0028024)
#define IO2DIR (*(volatile unsigned long *)0xe0028028)
#define IO2CLR (*(volatile unsigned long *)0xe002802c)
#define IO3PIN (*(volatile unsigned long *)0xe0028030)
#define IO3SET (*(volatile unsigned long *)0xe0028034)
#define IO3DIR (*(volatile unsigned long *)0xe0028038)
#define IO3CLR (*(volatile unsigned long *)0xe002803c)
#define PINSEL0 (*(volatile unsigned long *)0xe002c000)
#define PINSEL1 (*(volatile unsigned long *)0xe002c004)
#define PINSEL2 (*(volatile unsigned long *)0xe002c014)
#define ADCR (*(volatile unsigned long *)0xe0034000)
#define ADDR (*(volatile unsigned long *)0xe0034004)
#define MAMCR (*(volatile unsigned char *)0xe01fc000)
#define MAMTIM (*(volatile unsigned char *)0xe01fc004)
#define MEMMAP (*(volatile unsigned char *)0xe01fc040)
#define PLLCON (*(volatile unsigned char *)0xe01fc080)
#define PLLCFG (*(volatile unsigned char *)0xe01fc084)
#define PLLSTAT (*(volatile unsigned short *)0xe01fc088)
#define PLLFEED (*(volatile unsigned char *)0xe01fc08c)
#define PCON (*(volatile unsigned char *)0xe01fc0c0)
#define PCONP (*(volatile unsigned long *)0xe01fc0c4)
#define VPBDIV (*(volatile unsigned char *)0xe01fc100)
#define EXTINT (*(volatile unsigned char *)0xe01fc140)
#define EXTWAKE (*(volatile unsigned long *)0xe01fc144)
#define EXTMODE (*(volatile unsigned char *)0xe01fc148)
#define EXTPOLAR (*(volatile unsigned char *)0xe01fc14c)
#define BCFG0 (*(volatile unsigned long *)0xffe00000)
#define BCFG1 (*(volatile unsigned long *)0xffe00004)
#define BCFG2 (*(volatile unsigned long *)0xffe00008)
#define BCFG3 (*(volatile unsigned long *)0xffe0000c)
#define VICIRQStatus (*(volatile unsigned long *)0xfffff000)
#define VICFIQStatus (*(volatile unsigned long *)0xfffff004)
#define VICRawIntr (*(volatile unsigned long *)0xfffff008)
#define VICIntSelect (*(volatile unsigned long *)0xfffff00c)
#define VICIntEnable (*(volatile unsigned long *)0xfffff010)
#define VICIntEnClr (*(volatile unsigned long *)0xfffff014)
#define VICSoftInt (*(volatile unsigned long *)0xfffff018)
#define VICSoftIntClear (*(volatile unsigned long *)0xfffff01c)
#define VICProtection (*(volatile unsigned long *)0xfffff020)
#define VICVectAddr (*(volatile unsigned long *)0xfffff030)
#define VICDefVectAddr (*(volatile unsigned long *)0xfffff034)
#define VICVectAddr0 (*(volatile unsigned long *)0xfffff100)
#define VICVectAddr1 (*(volatile unsigned long *)0xfffff104)
#define VICVectAddr2 (*(volatile unsigned long *)0xfffff108)
#define VICVectAddr3 (*(volatile unsigned long *)0xfffff10c)
#define VICVectAddr4 (*(volatile unsigned long *)0xfffff110)
#define VICVectAddr5 (*(volatile unsigned long *)0xfffff114)
#define VICVectAddr6 (*(volatile unsigned long *)0xfffff118)
#define VICVectAddr7 (*(volatile unsigned long *)0xfffff11c)
#define VICVectAddr8 (*(volatile unsigned long *)0xfffff120)
#define VICVectAddr9 (*(volatile unsigned long *)0xfffff124)
#define VICVectAddr10 (*(volatile unsigned long *)0xfffff128)
#define VICVectAddr11 (*(volatile unsigned long *)0xfffff12c)
#define VICVectAddr12 (*(volatile unsigned long *)0xfffff130)
#define VICVectAddr13 (*(volatile unsigned long *)0xfffff134)
#define VICVectAddr14 (*(volatile unsigned long *)0xfffff138)
#define VICVectAddr15 (*(volatile unsigned long *)0xfffff13c)
#define VICVectCntl0 (*(volatile unsigned long *)0xfffff200)
#define VICVectCntl1 (*(volatile unsigned long *)0xfffff204)
#define VICVectCntl2 (*(volatile unsigned long *)0xfffff208)
#define VICVectCntl3 (*(volatile unsigned long *)0xfffff20c)
#define VICVectCntl4 (*(volatile unsigned long *)0xfffff210)
#define VICVectCntl5 (*(volatile unsigned long *)0xfffff214)
#define VICVectCntl6 (*(volatile unsigned long *)0xfffff218)
#define VICVectCntl7 (*(volatile unsigned long *)0xfffff21c)
#define VICVectCntl8 (*(volatile unsigned long *)0xfffff220)
#define VICVectCntl9 (*(volatile unsigned long *)0xfffff224)
#define VICVectCntl10 (*(volatile unsigned long *)0xfffff228)
#define VICVectCntl11 (*(volatile unsigned long *)0xfffff22c)
#define VICVectCntl12 (*(volatile unsigned long *)0xfffff230)
#define VICVectCntl13 (*(volatile unsigned long *)0xfffff234)
#define VICVectCntl14 (*(volatile unsigned long *)0xfffff238)
#define VICVectCntl15 (*(volatile unsigned long *)0xfffff23c)
#endif
