#ifndef ADuC7020_h
#define ADuC7020_h
#define IRQSTA (*(volatile unsigned long *)0xffff0000)
#define IRQSIG (*(volatile unsigned long *)0xffff0004)
#define IRQEN (*(volatile unsigned long *)0xffff0008)
#define IRQCLR (*(volatile unsigned long *)0xffff000c)
#define SWICFG (*(volatile unsigned long *)0xffff0010)
#define FIQSTA (*(volatile unsigned long *)0xffff0100)
#define FIQSIG (*(volatile unsigned long *)0xffff0104)
#define FIQEN (*(volatile unsigned long *)0xffff0108)
#define FIQCLR (*(volatile unsigned long *)0xffff010c)
#define REMAP (*(volatile unsigned char *)0xffff0220)
#define RSTSTA (*(volatile unsigned char *)0xffff0230)
#define RSTCLR (*(volatile unsigned char *)0xffff0234)
#define T0LD (*(volatile unsigned short *)0xffff0300)
#define T0VAL (*(volatile unsigned short *)0xffff0304)
#define T0CON (*(volatile unsigned short *)0xffff0308)
#define T0CLRI (*(volatile unsigned char *)0xffff030c)
#define T1LD (*(volatile unsigned long *)0xffff0320)
#define T1VAL (*(volatile unsigned long *)0xffff0324)
#define T1CON (*(volatile unsigned short *)0xffff0328)
#define T1CLRI (*(volatile unsigned char *)0xffff032c)
#define T1CAP (*(volatile unsigned long *)0xffff0330)
#define T2LD (*(volatile unsigned long *)0xffff0340)
#define T2VAL (*(volatile unsigned long *)0xffff0344)
#define T2CON (*(volatile unsigned short *)0xffff0348)
#define T2CLRI (*(volatile unsigned char *)0xffff034c)
#define T3LD (*(volatile unsigned short *)0xffff0360)
#define T3VAL (*(volatile unsigned short *)0xffff0364)
#define T3CON (*(volatile unsigned short *)0xffff0368)
#define T3CLRI (*(volatile unsigned char *)0xffff036c)
#define POWKEY1 (*(volatile unsigned char *)0xffff0404)
#define POWCON (*(volatile unsigned char *)0xffff0408)
#define POWKEY2 (*(volatile unsigned char *)0xffff040c)
#define PLLKEY1 (*(volatile unsigned char *)0xffff0410)
#define PLLCON (*(volatile unsigned char *)0xffff0414)
#define PLLKEY2 (*(volatile unsigned char *)0xffff0418)
#define PSMCON (*(volatile unsigned short *)0xffff0440)
#define CMPCON (*(volatile unsigned short *)0xffff0444)
#define REFCON (*(volatile unsigned char *)0xffff048c)
#define ADCCON (*(volatile unsigned char *)0xffff0500)
#define ADCCP (*(volatile unsigned char *)0xffff0504)
#define ADCCN (*(volatile unsigned char *)0xffff0508)
#define ADCSTA (*(volatile unsigned char *)0xffff050c)
#define ADCDAT (*(volatile unsigned long *)0xffff0510)
#define ADCRST (*(volatile unsigned char *)0xffff0514)
#define ADCGN (*(volatile unsigned short *)0xffff0530)
#define ADCOF (*(volatile unsigned short *)0xffff0534)
#define DAC0CON (*(volatile unsigned char *)0xffff0600)
#define DAC0DAT (*(volatile unsigned long *)0xffff0604)
#define DAC1CON (*(volatile unsigned char *)0xffff0608)
#define DAC1DAT (*(volatile unsigned long *)0xffff060c)
#define COMTX (*(volatile unsigned char *)0xffff0700)
#define COMRX (*(volatile unsigned char *)0xffff0700)
#define COMDIV0 (*(volatile unsigned char *)0xffff0700)
#define COMIEN0 (*(volatile unsigned char *)0xffff0704)
#define COMDIV1 (*(volatile unsigned char *)0xffff0704)
#define COMIID0 (*(volatile unsigned char *)0xffff0708)
#define COMCON0 (*(volatile unsigned char *)0xffff070c)
#define COMCON1 (*(volatile unsigned char *)0xffff0710)
#define COMSTA0 (*(volatile unsigned char *)0xffff0714)
#define COMSTA1 (*(volatile unsigned char *)0xffff0718)
#define COMSCR (*(volatile unsigned char *)0xffff071c)
#define COMIEN1 (*(volatile unsigned char *)0xffff0720)
#define COMIID1 (*(volatile unsigned char *)0xffff0724)
#define COMADR (*(volatile unsigned char *)0xffff0728)
#define COMDIV2 (*(volatile unsigned short *)0xffff072c)
#define I2C0MSTA (*(volatile unsigned char *)0xffff0800)
#define I2C0SSTA (*(volatile unsigned char *)0xffff0804)
#define I2C0SRX (*(volatile unsigned char *)0xffff0808)
#define I2C0STX (*(volatile unsigned char *)0xffff080c)
#define I2C0MRX (*(volatile unsigned char *)0xffff0810)
#define I2C0MTX (*(volatile unsigned char *)0xffff0814)
#define I2C0CNT (*(volatile unsigned char *)0xffff0818)
#define I2C0ADR (*(volatile unsigned char *)0xffff081c)
#define I2C0BYTE (*(volatile unsigned char *)0xffff0824)
#define I2C0ALT (*(volatile unsigned char *)0xffff0828)
#define I2C0CFG (*(volatile unsigned char *)0xffff082c)
#define I2C0DIVH (*(volatile unsigned char *)0xffff0830)
#define I2C0DIVL (*(volatile unsigned char *)0xffff0834)
#define I2C0ID0 (*(volatile unsigned char *)0xffff0838)
#define I2C0ID1 (*(volatile unsigned char *)0xffff083c)
#define I2C0ID2 (*(volatile unsigned char *)0xffff0840)
#define I2C0ID3 (*(volatile unsigned char *)0xffff0844)
#define I2C1MSTA (*(volatile unsigned char *)0xffff0900)
#define I2C1SSTA (*(volatile unsigned char *)0xffff0904)
#define I2C1SRX (*(volatile unsigned char *)0xffff0908)
#define I2C1STX (*(volatile unsigned char *)0xffff090c)
#define I2C1MRX (*(volatile unsigned char *)0xffff0910)
#define I2C1MTX (*(volatile unsigned char *)0xffff0914)
#define I2C1CNT (*(volatile unsigned char *)0xffff0918)
#define I2C1ADR (*(volatile unsigned char *)0xffff091c)
#define I2C1BYTE (*(volatile unsigned char *)0xffff0924)
#define I2C1ALT (*(volatile unsigned char *)0xffff0928)
#define I2C1CFG (*(volatile unsigned char *)0xffff092c)
#define I2C1DIVH (*(volatile unsigned char *)0xffff0930)
#define I2C1DIVL (*(volatile unsigned char *)0xffff0934)
#define I2C1ID0 (*(volatile unsigned char *)0xffff0938)
#define I2C1ID1 (*(volatile unsigned char *)0xffff093c)
#define I2C1ID2 (*(volatile unsigned char *)0xffff0940)
#define I2C1ID3 (*(volatile unsigned char *)0xffff0944)
#define SPISTA (*(volatile unsigned char *)0xffff0a00)
#define SPIRX (*(volatile unsigned char *)0xffff0a04)
#define SPIYX (*(volatile unsigned char *)0xffff0a08)
#define SPIDIV (*(volatile unsigned char *)0xffff0a0c)
#define SPICON (*(volatile unsigned short *)0xffff0a10)
#define PLAELM0 (*(volatile unsigned short *)0xffff0b00)
#define PLAELM1 (*(volatile unsigned short *)0xffff0b04)
#define PLAELM2 (*(volatile unsigned short *)0xffff0b08)
#define PLAELM3 (*(volatile unsigned short *)0xffff0b0c)
#define PLAELM4 (*(volatile unsigned short *)0xffff0b10)
#define PLAELM5 (*(volatile unsigned short *)0xffff0b14)
#define PLAELM6 (*(volatile unsigned short *)0xffff0b18)
#define PLAELM7 (*(volatile unsigned short *)0xffff0b1c)
#define PLAELM8 (*(volatile unsigned short *)0xffff0b20)
#define PLAELM9 (*(volatile unsigned short *)0xffff0b24)
#define PLAELM10 (*(volatile unsigned short *)0xffff0b28)
#define PLAELM11 (*(volatile unsigned short *)0xffff0b2c)
#define PLAELM12 (*(volatile unsigned short *)0xffff0b30)
#define PLAELM13 (*(volatile unsigned short *)0xffff0b34)
#define PLAELM14 (*(volatile unsigned short *)0xffff0b38)
#define PLAELM15 (*(volatile unsigned short *)0xffff0b3c)
#define PLACLK (*(volatile unsigned char *)0xffff0b40)
#define PLAIRQ (*(volatile unsigned long *)0xffff0b44)
#define PLAADC (*(volatile unsigned long *)0xffff0b48)
#define PLADIN (*(volatile unsigned long *)0xffff0b4c)
#define PLADOUT (*(volatile unsigned long *)0xffff0b50)
#define XMCFG (*(volatile unsigned char *)0xfffff000)
#define XM0CON (*(volatile unsigned char *)0xfffff010)
#define XM1CON (*(volatile unsigned char *)0xfffff014)
#define XM2CON (*(volatile unsigned char *)0xfffff018)
#define XM3CON (*(volatile unsigned char *)0xfffff01c)
#define XM0PAR (*(volatile unsigned short *)0xfffff020)
#define XM1PAR (*(volatile unsigned short *)0xfffff024)
#define XM2PAR (*(volatile unsigned short *)0xfffff028)
#define XM3PAR (*(volatile unsigned short *)0xfffff02c)
#define GP0CON (*(volatile unsigned long *)0xfffff400)
#define GP1CON (*(volatile unsigned long *)0xfffff404)
#define GP2CON (*(volatile unsigned long *)0xfffff408)
#define GP3CON (*(volatile unsigned long *)0xfffff40c)
#define GP4CON (*(volatile unsigned long *)0xfffff410)
#define GP0DAT (*(volatile unsigned long *)0xfffff420)
#define GP0SET (*(volatile unsigned long *)0xfffff424)
#define GP0CLR (*(volatile unsigned long *)0xfffff428)
#define GP1DAT (*(volatile unsigned long *)0xfffff430)
#define GP1SET (*(volatile unsigned long *)0xfffff434)
#define GP1CLR (*(volatile unsigned long *)0xfffff438)
#define GP2DAT (*(volatile unsigned long *)0xfffff440)
#define GP2SET (*(volatile unsigned long *)0xfffff444)
#define GP2CLR (*(volatile unsigned long *)0xfffff448)
#define GP3DAT (*(volatile unsigned long *)0xfffff450)
#define GP3SET (*(volatile unsigned long *)0xfffff454)
#define GP3CLR (*(volatile unsigned long *)0xfffff458)
#define GP4DAT (*(volatile unsigned long *)0xfffff460)
#define GP4SET (*(volatile unsigned long *)0xfffff464)
#define GP4CLR (*(volatile unsigned long *)0xfffff468)
#define FEESTA (*(volatile unsigned char *)0xfffff800)
#define FEEMOD (*(volatile unsigned char *)0xfffff804)
#define FEECON (*(volatile unsigned char *)0xfffff808)
#define FEEDAT (*(volatile unsigned short *)0xfffff80c)
#define FEEADR (*(volatile unsigned short *)0xfffff810)
#define FEESIGN (*(volatile unsigned *)0xfffff818)
#define FEEPRO (*(volatile unsigned long *)0xfffff81c)
#define FEEHIDE (*(volatile unsigned long *)0xfffff820)
#define PWMCON (*(volatile unsigned short *)0xfffffc00)
#define PWMSTA (*(volatile unsigned short *)0xfffffc04)
#define PWMDAT0 (*(volatile unsigned short *)0xfffffc08)
#define PWMDAT1 (*(volatile unsigned short *)0xfffffc0c)
#define PWMCFG (*(volatile unsigned short *)0xfffffc10)
#define PWMCH0 (*(volatile unsigned short *)0xfffffc14)
#define PWMCH1 (*(volatile unsigned short *)0xfffffc18)
#define PWMCH2 (*(volatile unsigned short *)0xfffffc1c)
#define PWMEN (*(volatile unsigned short *)0xfffffc20)
#define PWMDAT2 (*(volatile unsigned short *)0xfffffc24)
#endif
