// S3C2400 register and bit definitions.
//
// Copyright (c) 2005 Rowley Associates Limited.
//
// This file may be distributed under the terms of the License Agreement
// provided with this software.
//
// THIS FILE IS PROVIDED AS IS WITH NO WARRANTY OF ANY KIND, INCLUDING THE
// WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.

#ifndef S3C2400_h
#define S3C2400_h

#define BWSCON (*(volatile unsigned *)0x14000000)

#define BANKCON0 (*(volatile unsigned *)0x14000004)

#define BANKCON1 (*(volatile unsigned *)0x14000008)

#define BANKCON2 (*(volatile unsigned *)0x1400000C)

#define BANKCON3 (*(volatile unsigned *)0x14000010)

#define BANKCON4 (*(volatile unsigned *)0x14000014)

#define BANKCON5 (*(volatile unsigned *)0x14000018)

#define BANKCON6 (*(volatile unsigned *)0x1400001C)

#define BANKCON7 (*(volatile unsigned *)0x14000020)

#define REFRESH (*(volatile unsigned *)0x14000024)

#define BANKSIZE (*(volatile unsigned *)0x14000028)

#define MRSRB6 (*(volatile unsigned *)0x1400002C)

#define MRSRB7 (*(volatile unsigned *)0x14000030)

#define HcRevision (*(volatile unsigned *)0x14200000)

#define HcControl (*(volatile unsigned *)0x14200004)

#define HcCommonStatus (*(volatile unsigned *)0x14200008)

#define HcInterruptStatus (*(volatile unsigned *)0x1420000C)

#define HcInterruptEnable (*(volatile unsigned *)0x14200010)

#define HcInterruptDisable (*(volatile unsigned *)0x14200014)

#define HcHCCA (*(volatile unsigned *)0x14200018)

#define HcPeriodCurrentED (*(volatile unsigned *)0x1420001C)

#define HcControlHeadED (*(volatile unsigned *)0x14200020)

#define HcControlCurrentED (*(volatile unsigned *)0x14200024)

#define HcBulkHeadED (*(volatile unsigned *)0x14200028)

#define HcBulkCurrentED (*(volatile unsigned *)0x1420002C)

#define HcDoneHEad (*(volatile unsigned *)0x14200030)

#define HcRmInterval (*(volatile unsigned *)0x14200034)

#define HcFmRemaining (*(volatile unsigned *)0x14200038)

#define HcFmNumber (*(volatile unsigned *)0x1420003C)

#define HcPeriodicStart (*(volatile unsigned *)0x14200040)

#define HcLSThreshold (*(volatile unsigned *)0x14200044)

#define HcRhDescriptorA (*(volatile unsigned *)0x14200048)

#define HcRhDescriptorB (*(volatile unsigned *)0x1420004C)

#define HcRhStatus (*(volatile unsigned *)0x14200050)

#define HcRhPortStatus1 (*(volatile unsigned *)0x14200054)

#define HcRhPortStatus2 (*(volatile unsigned *)0x14200058)

#define SRCPND (*(volatile unsigned *)0x14400000)

#define INTMOD (*(volatile unsigned *)0x14400004)

#define INTMSK (*(volatile unsigned *)0x14400008)

#define PRIORITY (*(volatile unsigned *)0x1440000C)

#define INTPND (*(volatile unsigned *)0x14400010)

#define INTOFFSET (*(volatile unsigned *)0x14400014)

#define DISRC0 (*(volatile unsigned *)0x14600000)

#define DIDST0 (*(volatile unsigned *)0x14600004)

#define DCON0 (*(volatile unsigned *)0x14600008)

#define DSTAT0 (*(volatile unsigned *)0x1460000C)

#define DCSRC0 (*(volatile unsigned *)0x14600010)

#define DCDST0 (*(volatile unsigned *)0x14600014)

#define DMASKTRIG0 (*(volatile unsigned *)0x14600018)

#define DISRC1 (*(volatile unsigned *)0x14600020)

#define DIDST1 (*(volatile unsigned *)0x14600024)

#define DCON1 (*(volatile unsigned *)0x14600028)

#define DSTAT1 (*(volatile unsigned *)0x1460002C)

#define DCSRC1 (*(volatile unsigned *)0x14600030)

#define DCDST1 (*(volatile unsigned *)0x14600034)

#define DMASKTRIG1 (*(volatile unsigned *)0x14600038)

