| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342 | 
							- /*
 
-  * Copyright (c) 2006-2018, RT-Thread Development Team
 
-  *
 
-  * SPDX-License-Identifier: Apache-2.0
 
-  *
 
-  * Change Logs:
 
-  * Date           Author       Notes
 
-  * 2006-09-06     XuXinming    first version
 
-  * 2006-09-16     Bernard      modify according to code style
 
-  */
 
- #ifndef __S3C44B0_H__
 
- #define __S3C44B0_H__
 
- #ifdef __cplusplus
 
- extern "C" {
 
- #endif
 
- /**
 
-  * @addtogroup S3C44B0
 
-  */
 
- /*@{*/
 
- /*------------------------------------------------------------------------
 
-  *	  ASIC Address Definition
 
-  *----------------------------------------------------------------------*/
 
- #define S3C_REG		*(volatile unsigned int *)
 
- #define S3C_REGW	*(volatile unsigned short *)
 
- #define S3C_REGB	*(volatile unsigned char *)
 
- /* System */
 
- #define SYSCFG		(S3C_REG(0x1c00000))
 
- /* Cache */
 
- #define NCACHBE0	(S3C_REG(0x1c00004))
 
- #define NCACHBE1	(S3C_REG(0x1c00008))
 
- /* Bus control */
 
- #define SBUSCON		(S3C_REG(0x1c40000))
 
- /* Memory control */
 
- #define BWSCON		(S3C_REG(0x1c80000))
 
- #define BANKCON0	(S3C_REG(0x1c80004))
 
- #define BANKCON1	(S3C_REG(0x1c80008))
 
- #define BANKCON2	(S3C_REG(0x1c8000c))
 
- #define BANKCON3	(S3C_REG(0x1c80010))
 
- #define BANKCON4	(S3C_REG(0x1c80014))
 
- #define BANKCON5	(S3C_REG(0x1c80018))
 
- #define BANKCON6	(S3C_REG(0x1c8001c))
 
- #define BANKCON7	(S3C_REG(0x1c80020))
 
- #define REFRESH		(S3C_REG(0x1c80024))
 
- #define BANKSIZE	(S3C_REG(0x1c80028))
 
- #define MRSRB6		(S3C_REG(0x1c8002c))
 
- #define MRSRB7		(S3C_REG(0x1c80030))
 
- /* UART */
 
- #define ULCON0		(S3C_REG(0x1d00000))
 
- #define ULCON1		(S3C_REG(0x1d04000))
 
- #define UCON0		(S3C_REG(0x1d00004))
 
- #define UCON1		(S3C_REG(0x1d04004))
 
- #define UFCON0		(S3C_REG(0x1d00008))
 
- #define UFCON1		(S3C_REG(0x1d04008))
 
- #define UMCON0		(S3C_REG(0x1d0000c))
 
- #define UMCON1		(S3C_REG(0x1d0400c))
 
- #define UTRSTAT0	(S3C_REG(0x1d00010))
 
- #define UTRSTAT1	(S3C_REG(0x1d04010))
 
- #define UERSTAT0	(S3C_REG(0x1d00014))
 
- #define UERSTAT1	(S3C_REG(0x1d04014))
 
- #define UFSTAT0		(S3C_REG(0x1d00018))
 
- #define UFSTAT1		(S3C_REG(0x1d04018))
 
- #define UMSTAT0		(S3C_REG(0x1d0001c))
 
- #define UMSTAT1		(S3C_REG(0x1d0401c))
 
- #define UBRDIV0		(S3C_REG(0x1d00028))
 
- #define UBRDIV1		(S3C_REG(0x1d04028))
 
- #define UTXH0		(S3C_REGB(0x1d00020))
 
- #define UTXH1		(S3C_REGB(0x1d04020))
 
- #define URXH0		(S3C_REGB(0x1d00024))
 
- #define URXH1		(S3C_REGB(0x1d04024))
 
- /* SIO */
 
- #define SIOCON		(S3C_REG(0x1d14000))
 
- #define SIODAT		(S3C_REG(0x1d14004))
 
- #define SBRDR		(S3C_REG(0x1d14008))
 
- #define IVTCNT		(S3C_REG(0x1d1400c))
 
- #define DCNTZ		(S3C_REG(0x1d14010))
 
- /* IIS */
 
- #define IISCON		(S3C_REG(0x1d18000))
 
- #define IISMOD		(S3C_REG(0x1d18004))
 
- #define IISPSR		(S3C_REG(0x1d18008))
 
- #define IISFCON		(S3C_REG(0x1d1800c))
 
- #define IISFIF		(S3C_REQW(0x1d18010))
 
- /* I/O Port */
 
- #define PCONA		(S3C_REG(0x1d20000))
 
- #define PDATA		(S3C_REG(0x1d20004))
 
- #define PCONB		(S3C_REG(0x1d20008))
 
- #define PDATB		(S3C_REG(0x1d2000c))
 
- #define PCONC		(S3C_REG(0x1d20010))
 
- #define PDATC		(S3C_REG(0x1d20014))
 
- #define PUPC		(S3C_REG(0x1d20018))
 
- #define PCOND		(S3C_REG(0x1d2001c))
 
- #define PDATD		(S3C_REG(0x1d20020))
 
- #define PUPD		(S3C_REG(0x1d20024))
 
- #define PCONE		(S3C_REG(0x1d20028))
 
- #define PDATE		(S3C_REG(0x1d2002c))
 
- #define PUPE		(S3C_REG(0x1d20030))
 
- #define PCONF		(S3C_REG(0x1d20034))
 
- #define PDATF		(S3C_REG(0x1d20038))
 
- #define PUPF		(S3C_REG(0x1d2003c))
 
- #define PCONG		(S3C_REG(0x1d20040))
 
- #define PDATG		(S3C_REG(0x1d20044))
 
- #define PUPG		(S3C_REG(0x1d20048))
 
- #define SPUCR		(S3C_REG(0x1d2004c))
 
- #define EXTINT		(S3C_REG(0x1d20050))
 
- #define EXTINTPND	(S3C_REG(0x1d20054))
 
- /* Watchdog */
 
- #define WTCON		(S3C_REG(0x1d30000))
 
- #define WTDAT		(S3C_REG(0x1d30004))
 
- #define WTCNT		(S3C_REG(0x1d30008))
 
- /* ADC */
 
- #define ADCCON		(S3C_REG(0x1d40000))
 
- #define ADCPSR		(S3C_REG(0x1d40004))
 
- #define ADCDAT		(S3C_REG(0x1d40008))
 
- /* Timer */
 
- #define TCFG0		(S3C_REG(0x1d50000))
 
- #define TCFG1		(S3C_REG(0x1d50004))
 
- #define TCON		(S3C_REG(0x1d50008))
 
- #define TCNTB0		(S3C_REG(0x1d5000c))
 
- #define TCMPB0		(S3C_REG(0x1d50010))
 
- #define TCNTO0		(S3C_REG(0x1d50014))
 
- #define TCNTB1		(S3C_REG(0x1d50018))
 
- #define TCMPB1		(S3C_REG(0x1d5001c))
 
- #define TCNTO1		(S3C_REG(0x1d50020))
 
- #define TCNTB2		(S3C_REG(0x1d50024))
 
- #define TCMPB2		(S3C_REG(0x1d50028))
 
- #define TCNTO2		(S3C_REG(0x1d5002c))
 
- #define TCNTB3		(S3C_REG(0x1d50030))
 
- #define TCMPB3		(S3C_REG(0x1d50034))
 
- #define TCNTO3		(S3C_REG(0x1d50038))
 
- #define TCNTB4		(S3C_REG(0x1d5003c))
 
- #define TCMPB4		(S3C_REG(0x1d50040))
 
- #define TCNTO4		(S3C_REG(0x1d50044))
 
- #define TCNTB5		(S3C_REG(0x1d50048))
 
- #define TCNTO5		(S3C_REG(0x1d5004c))
 
- /* IIC */
 
- #define IICCON		(S3C_REG(0x1d60000))
 
- #define IICSTAT    	(S3C_REG(0x1d60004))
 
- #define IICADD     	(S3C_REG(0x1d60008))
 
- #define IICDS		(S3C_REG(0x1d6000c))
 
- /* RTC */
 
- #define RTCCON		(S3C_REGB(0x1d70040)
 
- #define RTCALM		(S3C_REGB(0x1d70050)
 
- #define ALMSEC		(S3C_REGB(0x1d70054)
 
- #define ALMMIN		(S3C_REGB(0x1d70058)
 
- #define ALMHOUR		(S3C_REGB(0x1d7005c)
 
- #define ALMDAY		(S3C_REGB(0x1d70060)
 
- #define ALMMON		(S3C_REGB(0x1d70064)
 
- #define ALMYEAR		(S3C_REGB(0x1d70068)
 
- #define RTCRST		(S3C_REGB(0x1d7006c)
 
- #define BCDSEC		(S3C_REGB(0x1d70070)
 
- #define BCDMIN		(S3C_REGB(0x1d70074)
 
- #define BCDHOUR		(S3C_REGB(0x1d70078)
 
- #define BCDDAY		(S3C_REGB(0x1d7007c)
 
- #define BCDDATE		(S3C_REGB(0x1d70080)
 
- #define BCDMON		(S3C_REGB(0x1d70084)
 
- #define BCDYEAR		(S3C_REGB(0x1d70088)
 
- #define TICINT		(S3C_REGB(0x1d7008c)
 
- /* Clock & Power management */
 
- #define PLLCON		(S3C_REG(0x1d80000))
 
- #define CLKCON		(S3C_REG(0x1d80004))
 
- #define CLKSLOW		(S3C_REG(0x1d80008))
 
- #define LOCKTIME	(S3C_REG(0x1d8000c))
 
- /* Interrupt */
 
- #define INTCON		(S3C_REG(0x1e00000))
 
- #define INTPND		(S3C_REG(0x1e00004))
 
- #define INTMOD		(S3C_REG(0x1e00008))
 
- #define INTMSK		(S3C_REG(0x1e0000c))
 
- #define I_PSLV		(S3C_REG(0x1e00010))
 
- #define I_PMST		(S3C_REG(0x1e00014))
 
- #define I_CSLV		(S3C_REG(0x1e00018))
 
- #define I_CMST		(S3C_REG(0x1e0001c))
 
- #define I_ISPR		(S3C_REG(0x1e00020))
 
- #define I_ISPC		(S3C_REG(0x1e00024))
 
- #define F_ISPR		(S3C_REG(0x1e00038))
 
- #define F_ISPC		(S3C_REG(0x1e0003c))
 
- /********************************/
 
- /* LCD Controller Registers     */
 
- /********************************/
 
- #define LCDCON1		(S3C_REG(0x300000))
 
- #define LCDCON2		(S3C_REG(0x300004))
 
- #define LCDSADDR1	(S3C_REG(0x300008))
 
- #define LCDSADDR2	(S3C_REG(0x30000c))
 
- #define LCDSADDR3	(S3C_REG(0x300010))
 
- #define REDLUT		(S3C_REG(0x300014))
 
- #define GREENLUT	(S3C_REG(0x300018))
 
- #define BLUELUT		(S3C_REG(0x30001c))
 
- #define DP1_2		(S3C_REG(0x300020))
 
- #define DP4_7		(S3C_REG(0x300024))
 
- #define DP3_5		(S3C_REG(0x300028))
 
- #define DP2_3		(S3C_REG(0x30002c))
 
- #define DP5_7		(S3C_REG(0x300030))
 
- #define DP3_4		(S3C_REG(0x300034))
 
- #define DP4_5		(S3C_REG(0x300038))
 
- #define DP6_7		(S3C_REG(0x30003c))
 
- #define LCDCON3		(S3C_REG(0x300040))
 
- #define DITHMODE	(S3C_REG(0x300044))
 
- /* ZDMA0 */
 
- #define ZDCON0		(S3C_REG(0x1e80000))
 
- #define ZDISRC0		(S3C_REG(0x1e80004))
 
- #define ZDIDES0		(S3C_REG(0x1e80008))
 
- #define ZDICNT0		(S3C_REG(0x1e8000c))
 
- #define ZDCSRC0		(S3C_REG(0x1e80010))
 
- #define ZDCDES0		(S3C_REG(0x1e80014))
 
- #define ZDCCNT0		(S3C_REG(0x1e80018))
 
- /* ZDMA1 */
 
- #define ZDCON1		(S3C_REG(0x1e80020))
 
- #define ZDISRC1		(S3C_REG(0x1e80024))
 
- #define ZDIDES1		(S3C_REG(0x1e80028))
 
- #define ZDICNT1		(S3C_REG(0x1e8002c))
 
- #define ZDCSRC1		(S3C_REG(0x1e80030))
 
- #define ZDCDES1		(S3C_REG(0x1e80034))
 
- #define ZDCCNT1		(S3C_REG(0x1e80038))
 
- /* BDMA0 */
 
- #define BDCON0		(S3C_REG(0x1f80000))
 
- #define BDISRC0		(S3C_REG(0x1f80004))
 
- #define BDIDES0		(S3C_REG(0x1f80008))
 
- #define BDICNT0		(S3C_REG(0x1f8000c))
 
- #define BDCSRC0		(S3C_REG(0x1f80010))
 
- #define BDCDES0		(S3C_REG(0x1f80014))
 
- #define BDCCNT0		(S3C_REG(0x1f80018))
 
- /* BDMA1 */
 
- #define BDCON1		(S3C_REG(0x1f80020))
 
- #define BDISRC1		(S3C_REG(0x1f80024))
 
- #define BDIDES1		(S3C_REG(0x1f80028))
 
- #define BDICNT1		(S3C_REG(0x1f8002c))
 
- #define BDCSRC1		(S3C_REG(0x1f80030))
 
- #define BDCDES1		(S3C_REG(0x1f80034))
 
- #define BDCCNT1		(S3C_REG(0x1f80038))
 
- /*****************************/
 
- /* CPU Mode                  */
 
- /*****************************/
 
- #define USERMODE	0x10		/* User Mode(USR) */
 
- #define FIQMODE		0x11		/* Fast Interrupt Mode (FIQ) */
 
- #define IRQMODE		0x12		/* Interrupt Mode (IRQ) */
 
- #define SVCMODE		0x13		/* Supervisor Mode (SVC) */
 
- #define ABORTMODE	0x17		/* Abort Mode(ABT) */
 
- #define UNDEFMODE	0x1b		/* Undefine Mode(UDF) */
 
- #define MODEMASK	0x1f		/* Processor Mode Mask */
 
- #define NOINT		0xc0
 
- /*****************************/
 
- /* INT Define                */
 
- /*****************************/
 
- #define INT_ADC		0x00
 
- #define INT_RTC		0x01
 
- #define INT_UTXD1	0x02
 
- #define INT_UTXD0	0x03
 
- #define INT_SIO		0x04
 
- #define INT_IIC		0x05
 
- #define INT_URXD1	0x06
 
- #define INT_URXD0	0x07
 
- #define INT_TIMER5	0x08
 
- #define INT_TIMER4	0x09
 
- #define INT_TIMER3	0x0A
 
- #define INT_TIMER2	0x0B
 
- #define INT_TIMER1	0x0C
 
- #define INT_TIMER0	0x0D
 
- #define INT_UERR01	0x0E
 
- #define INT_WDT		0x1F
 
- #define INT_BDMA1	0x10
 
- #define INT_BDMA0	0x11
 
- #define INT_ZDMA1	0x12
 
- #define INT_ZDMA0	0x13
 
- #define INT_TICK	0x14
 
- #define INT_EINT4567	0x15
 
- #define INT_EINT3	0x16
 
- #define INT_EINT2	0x17
 
- #define INT_EINT1	0x18
 
- #define INT_EINT0	0x19
 
- #define INT_GLOBAL	26
 
- struct rt_hw_register
 
- {
 
- 	unsigned long r0;
 
- 	unsigned long r1;
 
- 	unsigned long r2;
 
- 	unsigned long r3;
 
- 	unsigned long r4;
 
- 	unsigned long r5;
 
- 	unsigned long r6;
 
- 	unsigned long r7;
 
- 	unsigned long r8;
 
- 	unsigned long r9;
 
- 	unsigned long r10;
 
- 	unsigned long fp;
 
- 	unsigned long ip;
 
- 	unsigned long sp;
 
- 	unsigned long lr;
 
- 	unsigned long pc;
 
- 	unsigned long cpsr;
 
- 	unsigned long ORIG_r0;
 
- };
 
- /*@}*/
 
- #ifdef __cplusplus
 
- }
 
- #endif
 
- #endif
 
 
  |