/*-------------------------------------------------------------------------- TE5_CSOC.H Header file for Triscend E5 CSoC Device Common. Copyright (c) 1988-2002 Keil Elektronik GmbH and Keil Software, Inc. All rights reserved. --------------------------------------------------------------------------*/ #ifndef __TE5_CSOC_H__ #define __TE5_CSOC_H__ /*************************************************************************** * BYTE Registers *************************************************************************** */ /* Unused SFR locations [0x80,0xff] are available for use by a soft module. */ //sfr P0 = 0x80; /* to be exported and implemented in CSL */ sfr SP = 0x81; sfr DPL = 0x82; sfr DPH = 0x83; sfr DPL1 = 0x84; sfr DPH1 = 0x85; sfr DPS = 0x86; sfr PCON = 0x87; sfr TCON = 0x88; sfr TMOD = 0x89; sfr TL0 = 0x8a; sfr TL1 = 0x8b; sfr TH0 = 0x8c; sfr TH1 = 0x8d; sfr CKCON = 0x8e; /* unused: 0x8f */ //sfr P1 = 0x90; /* to be exported and implemented in CSL */ /* unused: [0x91,0x97] */ sfr SCON = 0x98; sfr SBUF = 0x99; /* unused: [0x9a,0x9f] */ //sfr P2 = 0xa0; /* to be exported and implemented in CSL */ /* unused: [0xa1,0xa7] */ sfr IE = 0xa8; sfr SADDR = 0xa9; /* unused: [0xaa,0xaf] */ //sfr P3 = 0xb0; /* to be exported and implemented in CSL */ /* unused: [0xb1,0xb7] */ sfr IP = 0xb8; sfr SADEN = 0xb9; /* unused: [0xba,0xbf] */ /* unused: [0xc0,0xc6] */ sfr TA = 0xc7; sfr T2CON = 0xc8; sfr T2MOD = 0xc9; sfr RCAP2L = 0xca; sfr RCAP2H = 0xcb; sfr TL2 = 0xcc; sfr TH2 = 0xcd; /* unused: [0xce,0xcf] */ sfr PSW = 0xd0; /* unused: [0xd1,0xd7] */ sfr WDCON = 0xd8; /* unused: [0xd9,0xdf] */ sfr ACC = 0xe0; /* unused: [0xe1,0xe7] */ sfr EIE = 0xe8; /* unused: [0xe9,0xef] */ sfr B = 0xf0; /* unused: [0xf1,0xf7] */ sfr EIP = 0xf8; /* unused: [0xf9,0xff] */ /*************************************************************************** * BIT Registers *************************************************************************** */ /* Unused bits of the following SFR locations are reserved. */ /* P0: [0x80,0x87] */ /* TCON: [0x88,0x8f] */ sbit IT0 = 0x88; sbit IE0 = 0x89; sbit IT1 = 0x8a; sbit IE1 = 0x8b; sbit TR0 = 0x8c; sbit TF0 = 0x8d; sbit TR1 = 0x8e; sbit TF1 = 0x8f; /* P1: [0x90,0x97] */ /* SCON: [0x98,0x9f] */ sbit RI = 0x98; sbit TI = 0x99; sbit RB8 = 0x9a; sbit TB8 = 0x9b; sbit REN = 0x9c; sbit SM2 = 0x9d; sbit SM1 = 0x9e; sbit SM0_FE = 0x9f; /* P2: [0xa0,0xa7] */ /* IE: [0xa8,0xaf] */ sbit EX0 = 0xa8; sbit ET0 = 0xa9; sbit EX1 = 0xaa; sbit ET1 = 0xab; sbit ES = 0xac; sbit ET2 = 0xad; /* unused: 0xae; */ sbit EA = 0xaf; /* P3: [0xb0,0xb7] */ /* IP: [0xb8,0xbf] */ sbit PX0 = 0xb8; sbit PT0 = 0xb9; sbit PX1 = 0xba; sbit PT1 = 0xbb; sbit PS = 0xbc; sbit PT2 = 0xbd; /* 0xbe; */ /* 0xbf; */ /* unused: [0xc0,0xc7] */ /* T2CON: [0xc8,0xcf] */ sbit CP_RL2 = 0xc8; sbit C_T2 = 0xc9; sbit TR2 = 0xca; sbit EXEN2 = 0xcb; sbit TCLK = 0xcc; sbit RCLK = 0xcd; sbit EXF2 = 0xce; sbit TF2 = 0xcf; /* PSW: [0xd0,0xd7] */ sbit P = 0xd0; sbit F1 = 0xd1; sbit OV = 0xd2; sbit RS0 = 0xd3; sbit RS1 = 0xd4; sbit F0 = 0xd5; sbit AC = 0xd6; sbit CY = 0xd7; /* WDCON: [0xd8,0xdf] */ sbit RWT = 0xd8; sbit EWT = 0xd9; sbit WTRF = 0xda; sbit WDIF = 0xdb; sbit HPI = 0xdc; sbit EHPI = 0xdd; sbit POR = 0xde; /* 0xdf; */ /* ACC: [0xe0,0xe7] */ /* EIE: [0xe8,0xef] */ sbit EWDI = 0xec; /* B: [0xf0,0xf7] */ /* EIP [0xf8,0xff] */ sbit PWDI = 0xfc; /*************************************************************************** * E5 Configuration Register Unit (CRU) defintions *************************************************************************** */ /* All addresses in the range [0xff00,0xffff] are reserved */ #define CMAP0_TAR (*((unsigned char volatile xdata*) 0xff00)) #define CMAP0_ALT (*((unsigned char volatile xdata*) 0xff01)) #define CMAP1_TAR_0 (*((unsigned char volatile xdata*) 0xff02)) #define CMAP1_TAR_1 (*((unsigned char volatile xdata*) 0xff03)) #define CMAP1_TAR_2 (*((unsigned char volatile xdata*) 0xff04)) #define CMAP1_SRC (*((unsigned char volatile xdata*) 0xff05)) #define CMAP1_CTL (*((unsigned char volatile xdata*) 0xff06)) #define CMAP1_ALT (*((unsigned char volatile xdata*) 0xff07)) #define CMAP2_TAR_0 (*((unsigned char volatile xdata*) 0xff08)) #define CMAP2_TAR_1 (*((unsigned char volatile xdata*) 0xff09)) #define CMAP2_TAR_2 (*((unsigned char volatile xdata*) 0xff0a)) #define CMAP2_SRC (*((unsigned char volatile xdata*) 0xff0b)) #define CMAP2_CTL (*((unsigned char volatile xdata*) 0xff0c)) #define CMAP2_ALT (*((unsigned char volatile xdata*) 0xff0d)) #define DMAP0_TAR (*((unsigned char volatile xdata*) 0xff0e)) #define DMAP1_TAR_0 (*((unsigned char volatile xdata*) 0xff0f)) #define DMAP1_TAR_1 (*((unsigned char volatile xdata*) 0xff10)) #define DMAP1_TAR_2 (*((unsigned char volatile xdata*) 0xff11)) #define DMAP1_SRC (*((unsigned char volatile xdata*) 0xff12)) #define DMAP1_CTL (*((unsigned char volatile xdata*) 0xff13)) #define DMAP2_TAR_0 (*((unsigned char volatile xdata*) 0xff14)) #define DMAP2_TAR_1 (*((unsigned char volatile xdata*) 0xff15)) #define DMAP2_TAR_2 (*((unsigned char volatile xdata*) 0xff16)) #define DMAP2_SRC (*((unsigned char volatile xdata*) 0xff17)) #define DMAP2_CTL (*((unsigned char volatile xdata*) 0xff18)) #define DMAP3_TAR (*((unsigned char volatile xdata*) 0xff19)) #define DMAP3_SRC (*((unsigned char volatile xdata*) 0xff1a)) #define DMAP3_CTL (*((unsigned char volatile xdata*) 0xff1b)) /* reserved: [0xff1c,0xff1f] */ #define DMASADR0_0 (*((unsigned char volatile xdata*) 0xff20)) #define DMASADR0_1 (*((unsigned char volatile xdata*) 0xff21)) #define DMASADR0_2 (*((unsigned char volatile xdata*) 0xff22)) #define DMASADR0_3 (*((unsigned char volatile xdata*) 0xff23)) #define DMASCNT0_0 (*((unsigned char volatile xdata*) 0xff24)) #define DMASCNT0_1 (*((unsigned char volatile xdata*) 0xff25)) #define DMASCNT0_2 (*((unsigned char volatile xdata*) 0xff26)) #define DMACTRL0_0 (*((unsigned char volatile xdata*) 0xff27)) #define DMACTRL0_1 (*((unsigned char volatile xdata*) 0xff28)) #define DMAEINT0 (*((unsigned char volatile xdata*) 0xff29)) #define DMAINT0 (*((unsigned char volatile xdata*) 0xff2a)) #define DMACADR0_0 (*((unsigned char volatile xdata*) 0xff2b)) #define DMACADR0_1 (*((unsigned char volatile xdata*) 0xff2c)) #define DMACADR0_2 (*((unsigned char volatile xdata*) 0xff2d)) #define DMACADR0_3 (*((unsigned char volatile xdata*) 0xff2e)) #define DMACCNT0_0 (*((unsigned char volatile xdata*) 0xff2f)) #define DMACCNT0_1 (*((unsigned char volatile xdata*) 0xff30)) #define DMACCNT0_2 (*((unsigned char volatile xdata*) 0xff31)) #define DMAPREQ0_0 (*((unsigned char volatile xdata*) 0xff32)) #define DMAPREQ0_1 (*((unsigned char volatile xdata*) 0xff33)) #define DMASADR1_0 (*((unsigned char volatile xdata*) 0xff34)) #define DMASADR1_1 (*((unsigned char volatile xdata*) 0xff35)) #define DMASADR1_2 (*((unsigned char volatile xdata*) 0xff36)) #define DMASADR1_3 (*((unsigned char volatile xdata*) 0xff37)) #define DMASCNT1_0 (*((unsigned char volatile xdata*) 0xff38)) #define DMASCNT1_1 (*((unsigned char volatile xdata*) 0xff39)) #define DMASCNT1_2 (*((unsigned char volatile xdata*) 0xff3a)) #define DMACTRL1_0 (*((unsigned char volatile xdata*) 0xff3b)) #define DMACTRL1_1 (*((unsigned char volatile xdata*) 0xff3c)) #define DMAEINT1 (*((unsigned char volatile xdata*) 0xff3d)) #define DMAINT1 (*((unsigned char volatile xdata*) 0xff3e)) #define DMACADR1_0 (*((unsigned char volatile xdata*) 0xff3f)) #define DMACADR1_1 (*((unsigned char volatile xdata*) 0xff40)) #define DMACADR1_2 (*((unsigned char volatile xdata*) 0xff41)) #define DMACADR1_3 (*((unsigned char volatile xdata*) 0xff42)) #define DMACCNT1_0 (*((unsigned char volatile xdata*) 0xff43)) #define DMACCNT1_1 (*((unsigned char volatile xdata*) 0xff44)) #define DMACCNT1_2 (*((unsigned char volatile xdata*) 0xff45)) #define DMAPREQ1_0 (*((unsigned char volatile xdata*) 0xff46)) #define DMAPREQ1_1 (*((unsigned char volatile xdata*) 0xff47)) #define DMACRC_0 (*((unsigned char volatile xdata*) 0xff48)) #define DMACRC_1 (*((unsigned char volatile xdata*) 0xff49)) /* reserved: [0xff4a,0xff5f] */ #define PROTECT (*((unsigned char volatile xdata*) 0xff60)) #define SECURITY (*((unsigned char volatile xdata*) 0xff61)) #define PWDSEL (*((unsigned char volatile xdata*) 0xff62)) #define PORCTRL (*((unsigned char volatile xdata*) 0xff63)) /* reserved: [0xff64,0xff7f] */ #define DMAP4_TAR_0 (*((unsigned char volatile xdata*) 0xff80)) #define DMAP4_TAR_1 (*((unsigned char volatile xdata*) 0xff81)) #define DMAP4_TAR_2 (*((unsigned char volatile xdata*) 0xff82)) #define DMAP4_SRC (*((unsigned char volatile xdata*) 0xff83)) #define DMAP4_CTL (*((unsigned char volatile xdata*) 0xff84)) #define DMAP5_TAR_0 (*((unsigned char volatile xdata*) 0xff85)) #define DMAP5_TAR_1 (*((unsigned char volatile xdata*) 0xff86)) #define DMAP5_TAR_2 (*((unsigned char volatile xdata*) 0xff87)) #define DMAP5_SRC (*((unsigned char volatile xdata*) 0xff88)) #define DMAP5_CTL (*((unsigned char volatile xdata*) 0xff89)) /* reserved: [0xff8a,0xffff] */ #endif