#define DISRC2 (*(volatile unsigned *)0x14600040)

#define DIDST2 (*(volatile unsigned *)0x14600044)

#define DCON2 (*(volatile unsigned *)0x14600048)

#define DSTAT2 (*(volatile unsigned *)0x1460004C)

#define DCSRC2 (*(volatile unsigned *)0x14600050)

#define DCDST2 (*(volatile unsigned *)0x14600054)

#define DMASKTRIG2 (*(volatile unsigned *)0x14600058)

#define DISRC3 (*(volatile unsigned *)0x14600060)

#define DIDST3 (*(volatile unsigned *)0x14600064)

#define DCON3 (*(volatile unsigned *)0x14600068)

#define DSTAT3 (*(volatile unsigned *)0x1460006C)

#define DCSRC3 (*(volatile unsigned *)0x14600070)

#define DCDST3 (*(volatile unsigned *)0x14600074)

#define DMASKTRIG3 (*(volatile unsigned *)0x14600078)

#define LOCKTIME (*(volatile unsigned *)0x14800000)

#define MPLLCON (*(volatile unsigned *)0x14800004)

#define UPLLCON (*(volatile unsigned *)0x14800008)

#define CLKCON (*(volatile unsigned *)0x1480000C)

#define CLKSLOW (*(volatile unsigned *)0x14800010)

#define CLKDIVN (*(volatile unsigned *)0x14800014)

#define LCDCON1 (*(volatile unsigned *)0x14A00000)

#define LCDCON2 (*(volatile unsigned *)0x14A00004)

#define LCDCON3 (*(volatile unsigned *)0x14A00008)

#define LCDCON4 (*(volatile unsigned *)0x14A0000C)

#define LCDCON5 (*(volatile unsigned *)0x14A00010)

#define LCDSADDR1 (*(volatile unsigned *)0x14A00014)

#define LCDSADDR2 (*(volatile unsigned *)0x14A00018)

#define LCDSADDR3 (*(volatile unsigned *)0x14A0001C)

#define REDLUT (*(volatile unsigned *)0x14A00020)

#define GREENLUT (*(volatile unsigned *)0x14A00024)

#define BLUELUT (*(volatile unsigned *)0x14A00028)

#define DP1_2 (*(volatile unsigned *)0x14A0002C)

#define DP4_7 (*(volatile unsigned *)0x14A00030)

#define DP3_5 (*(volatile unsigned *)0x14A00034)

#define DP2_3 (*(volatile unsigned *)0x14A00038)

#define DP5_7 (*(volatile unsigned *)0x14A0003C)

#define DP3_4 (*(volatile unsigned *)0x14A00040)

#define DP4_5 (*(volatile unsigned *)0x14A00044)

#define DP6_7 (*(volatile unsigned *)0x14A00048)

#define DITHMODE (*(volatile unsigned *)0x14A0004C)

#define TPAL (*(volatile unsigned *)0x14A00050)

#define ULCON0 (*(volatile unsigned *)0x15000000)

#define UCON0 (*(volatile unsigned *)0x15000004)

#define UFCON0 (*(volatile unsigned *)0x15000008)

#define UMCON0 (*(volatile unsigned *)0x1500000C)

#define UTRSTAT0 (*(volatile unsigned *)0x15000010)

#define UERSTAT0 (*(volatile unsigned *)0x15000014)

#define UFSTAT0 (*(volatile unsigned *)0x15000018)

#define UMSTAT0 (*(volatile unsigned *)0x1500001C)

#define UTXH0 (*(volatile unsigned *)0x15000020)

#define URXH0 (*(volatile unsigned *)0x15000024)

#define UBRDIV0 (*(volatile unsigned *)0x15000028)

#define ULCON1 (*(volatile unsigned *)0x15004000)

#define UCON1 (*(volatile unsigned *)0x15004004)

#define UFCON1 (*(volatile unsigned *)0x15004008)

#define UMCON1 (*(volatile unsigned *)0x1500400C)

#define UTRSTAT1 (*(volatile unsigned *)0x15004010)

#define UERSTAT1 (*(volatile unsigned *)0x15004014)

#define UFSTAT1 (*(volatile unsigned *)0x15004018)

#define UMSTAT1 (*(volatile unsigned *)0x1500401C)

#define UTXH1 (*(volatile unsigned *)0x15004020)

