📄 s3c2410.h
字号:
/************************************************ * NAME : s3c2410.h * Version : 3.7.2002 * * Based on S3C2410X User's manual Rev 0.1 ************************************************/#ifndef __S3C2410_H__#define __S3C2410_H__/* Memory control */#define rBWSCON (*(volatile unsigned *)0x48000000)#define rBANKCON0 (*(volatile unsigned *)0x48000004)#define rBANKCON1 (*(volatile unsigned *)0x48000008)#define rBANKCON2 (*(volatile unsigned *)0x4800000C)#define rBANKCON3 (*(volatile unsigned *)0x48000010)#define rBANKCON4 (*(volatile unsigned *)0x48000014)#define rBANKCON5 (*(volatile unsigned *)0x48000018)#define rBANKCON6 (*(volatile unsigned *)0x4800001C)#define rBANKCON7 (*(volatile unsigned *)0x48000020)#define rREFRESH (*(volatile unsigned *)0x48000024)#define rBANKSIZE (*(volatile unsigned *)0x48000028)#define rMRSRB6 (*(volatile unsigned *)0x4800002C)#define rMRSRB7 (*(volatile unsigned *)0x48000030)/* USB HOST */#define rHcRevision (*(volatile unsigned *)0x49000000)#define rHcControl (*(volatile unsigned *)0x49000004)#define rHcCommonStatus (*(volatile unsigned *)0x49000008)#define rHcInterruptStatus (*(volatile unsigned *)0x4900000C)#define rHcInterruptEnable (*(volatile unsigned *)0x49000010)#define rHcInterruptDisable (*(volatile unsigned *)0x49000014)#define rHcHCCA (*(volatile unsigned *)0x49000018)#define rHcPeriodCuttendED (*(volatile unsigned *)0x4900001C)#define rHcControlHeadED (*(volatile unsigned *)0x49000020)#define rHcControlCurrentED (*(volatile unsigned *)0x49000024)#define rHcBulkHeadED (*(volatile unsigned *)0x49000028)#define rHcBuldCurrentED (*(volatile unsigned *)0x4900002C)#define rHcDoneHead (*(volatile unsigned *)0x49000030)#define rHcRmInterval (*(volatile unsigned *)0x49000034)#define rHcFmRemaining (*(volatile unsigned *)0x49000038)#define rHcFmNumber (*(volatile unsigned *)0x4900003C)#define rHcPeriodicStart (*(volatile unsigned *)0x49000040)#define rHcLSThreshold (*(volatile unsigned *)0x49000044)#define rHcRhDescriptorA (*(volatile unsigned *)0x49000048)#define rHcRhDescriptorB (*(volatile unsigned *)0x4900004C)#define rHcRhStatus (*(volatile unsigned *)0x49000050)#define rHcRhPortStatus1 (*(volatile unsigned *)0x49000054)#define rHcRhPortStatus2 (*(volatile unsigned *)0x49000058)/* INTERRUPT */#define rSRCPND (*(volatile unsigned *)0x4A000000)#define rINTMOD (*(volatile unsigned *)0x4A000004)#define rINTMSK (*(volatile unsigned *)0x4A000008)#define rPRIORITY (*(volatile unsigned *)0x4A00000C)#define rINTPND (*(volatile unsigned *)0x4A000010)#define rINTOFFSET (*(volatile unsigned *)0x4A000014)#define rSUBSRCPND (*(volatile unsigned *)0x4A000018)#define rINTSUBMSK (*(volatile unsigned *)0x4A00001C)/* DMA */#define rDISRC0 (*(volatile unsigned *)0x4B000000)#define rDISRCC0 (*(volatile unsigned *)0x4B000004)#define rDIDST0 (*(volatile unsigned *)0x4B000008)#define rDIDSTC0 (*(volatile unsigned *)0x4B00000C)#define rDCON0 (*(volatile unsigned *)0x4B000010)#define rDSTAT0 (*(volatile unsigned *)0x4B000014)#define rDCSRC0 (*(volatile unsigned *)0x4B000018)#define rDCDST0 (*(volatile unsigned *)0x4B00001C)#define rDMASKTRIG0 (*(volatile unsigned *)0x4B000020)#define rDISRC1 (*(volatile unsigned *)0x4B000040)#define rDISRCC1 (*(volatile unsigned *)0x4B000044)#define rDIDST1 (*(volatile unsigned *)0x4B000048)#define rDIDSTC1 (*(volatile unsigned *)0x4B00004C)#define rDCON1 (*(volatile unsigned *)0x4B000050)#define rDSTAT1 (*(volatile unsigned *)0x4B000054)#define rDCSRC1 (*(volatile unsigned *)0x4B000058)#define rDCDST1 (*(volatile unsigned *)0x4B00005C)#define rDMASKTRIG1 (*(volatile unsigned *)0x4B000060)#define rDISRC2 (*(volatile unsigned *)0x4B000080)#define rDISRCC2 (*(volatile unsigned *)0x4B000084)#define rDIDST2 (*(volatile unsigned *)0x4B000088)#define rDIDSTC2 (*(volatile unsigned *)0x4B00008C)#define rDCON2 (*(volatile unsigned *)0x4B000090)#define rDSTAT2 (*(volatile unsigned *)0x4B000094)#define rDCSRC2 (*(volatile unsigned *)0x4B000098)#define rDCDST2 (*(volatile unsigned *)0x4B00009C)#define rDMASKTRIG2 (*(volatile unsigned *)0x4B0000A0)#define rDISRC3 (*(volatile unsigned *)0x4B0000C0)#define rDISRCC3 (*(volatile unsigned *)0x4B0000C4)#define rDIDST3 (*(volatile unsigned *)0x4B0000C8)#define rDIDSTC3 (*(volatile unsigned *)0x4B0000CC)#define rDCON3 (*(volatile unsigned *)0x4B0000D0)#define rDSTAT3 (*(volatile unsigned *)0x4B0000D4)#define rDCSRC3 (*(volatile unsigned *)0x4B0000D8)#define rDCDST3 (*(volatile unsigned *)0x4B0000DC)#define rDMASKTRIG3 (*(volatile unsigned *)0x4B0000E0)/* CLOCK & POWER MANAGEMENT */#define rLOCKTIME (*(volatile unsigned *)0x4C000000)#define rMPLLCON (*(volatile unsigned *)0x4C000004)#define rUPLLCON (*(volatile unsigned *)0x4C000008)#define rCLKCON (*(volatile unsigned *)0x4C00000C)#define rCLKSLOW (*(volatile unsigned *)0x4C000010)#define rCLKDIVN (*(volatile unsigned *)0x4C000014)/* LCD CONTROLLER */#define rLCDCON1 (*(volatile unsigned *)0x4D000000)#define rLCDCON2 (*(volatile unsigned *)0x4D000004)#define rLCDCON3 (*(volatile unsigned *)0x4D000008)#define rLCDCON4 (*(volatile unsigned *)0x4D00000C)#define rLCDCON5 (*(volatile unsigned *)0x4D000010)#define rLCDSADDR1 (*(volatile unsigned *)0x4D000014)#define rLCDSADDR2 (*(volatile unsigned *)0x4D000018)#define rLCDSADDR3 (*(volatile unsigned *)0x4D00001C)#define rREDLUT (*(volatile unsigned *)0x4D000020)#define rGREENLUT (*(volatile unsigned *)0x4D000024)#define rBLUELUT (*(volatile unsigned *)0x4D000028)#define rDITHMODE (*(volatile unsigned *)0x4D00004C)#define rTPAL (*(volatile unsigned *)0x4D000050)#define rLCDINTPND (*(volatile unsigend *)0x4D000054)#define rLCDSRCPND (*(volatile unsigend *)0x4D000058)#define rLCDINTMSK (*(volatile unsigend *)0x4D00005C)/* NAND FLASH */#define rNFCONF (*(volatile unsigend *)0x4E000000)#define rNFCMD (*(volatile unsigend *)0x4E000004)#define rNFADDR (*(volatile unsigend *)0x4E000008)#define rNFDATA (*(volatile unsigend *)0x4E00000C)#define rNFSTAT (*(volatile unsigend *)0x4E000010)#define rNFECC (*(volatile unsigend *)0x4E000014)/* UART */#define rULCON0 (*(volatile unsigned *)0x50000000)#define rUCON0 (*(volatile unsigned *)0x50000004)#define rUFCON0 (*(volatile unsigned *)0x50000008)#define rUMCON0 (*(volatile unsigned *)0x5000000C)#define rUTRSTAT0 (*(volatile unsigned *)0x50000010)#define rUERSTAT0 (*(volatile unsigned *)0x50000014)#define rUFSTAT0 (*(volatile unsigned *)0x50000018)#define rUMSTAT0 (*(volatile unsigned *)0x5000001C)#define rUBRDIV0 (*(volatile unsigned *)0x50000028)#define rULCON1 (*(volatile unsigned *)0x50004000)#define rUCON1 (*(volatile unsigned *)0x50004004)#define rUFCON1 (*(volatile unsigned *)0x50004008)#define rUMCON1 (*(volatile unsigned *)0x5000400C)#define rUTRSTAT1 (*(volatile unsigned *)0x50004010)#define rUERSTAT1 (*(volatile unsigned *)0x50004014)#define rUFSTAT1 (*(volatile unsigned *)0x50004018)#define rUMSTAT1 (*(volatile unsigned *)0x5000401C)#define rUBRDIV1 (*(volatile unsigned *)0x50004028)#define rULCON2 (*(volatile unsigned *)0x50008000)#define rUCON2 (*(volatile unsigned *)0x50008004)#define rUFCON2 (*(volatile unsigned *)0x50008008)#define rUTRSTAT2 (*(volatile unsigned *)0x50008010)#define rUERSTAT2 (*(volatile unsigned *)0x50008014)#define rUFSTAT2 (*(volatile unsigned *)0x50008018)#define rUBRDIV2 (*(volatile unsigned *)0x50008028)#ifdef __BIG_ENDIAN#define rUTXH0 (*(volatile unsigned char *)0x50000023)#define rURXH0 (*(volatile unsigned char *)0x50000027)#define rUTXH1 (*(volatile unsigned char *)0x50004023)#define rURXH1 (*(volatile unsigned char *)0x50004027)#define rUTXH2 (*(volatile unsigned char *)0x50008023)#define rURXH2 (*(volatile unsigned char *)0x50008027)#define WrUTXH0(ch) (*(volatile unsigned char *)0x50000023)=(unsigned char)(ch)#define RdURXH0() (*(volatile unsigned char *)0x50000027)#define WrUTXH1(ch) (*(volatile unsigned char *)0x50004023)=(unsigned char)(ch)#define RdURXH1() (*(volatile unsigned char *)0x50004027)#define WrUTXH2(ch) (*(volatile unsigned char *)0x50008023)=(unsigned char)(ch)#define RdURXH2() (*(volatile unsigned char *)0x50008027)#define UTXH0 (0x50000020+3) /* byte_access address by DMA */#define URXH0 (0x50000024+3)#define UTXH1 (0x50004020+3)#define URXH1 (0x50004024+3)#define UTXH2 (0x50008020+3)#define URXH2 (0x50008024+3)#else /* Little Endian */#define rUTXH0 (*(volatile unsigned char *)0x50000020)#define rURXH0 (*(volatile unsigned char *)0x50000024)#define rUTXH1 (*(volatile unsigned char *)0x50004020)#define rURXH1 (*(volatile unsigned char *)0x50004024)#define rUTXH2 (*(volatile unsigned char *)0x50008020)#define rURXH2 (*(volatile unsigned char *)0x50008024)#define WrUTXH0(ch) (*(volatile unsigned char *)0x50000020)=(unsigned char)(ch)#define RdURXH0() (*(volatile unsigned char *)0x50000024)#define WrUTXH1(ch) (*(volatile unsigned char *)0x50004020)=(unsigned char)(ch)#define RdURXH1() (*(volatile unsigned char *)0x50004024)#define WrUTXH2(ch) (*(volatile unsigned char *)0x50008020)=(unsigned char)(ch)#define RdURXH2() (*(volatile unsigned char *)0x50008024)#define UTXH0 (0x50000020) /* byte_access address by DMA */#define URXH0 (0x50000024)#define UTXH1 (0x50004020)#define URXH1 (0x50004024)#define UTXH2 (0x50008020)#define URXH2 (0x50008024)#endif/* PWM TIMER */#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)/* USB DEVICE */#ifdef __BIG_ENDIAN#define rFUNC_ADDR_REG (*(volatile unsigned char *)0x52000143)#define rPWR_REG (*(volatile unsigned char *)0x52000147)#define rEP_INT_REG (*(volatile unsigned char *)0x5200014B)#define rUSB_INT_REG (*(volatile unsigned char *)0x5200015B)#define rEP_INT_EN_REG (*(volatile unsigned char *)0x5200015F)#define rUSB_INT_EN_REG (*(volatile unsigned char *)0x5200016F)#define rFRAME_NUM1_REG (*(volatile unsigned char *)0x52000173)#define rFRAME_NUM2_REG (*(volatile unsigned char *)0x52000177)#define rINDEX_REG (*(volatile unsigned char *)0x5200017B)#define rMAXP_REG (*(volatile unsigned char *)0x52000183)#define rEP0_CSR (*(volatile unsigned char *)0x52000187)#define rIN_CSR1_REG (*(volatile unsigned char *)0x52000187)#define rIN_CSR2_REG (*(volatile unsigned char *)0x5200018B)#define rOUT_CSR1_REG (*(volatile unsigned char *)0x52000193)#define rOUT_CSR2_REG (*(volatile unsigned char *)0x52000197)#define rOUT_FIFO_CNT1_REG (*(volatile unsigned char *)0x5200019B)#define rOUT_FIFO_CNT2_REG (*(volatile unsigned char *)0x5200019F)#define rEP0_FIFO (*(volatile unsigned char *)0x520001C3)#define rEP1_FIFO (*(volatile unsigned char *)0x520001C7)#define rEP2_FIFO (*(volatile unsigned char *)0x520001CB)#define rEP3_FIFO (*(volatile unsigned char *)0x520001CF)#define rEP4_FIFO (*(volatile unsigned char *)0x520001D3)#define rEP1_DMA_CON (*(volatile unsigned char *)0x52000203)#define rEP1_DMA_UNIT (*(volatile unsigned char *)0x52000207)#define rEP1_DMA_FIFO (*(volatile unsigned char *)0x5200020B)#define rEP1_DMA_TX_LO (*(volatile unsigned char *)0x5200020F)#define rEP1_DMA_TX_MD (*(volatile unsigned char *)0x52000213)#define rEP1_DMA_TX_HI (*(volatile unsigned char *)0x52000217)#define rEP2_DMA_CON (*(volatile unsigned char *)0x5200021B)#define rEP2_DMA_UNIT (*(volatile unsigned char *)0x5200021F)#define rEP2_DMA_FIFO (*(volatile unsigned char *)0x52000223)#define rEP2_DMA_TX_LO (*(volatile unsigned char *)0x52000227)#define rEP2_DMA_TX_MD (*(volatile unsigned char *)0x5200022B)#define rEP2_DMA_TX_HI (*(volatile unsigned char *)0x5200022F)#define rEP3_DMA_CON (*(volatile unsigned char *)0x52000243)#define rEP3_DMA_UNIT (*(volatile unsigned char *)0x52000247)#define rEP3_DMA_FIFO (*(volatile unsigned char *)0x5200024B)#define rEP3_DMA_TX_LO (*(volatile unsigned char *)0x5200024F)#define rEP3_DMA_TX_MD (*(volatile unsigned char *)0x52000253)#define rEP3_DMA_TX_HI (*(volatile unsigned char *)0x52000257)#define rEP4_DMA_CON (*(volatile unsigned char *)0x5200025B)#define rEP4_DMA_UNIT (*(volatile unsigned char *)0x5200025F)#define rEP4_DMA_FIFO (*(volatile unsigned char *)0x52000263)#define rEP4_DMA_TX_LO (*(volatile unsigned char *)0x52000267)#define rEP4_DMA_TX_MD (*(volatile unsigned char *)0x5200026B)#define rEP4_DMA_TX_HI (*(volatile unsigned char *)0x5200026F)#else /* little endian */#define rFUNC_ADDR_REG (*(volatile unsigned char *)0x52000140)#define rPWR_REG (*(volatile unsigned char *)0x52000144)#define rEP_INT_REG (*(volatile unsigned char *)0x52000148)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -