www.pudn.com > S3c2410bsp.zip > s3c2410x.h
/* s3c2410x.h - header for Samsung s3c2410x with ARM9 core */
#ifndef __INCs3c2410xh
#define __INCs3c2410xh
#ifdef __cplusplus
extern "C" {
#endif
#define S3C2410X_BWSCON (0x48000000)
#define S3C2410X_BANKCON0 (0x48000004)
#define S3C2410X_BANKCON1 (0x48000008)
#define S3C2410X_BANKCON2 (0x4800000c)
#define S3C2410X_BANKCON3 (0x48000010)
#define S3C2410X_BANKCON4 (0x48000014)
#define S3C2410X_BANKCON5 (0x48000018)
#define S3C2410X_BANKCON6 (0x4800001c)
#define S3C2410X_BANKCON7 (0x48000020)
#define S3C2410X_REFRESH (0x48000024)
#define S3C2410X_BANKSIZE (0x48000028)
#define S3C2410X_MRSRB6 (0x4800002c)
#define S3C2410X_MRSRB7 (0x48000030)
#define rBWSCON (*(volatile unsigned *)0x48000000)
#define S3C2410X_NFCONF (0x4e000000)
#define S3C2410X_NFCMD (0x4e000004)
#define S3C2410X_NFADDR (0x4e000008)
#define S3C2410X_NFDATA (0x4e00000c)
#define S3C2410X_NFSTAT (0x4e000010)
#define S3C2410X_NFECC (0x4e000014)
#define S3C2410X_LOCKTIME (0x4c000000)
#define S3C2410X_MPLLCON (0x4c000004)
#define S3C2410X_UPLLCON (0x4c000008)
#define S3C2410X_CLKCON (0x4c00000c)
#define S3C2410X_CLKSLOW (0x4c000010)
#define S3C2410X_CLKDIVN (0x4c000014)
#define S3C2410X_DISRC0 (0x4b000000)
#define S3C2410X_DISRC1 (0x4b000040)
#define S3C2410X_DISRC2 (0x4b000080)
#define S3C2410X_DISRC3 (0x4b0000c0)
#define S3C2410X_DISRCC0 (0x4b000004)
#define S3C2410X_DISRCC1 (0x4b000044)
#define S3C2410X_DISRCC2 (0x4b000084)
#define S3C2410X_DISRCC3 (0x4b0000c4)
#define S3C2410X_DIDST0 (0x4b000008)
#define S3C2410X_DIDST1 (0x4b000048)
#define S3C2410X_DIDST2 (0x4b000088)
#define S3C2410X_DIDST3 (0x4b0000c8)
#define S3C2410X_DIDSTC0 (0x4b00000c)
#define S3C2410X_DIDSTC1 (0x4b00004c)
#define S3C2410X_DIDSTC2 (0x4b00008c)
#define S3C2410X_DIDSTC3 (0x4b0000cc)
#define S3C2410X_DCON0 (0x4b000010)
#define S3C2410X_DCON1 (0x4b000050)
#define S3C2410X_DCON2 (0x4b000090)
#define S3C2410X_DCON3 (0x4b0000d0)
#define S3C2410X_DSTAT0 (0x4b000014)
#define S3C2410X_DSTAT1 (0x4b000054)
#define S3C2410X_DSTAT2 (0x4b000094)
#define S3C2410X_DSTAT3 (0x4b0000d4)
#define S3C2410X_DCSRC0 (0x4b000018)
#define S3C2410X_DCSRC1 (0x4b000058)
#define S3C2410X_DCSRC2 (0x4b000098)
#define S3C2410X_DCSRC3 (0x4b0000d8)
#define S3C2410X_DCDST0 (0x4b00001c)
#define S3C2410X_DCDST1 (0x4b00005c)
#define S3C2410X_DCDST2 (0x4b00009c)
#define S3C2410X_DCDST3 (0x4b0000dc)
#define S3C2410X_DMASKTRIG0 (0x4b000020)
#define S3C2410X_DMASKTRIG1 (0x4b000060)
#define S3C2410X_DMASKTRIG2 (0x4b0000a0)
#define S3C2410X_DMASKTRIG3 (0x4b0000e0)
#define S3C2410X_SRCPND (0x4a000000)
#define S3C2410X_INTMODE (0x4a000004)
#define S3C2410X_INTMASK (0x4a000008)
#define S3C2410X_PRIORITY (0x4a00000c)
#define S3C2410X_INTPEND (0x4a000010)
#define S3C2410X_INTOFFSET (0x4a000014)
#define S3C2410X_SUBSRCPND (0x4a000018)
#define S3C2410X_INTSUBMSK (0x4a00001c)
#define S3C2410X_INTLEVEL_NUM 32
#define S3C2410X_INTMASK_VAL (~((unsigned int)((1<<6)+(1<<24))))
#define S3C2410X_INTMASK_OPEN 0xffffffff
#define S3C2410X_INTBIT_CLR 0xffffffff
#define S3C2410X_INTMODEIRQ 0x0
#define rSRCPND (*(volatile unsigned *)0x4a000000)
#define rINTMODE (*(volatile unsigned *)0x4a000004)
#define rINTMASK (*(volatile unsigned *)0x4a000008)
#define rPRIORITY (*(volatile unsigned *)0x4a00000c)
#define rINTPEND (*(volatile unsigned *)0x4a000010)
#define rINTOFFSET (*(volatile unsigned *)0x4a000014)
#define rSUBSRCPND (*(volatile unsigned *)0x4a000018)
#define rINTSUBMSK (*(volatile unsigned *)0x4a00001c)
#define S3C2410X_INTENB S3C2410X_INTMASK
#define S3C2410X_INTDIS S3C2410X_INTMASK
#define S3C2410X_WTCON (0x53000000)
#define S3C2410X_WTDAT (0x53000004)
#define S3C2410X_WTCNT (0x53000008)
#define rWTCON (*(volatile unsigned *)0x53000000)
#define rWTDAT (*(volatile unsigned *)0x53000004)
#define rWTCNT (*(volatile unsigned *)0x53000008)
#define SERIAL_A_BASE_ADR (0x50000000)
#define SERIAL_B_BASE_ADR (0x50004000)
#define SERIAL_C_BASE_ADR (0x50008000)
#define S3C2410X_PCONA (0x56000000)
#define S3C2410X_PDATA (0x56000004)
#define S3C2410X_PCONB (0x56000010)
#define S3C2410X_PDATB (0x56000014)
#define S3C2410X_PUPB (0x56000018)
#define S3C2410X_PCONC (0x56000020)
#define S3C2410X_PDATC (0x56000024)
#define S3C2410X_PUPC (0x56000028)
#define S3C2410X_PCOND (0x56000030)
#define S3C2410X_PDATD (0x56000034)
#define S3C2410X_PUPD (0x56000038)
#define S3C2410X_PCONE (0x56000040)
#define S3C2410X_PDATE (0x56000044)
#define S3C2410X_PUPE (0x56000048)
#define S3C2410X_PCONF (0x56000050)
#define S3C2410X_PDATF (0x56000054)
#define S3C2410X_PUPF (0x56000058)
#define S3C2410X_PCONG (0x56000060)
#define S3C2410X_PDATG (0x56000064)
#define S3C2410X_PUPG (0x56000068)
#define S3C2410X_PCONH (0x56000070)
#define S3C2410X_PDATH (0x56000074)
#define S3C2410X_PUPH (0x56000078)
#define S3C2410X_MISCCR (0x56000080)
#define S3C2410X_DCLKCON (0x56000084)
#define S3C2410X_EXTINT0 (0x56000088)
#define S3C2410X_EXTINT1 (0x5600008C)
#define S3C2410X_EXTINT2 (0x56000090)
#define S3C2410X_EXINTFLT0 (0x56000094)
#define S3C2410X_EXINTFLT1 (0x56000098)
#define S3C2410X_EXINTFLT2 (0x5600009C)
#define S3C2410X_EXINTFLT3 (0x560000a0)
#define S3C2410X_EXINTMASK (0x560000a4)
#define S3C2410X_EXTINTPND (0x560000a8)
#define S3C2410X_GSTATUS0 (0x560000ac)
#define S3C2410X_GSTATUS1 (0x560000b0)
#define S3C2410X_GSTATUS2 (0x560000b4)
#define S3C2410X_GSTATUS3 (0x560000b8)
#define S3C2410X_GSTATUS4 (0x560000bc)
#define rPCONA (*(volatile unsigned *)0x56000000)
#define rPDATA (*(volatile unsigned *)0x56000004)
#define rPCONB (*(volatile unsigned *)0x56000010)
#define rPDATB (*(volatile unsigned *)0x56000014)
#define rPUPB (*(volatile unsigned *)0x56000018)
#define rPCONC (*(volatile unsigned *)0x56000020)
#define rPDATC (*(volatile unsigned *)0x56000024)
#define rPUPC (*(volatile unsigned *)0x56000028)
#define rPCOND (*(volatile unsigned *)0x56000030)
#define rPDATD (*(volatile unsigned *)0x56000034)
#define rPUPD (*(volatile unsigned *)0x56000038)
#define rPCONE (*(volatile unsigned *)0x56000040)
#define rPDATE (*(volatile unsigned *)0x56000044)
#define rPUPE (*(volatile unsigned *)0x56000048)
#define rPCONF (*(volatile unsigned *)0x56000050)
#define rPDATF (*(volatile unsigned *)0x56000054)
#define rPUPF (*(volatile unsigned *)0x56000058)
#define rPCONG (*(volatile unsigned *)0x56000060)
#define rPDATG (*(volatile unsigned *)0x56000064)
#define rPUPG (*(volatile unsigned *)0x56000068)
#define rPCONH (*(volatile unsigned *)0x56000070)
#define rPDATH (*(volatile unsigned *)0x56000074)
#define rPUPH (*(volatile unsigned *)0x56000078)
#define rMISCCR (*(volatile unsigned *)0x56000080)
#define rDCLKCON (*(volatile unsigned *)0x56000084)
#define rEXTINT0 (*(volatile unsigned *)0x56000088)
#define rEXTINT1 (*(volatile unsigned *)0x5600008C)
#define rEXTINT2 (*(volatile unsigned *)0x56000090)
#define rEXINTFLT0 (*(volatile unsigned *)0x56000094)
#define rEXINTFLT1 (*(volatile unsigned *)0x56000098)
#define rEXINTFLT2 (*(volatile unsigned *)0x5600009C)
#define rEXINTFLT3 (*(volatile unsigned *)0x560000a0)
#define rEXINTMASK (*(volatile unsigned *)0x560000a4)
#define rEXINTPND (*(volatile unsigned *)0x560000a8)
#define rGSTATUS0 (*(volatile unsigned *)0x560000ac)
#define rGSTATUS1 (*(volatile unsigned *)0x560000b0)
#define rGSTATUS2 (*(volatile unsigned *)0x560000b4)
#define rGSTATUS3 (*(volatile unsigned *)0x560000b8)
#define rGSTATUS4 (*(volatile unsigned *)0x560000bc)
#define S3C2410X_TCFG0 (0x51000000)
#define S3C2410X_TCFG1 (0x51000004)
#define S3C2410X_TCON (0x51000008)
#define S3C2410X_TCNTB0 (0x5100000c)
#define S3C2410X_TCMPB0 (0x51000010)
#define S3C2410X_TCNTO0 (0x51000014)
#define S3C2410X_TCNTB1 (0x51000018)
#define S3C2410X_TCMPB1 (0x5100001c)
#define S3C2410X_TCNTO1 (0x51000020)
#define S3C2410X_TCNTB2 (0x51000024)
#define S3C2410X_TCMPB2 (0x51000028)
#define S3C2410X_TCNTO2 (0x5100002c)
#define S3C2410X_TCNTB3 (0x51000030)
#define S3C2410X_TCMPB3 (0x51000034)
#define S3C2410X_TCNTO3 (0x51000038)
#define S3C2410X_TCNTB4 (0x5100003c)
#define S3C2410X_TCNTO4 (0x51000040)
#define rTCFG0 (*(volatile unsigned *)0x51000000)
#define rTCFG1 (*(volatile unsigned *)0x51000004)
#define rTCON (*(volatile unsigned *)0x51000008)
#define rTCNTB0 (*(volatile unsigned *)0x5100000c)
#define rTCMPB0 (*(volatile unsigned *)0x51000010)
#define rTCNTO0 (*(volatile unsigned *)0x51000014)
#define rTCNTB1 (*(volatile unsigned *)0x51000018)
#define rTCMPB1 (*(volatile unsigned *)0x5100001c)
#define rTCNTO1 (*(volatile unsigned *)0x51000020)
#define rTCNTB2 (*(volatile unsigned *)0x51000024)
#define rTCMPB2 (*(volatile unsigned *)0x51000028)
#define rTCNTO2 (*(volatile unsigned *)0x5100002c)
#define rTCNTB3 (*(volatile unsigned *)0x51000030)
#define rTCMPB3 (*(volatile unsigned *)0x51000034)
#define rTCNTO3 (*(volatile unsigned *)0x51000038)
#define rTCNTB4 (*(volatile unsigned *)0x5100003c)
#define rTCNTO4 (*(volatile unsigned *)0x51000040)
#define S3C2410X_HcRevision (0x49000000)
#define S3C2410X_HcControl (0x49000004)
#define S3C2410X_HcCommonStatus (0x49000008)
#define S3C2410X_HcInterruptStatus (0x4900000c)
#define S3C2410X_HcInterruptEnable (0x49000010)
#define S3C2410X_HcInterruptDisable (0x49000014)
#define S3C2410X_HcHCCA (0x49000018)
#define S3C2410X_HcPeriodCuttentED (0x4900001c)
#define S3C2410X_HcControlHeadED (0x49000020)
#define S3C2410X_HcControlCurrentED (0x49000024)
#define S3C2410X_HcBulkHeadED (0x49000028)
#define S3C2410X_HcBulkCurrentED (0x4900002c)
#define S3C2410X_HcDoneHead (0x49000030)
#define S3C2410X_HcRmInterval (0x49000034)
#define S3C2410X_HcFmRemaining (0x49000038)
#define S3C2410X_HcFmNumber (0x4900003c)
#define S3C2410X_HcPeriodicStart (0x49000040)
#define S3C2410X_HcLSThreshold (0x49000044)
#define S3C2410X_HcRhDescriptorA (0x49000048)
#define S3C2410X_HcRhDescriptorB (0x4900004c)
#define S3C2410X_HcRhStatus (0x49000050)
#define S3C2410X_HcRhPortStatus1 (0x49000054)
#define S3C2410X_HcRhPortStatus2 (0x49000058)
#define S3C2410X_IICCON (0x54000000)
#define S3C2410X_IICSTAT (0x54000004)
#define S3C2410X_IICADD (0x54000008)
#define S3C2410X_IICDS (0x5400000c)
#define rIICCON (*(volatile unsigned *)0x54000000)
#define rIICSTAT (*(volatile unsigned *)0x54000004)
#define rIICADD (*(volatile unsigned *)0x54000008)
#define rIICDS (*(volatile unsigned *)0x5400000c)
#define S3C2410X_IISCON (0x55000000)
#define S3C2410X_IISMOD (0x55000004)
#define S3C2410X_IISPSR (0x55000008)
#define S3C2410X_IISFCON (0x5500000c)
#ifdef BSP_44B0_LITTLE_ENDIAN
#define S3C2410X_IISFIFO (0x55000010)
#else
#define S3C2410X_IISFIFO (0x55000012)
#endif
#define rIISCON (*(volatile unsigned *)0x55000000)
#define rIISMOD (*(volatile unsigned *)0x55000004)
#define rIISPSR (*(volatile unsigned *)0x55000008)
#define rIISFCON (*(volatile unsigned *)0x5500000c)
#ifdef BSP_44B0_LITTLE_ENDIAN
#define rIISFIF ((volatile unsigned short *)0x55000010)
#else
#define rIISFIF ((volatile unsigned short *)0x55000012)
#endif
#define S3C2410X_SPCON0 (0x59000000)
#define S3C2410X_SPSTA0 (0x59000004)
#define S3C2410X_SPPIN0 (0x59000008)
#define S3C2410X_SPPRE0 (0x5900000C)
#define S3C2410X_SPDTAT0 (0x59000010)
#define S3C2410X_SPRDAT0 (0x59000014)
#define S3C2410X_SPCON1 (0x59000020)
#define S3C2410X_SPSTA1 (0x59000024)
#define S3C2410X_SPPIN1 (0x59000028)
#define S3C2410X_SPPRE1 (0x5900002C)
#define S3C2410X_SPDTAT1 (0x59000030)
#define S3C2410X_SPRDAT1 (0x59000034)
#define rSPCON0 (*(volatile unsigned char *)0x59000000)
#define rSPSTA0 (*(volatile unsigned char *)0x59000004)
#define rSPPIN0 (*(volatile unsigned char *)0x59000008)
#define rSPPRE0 (*(volatile unsigned char *)0x5900000C)
#define rSPDTAT0 (*(volatile unsigned char *)0x59000010)
#define rSPRDAT0 (*(volatile unsigned char *)0x59000014)
#define rSPCON1 (*(volatile unsigned char *)0x59000020)
#define rSPSTA1 (*(volatile unsigned char *)0x59000024)
#define rSPPIN1 (*(volatile unsigned char *)0x59000028)
#define rSPPRE1 (*(volatile unsigned char *)0x5900002C)
#define rSPDTAT1 (*(volatile unsigned char *)0x59000030)
#define rSPRDAT1 (*(volatile unsigned char *)0x59000034)
#ifdef BSP_44B0_LITTLE_ENDIAN
#define S3C2410X_RTCCON (0x57000040)
#define S3C2410X_TICNT (0x57000044)
#define S3C2410X_RTCALM (0x57000050)
#define S3C2410X_ALMSEC (0x57000054)
#define S3C2410X_ALMMIN (0x57000058)
#define S3C2410X_ALMHOUR (0x5700005C)
#define S3C2410X_ALMDATE (0x57000060)
#define S3C2410X_ALMMON (0x57000064)
#define S3C2410X_ALMYEAR (0x57000068)
#define S3C2410X_RTCRST (0x5700006C)
#define S3C2410X_BCDSEC (0x57000070)
#define S3C2410X_BCDMIN (0x57000074)
#define S3C2410X_BCDHOUR (0x57000078)
#define S3C2410X_BCDDATE (0x5700007C)
#define S3C2410X_BCDDAY (0x57000080)
#define S3C2410X_BCDMON (0x57000084)
#define S3C2410X_BCDYEAR (0x57000088)
#else
#define S3C2410X_RTCCON (0x57000043)
#define S3C2410X_TICNT (0x57000047)
#define S3C2410X_RTCALM (0x57000053)
#define S3C2410X_ALMSEC (0x57000057)
#define S3C2410X_ALMMIN (0x5700005B)
#define S3C2410X_ALMHOUR (0x5700005F)
#define S3C2410X_ALMDATE (0x57000063)
#define S3C2410X_ALMMON (0x57000067)
#define S3C2410X_ALMYEAR (0x5700006B)
#define S3C2410X_RTCRST (0x5700006F)
#define S3C2410X_BCDSEC (0x57000073)
#define S3C2410X_BCDMIN (0x57000077)
#define S3C2410X_BCDHOUR (0x5700007B)
#define S3C2410X_BCDDATE (0x5700007F)
#define S3C2410X_BCDDAY (0x57000083)
#define S3C2410X_BCDMON (0x57000087)
#define S3C2410X_BCDYEAR (0x5700008B)
#endif
#ifdef BSP_44B0_LITTLE_ENDIAN
#define rRTCCON (*(volatile unsigned char *)0x57000040)
#define rTICNT (*(volatile unsigned char *)0x57000044)
#define rRTCALM (*(volatile unsigned char *)0x57000050)
#define rALMSEC (*(volatile unsigned char *)0x57000054)
#define rALMMIN (*(volatile unsigned char *)0x57000058)
#define rALMHOUR (*(volatile unsigned char *)0x5700005C)
#define rALMDATE (*(volatile unsigned char *)0x57000060)
#define rALMMON (*(volatile unsigned char *)0x57000064)
#define rALMYEAR (*(volatile unsigned char *)0x57000068)
#define rRTCRST (*(volatile unsigned char *)0x5700006C)
#define rBCDSEC (*(volatile unsigned char *)0x57000070)
#define rBCDMIN (*(volatile unsigned char *)0x57000074)
#define rBCDHOUR (*(volatile unsigned char *)0x57000078)
#define rBCDDATE (*(volatile unsigned char *)0x5700007C)
#define rBCDDAY (*(volatile unsigned char *)0x57000080)
#define rBCDMON (*(volatile unsigned char *)0x57000084)
#define rBCDYEAR (*(volatile unsigned char *)0x57000088)
#else
#define rRTCCON (*(volatile unsigned char *)0x57000043)
#define rTICNT (*(volatile unsigned char *)0x57000047)
#define rRTCALM (*(volatile unsigned char *)0x57000053)
#define rALMSEC (*(volatile unsigned char *)0x57000057)
#define rALMMIN (*(volatile unsigned char *)0x5700005B)
#define rALMHOUR (*(volatile unsigned char *)0x5700005F)
#define rALMDATE (*(volatile unsigned char *)0x57000063)
#define rALMMON (*(volatile unsigned char *)0x57000067)
#define rALMYEAR (*(volatile unsigned char *)0x5700006B)
#define rRTCRST (*(volatile unsigned char *)0x5700006F)
#define rBCDSEC (*(volatile unsigned char *)0x57000073)
#define rBCDMIN (*(volatile unsigned char *)0x57000077)
#define rBCDHOUR (*(volatile unsigned char *)0x5700007B)
#define rBCDDATE (*(volatile unsigned char *)0x5700007F)
#define rBCDDAY (*(volatile unsigned char *)0x57000083)
#define rBCDMON (*(volatile unsigned char *)0x57000087)
#define rBCDYEAR (*(volatile unsigned char *)0x5700008B)
#endif
#define SZ_1K 0x00000400
#define SZ_4K 0x00001000
#define SZ_8K 0x00002000
#define SZ_16K 0x00004000
#define SZ_64K 0x00010000
#define SZ_128K 0x00020000
#define SZ_256K 0x00040000
#define SZ_512K 0x00080000
#define SZ_1M 0x00100000
#define SZ_2M 0x00200000
#define SZ_4M 0x00400000
#define SZ_8M 0x00800000
#define SZ_16M 0x01000000
#define SZ_32M 0x02000000
#define SZ_64M 0x04000000
#define SZ_128M 0x08000000
#define SZ_256M 0x10000000
#define SZ_512M 0x20000000
#define NETBASE ((volatile unsigned char *)(0x18000000))
#define REG8(addr) *((volatile unsigned char * const) (addr))
#define REG16(addr) *((volatile unsigned short * const) (addr))
#define REG32(addr) *((volatile unsigned long * const) (addr))
#ifdef __cplusplus
}
#endif
#endif /* __INCs3c2410xh */