#define URXH1 (*(volatile unsigned *)0x15004024)

#define UBRDIV1 (*(volatile unsigned *)0x15004028)

#define TCFG0 (*(volatile unsigned *)0x15100000)

#define TCFG1 (*(volatile unsigned *)0x15100004)

#define TCON (*(volatile unsigned *)0x15100008)

#define TCNTB0 (*(volatile unsigned *)0x1510000C)

#define TCMPB0 (*(volatile unsigned *)0x15100010)

#define TCNTO0 (*(volatile unsigned *)0x15100014)

#define TCNTB1 (*(volatile unsigned *)0x15100018)

#define TCMPB1 (*(volatile unsigned *)0x1510001C)

#define TCNTO1 (*(volatile unsigned *)0x15100020)

#define TCNTB2 (*(volatile unsigned *)0x15100024)

#define TCMPB2 (*(volatile unsigned *)0x15100028)

#define TCNTO2 (*(volatile unsigned *)0x1510002C)

#define TCNTB3 (*(volatile unsigned *)0x15100030)

#define TCMPB3 (*(volatile unsigned *)0x15100034)

#define TCNTO3 (*(volatile unsigned *)0x15100038)

#define TCNTB4 (*(volatile unsigned *)0x1510003C)

#define TCNTO4 (*(volatile unsigned *)0x15100040)

#define FUNC_ADDR_REG (*(volatile unsigned *)0x15200140)

#define PWR_REG (*(volatile unsigned *)0x15200144)

#define INT_REG (*(volatile unsigned *)0x15200148)

#define INT_MASK_REG (*(volatile unsigned *)0x1520014C)

#define FRAME_NUM_REG (*(volatile unsigned *)0x15200150)

#define RESUME_CON_REG (*(volatile unsigned *)0x15200154)

#define EP0_CSR (*(volatile unsigned *)0x15200160)

#define EP0_MAXP (*(volatile unsigned *)0x15200164)

#define EP0_OUT_CNT (*(volatile unsigned *)0x15200168)

#define EP0_FIFO (*(volatile unsigned *)0x1520016C)

#define EP1_IN_CSR (*(volatile unsigned *)0x15200180)

#define EP1_IN_MAXP (*(volatile unsigned *)0x15200184)

#define EP1_FIFO (*(volatile unsigned *)0x15200188)

#define EP2_IN_CSR (*(volatile unsigned *)0x15200190)

#define EP2_IN_MAXP (*(volatile unsigned *)0x15200194)

#define EP2_FIFO (*(volatile unsigned *)0x15200198)

#define EP3_OUT_CSR (*(volatile unsigned *)0x152001A0)

#define EP3_OUT_MAXP (*(volatile unsigned *)0x152001A4)

#define EP3_OUT_CNT (*(volatile unsigned *)0x152001A8)

#define EP3_FIFO (*(volatile unsigned *)0x152001AC)

#define EP4_OUT_CSR (*(volatile unsigned *)0x152001B0)

#define EP4_OUT_MAXP (*(volatile unsigned *)0x152001B4)

#define EP4_OUT_CNT (*(volatile unsigned *)0x152001B8)

#define EP4_FIFO (*(volatile unsigned *)0x152001BC)

#define DMA_CON (*(volatile unsigned *)0x152001C0)

#define DMA_UNIT (*(volatile unsigned *)0x152001C4)

#define DMA_FIFO (*(volatile unsigned *)0x152001C8)

#define DMA_TX (*(volatile unsigned *)0x152001CC)

#define TEST_MODE (*(volatile unsigned *)0x152001F4)

#define IN_CON_REG (*(volatile unsigned *)0x152001F8)

#define WTCON (*(volatile unsigned *)0x15300000)

#define WTDAT (*(volatile unsigned *)0x15300004)

#define WTCNT (*(volatile unsigned *)0x15300008)

#define IICCON (*(volatile unsigned *)0x15400000)

#define IICSTAT (*(volatile unsigned *)0x15400004)

#define IICADD (*(volatile unsigned *)0x15400008)

#define IICDS (*(volatile unsigned *)0x1540000C)

#define IISCON (*(volatile unsigned *)0x15508000)

#define IISMOD (*(volatile unsigned *)0x15508004)

#define IISPSR (*(volatile unsigned *)0x15508008)

#define IISFIFCON (*(volatile unsigned *)0x1550800C)

#define IISFIF (*(volatile unsigned *)0x15508010)

#define PACON (*(volatile unsigned *)0x15600000)

#define PADAT (*(volatile unsigned *)0x15600004)

#define PBCON (*(volatile unsigned *)0x15600008)

#define PBDAT (*(volatile unsigned *)0x1560000C)

#define PBUP (*(volatile unsigned *)0x15600010)

#define PCCON (*(volatile unsigned *)0x15600014)

#define PCDAT (*(volatile unsigned *)0x15600018)

#define PCUP (*(volatile unsigned *)0x1560001C)

#define PDCON (*(volatile unsigned *)0x15600020)

#define PDDAT (*(volatile unsigned *)0x15600024)

#define PDUP (*(volatile unsigned *)0x15600028)

#define PECON (*(volatile unsigned *)0x1560002C)

#define PEDAT (*(volatile unsigned *)0x15600030)

#define PEUP (*(volatile unsigned *)0x15600034)

#define PFCON (*(volatile unsigned *)0x15600038)

#define PFDAT (*(volatile unsigned *)0x1560003C)

#define PFUP (*(volatile unsigned *)0x15600040)

#define PGCON (*(volatile unsigned *)0x15600044)

#define PGDAT (*(volatile unsigned *)0x15600048)

#define PGUP (*(volatile unsigned *)0x1560004C)

#define OPENCR (*(volatile unsigned *)0x15600050)

#define MISCCR (*(volatile unsigned *)0x15600054)

#define EXTINT (*(volatile unsigned *)0x15600058)

#define RTCCON (*(volatile unsigned *)0x15700040)

#define TICINT (*(volatile unsigned *)0x15700044)

#define RTCALM (*(volatile unsigned *)0x15700050)

#define ALMSEC (*(volatile unsigned *)0x15700054)

#define ALMMIN (*(volatile unsigned *)0x15700058)

#define ALMHOUR (*(volatile unsigned *)0x1570005C)

#define ALMDAY (*(volatile unsigned *)0x15700060)

#define ALMMON (*(volatile unsigned *)0x15700064)

#define ALMYEAR (*(volatile unsigned *)0x15700068)

#define RTCRST (*(volatile unsigned *)0x1570006C)

#define BCDSEC (*(volatile unsigned *)0x15700070)

#define BCDMIN (*(volatile unsigned *)0x15700074)

#define BCDHOUR (*(volatile unsigned *)0x15700078)

#define BCDDAY (*(volatile unsigned *)0x1570007C)

#define BCDDATE (*(volatile unsigned *)0x15700080)

#define BCDMON (*(volatile unsigned *)0x15700084)

#define BCDYEAR (*(volatile unsigned *)0x15700088)

#define ADCCON (*(volatile unsigned *)0x15800000)

#define ADCDAT (*(volatile unsigned *)0x15800004)

#define SPCON (*(volatile unsigned *)0x15900000)

#define SPSTA (*(volatile unsigned *)0x15900004)

#define SPPIN (*(volatile unsigned *)0x15900008)

#define SPPRE (*(volatile unsigned *)0x1590000C)

#define SPTDAT (*(volatile unsigned *)0x15900010)

#define SPRDAT (*(volatile unsigned *)0x15900014)

#define MMCON (*(volatile unsigned *)0x15A00000)

#define MMCRR (*(volatile unsigned *)0x15A00004)

#define MMFCON (*(volatile unsigned *)0x15A00008)

#define MMSTA (*(volatile unsigned *)0x15A0000C)

#define MMFSTA (*(volatile unsigned *)0x15A00010)

#define MMPRE (*(volatile unsigned *)0x15A00014)

#define MMLEN (*(volatile unsigned *)0x15A00018)

#define MMCR7 (*(volatile unsigned *)0x15A0001C)

#define MMRSP0 (*(volatile unsigned *)0x15A00020)

#define MMRSP1 (*(volatile unsigned *)0x15A00024)

#define MMRSP2 (*(volatile unsigned *)0x15A00028)

#define MMRSP3 (*(volatile unsigned *)0x15A0002C)

#define MMCMD0 (*(volatile unsigned *)0x15A00030)

#define MMCMD1 (*(volatile unsigned *)0x15A00034)

#define MMCR16 (*(volatile unsigned *)0x15A00038)

#define MMDAT (*(volatile unsigned *)0x15A0003C)


#endif
