blob: 146e265d9a60655cd17e3f09b32041d68c3a2de4 [file] [log] [blame]
wdenk074cff02004-02-24 00:16:43 +00001/********************************************************/
2/* */
3/* Samsung S3C44B0 */
4/* tpu <tapu@371.net> */
5/* */
6/********************************************************/
7#ifndef __ASM_ARCH_HARDWARE_H
8#define __ASM_ARCH_HARDWARE_H
9
10#define REGBASE 0x01c00000
11#define REGL(addr) (*(volatile unsigned int *)(REGBASE+addr))
12#define REGW(addr) (*(volatile unsigned short *)(REGBASE+addr))
13#define REGB(addr) (*(volatile unsigned char *)(REGBASE+addr))
14
15
16/*****************************/
17/* CPU Wrapper Registers */
18/*****************************/
19
20#define SYSCFG REGL(0x000000)
21#define NCACHBE0 REGL(0x000004)
22#define NCACHBE1 REGL(0x000008)
23#define SBUSCON REGL(0x040000)
24
25/************************************/
26/* Memory Controller Registers */
27/************************************/
28
29#define BWSCON REGL(0x080000)
30#define BANKCON0 REGL(0x080004)
31#define BANKCON1 REGL(0x080008)
32#define BANKCON2 REGL(0x08000c)
33#define BANKCON3 REGL(0x080010)
34#define BANKCON4 REGL(0x080014)
35#define BANKCON5 REGL(0x080018)
36#define BANKCON6 REGL(0x08001c)
37#define BANKCON7 REGL(0x080020)
38#define REFRESH REGL(0x080024)
39#define BANKSIZE REGL(0x080028)
40#define MRSRB6 REGL(0x08002c)
41#define MRSRB7 REGL(0x080030)
42
43/*********************/
44/* UART Registers */
45/*********************/
46
47#define ULCON0 REGL(0x100000)
48#define ULCON1 REGL(0x104000)
49#define UCON0 REGL(0x100004)
50#define UCON1 REGL(0x104004)
51#define UFCON0 REGL(0x100008)
52#define UFCON1 REGL(0x104008)
53#define UMCON0 REGL(0x10000c)
54#define UMCON1 REGL(0x10400c)
55#define UTRSTAT0 REGL(0x100010)
56#define UTRSTAT1 REGL(0x104010)
57#define UERSTAT0 REGL(0x100014)
58#define UERSTAT1 REGL(0x104014)
59#define UFSTAT0 REGL(0x100018)
60#define UFSTAT1 REGL(0x104018)
61#define UMSTAT0 REGL(0x10001c)
62#define UMSTAT1 REGL(0x10401c)
63#define UTXH0 REGB(0x100020)
64#define UTXH1 REGB(0x104020)
65#define URXH0 REGB(0x100024)
66#define URXH1 REGB(0x104024)
67#define UBRDIV0 REGL(0x100028)
68#define UBRDIV1 REGL(0x104028)
69
70/*******************/
71/* SIO Registers */
72/*******************/
73
74#define SIOCON REGL(0x114000)
75#define SIODAT REGL(0x114004)
76#define SBRDR REGL(0x114008)
77#define ITVCNT REGL(0x11400c)
78#define DCNTZ REGL(0x114010)
79
80/********************/
81/* IIS Registers */
82/********************/
83
84#define IISCON REGL(0x118000)
85#define IISMOD REGL(0x118004)
86#define IISPSR REGL(0x118008)
87#define IISFIFCON REGL(0x11800c)
88#define IISFIF REGW(0x118010)
89
90/**************************/
91/* I/O Ports Registers */
92/**************************/
93
94#define PCONA REGL(0x120000)
95#define PDATA REGL(0x120004)
96#define PCONB REGL(0x120008)
97#define PDATB REGL(0x12000c)
98#define PCONC REGL(0x120010)
99#define PDATC REGL(0x120014)
100#define PUPC REGL(0x120018)
101#define PCOND REGL(0x12001c)
102#define PDATD REGL(0x120020)
103#define PUPD REGL(0x120024)
104#define PCONE REGL(0x120028)
105#define PDATE REGL(0x12002c)
106#define PUPE REGL(0x120030)
107#define PCONF REGL(0x120034)
108#define PDATF REGL(0x120038)
109#define PUPF REGL(0x12003c)
110#define PCONG REGL(0x120040)
111#define PDATG REGL(0x120044)
112#define PUPG REGL(0x120048)
113#define SPUCR REGL(0x12004c)
114#define EXTINT REGL(0x120050)
115#define EXTINTPND REGL(0x120054)
116
117/*********************************/
118/* WatchDog Timers Registers */
119/*********************************/
120
121#define WTCON REGL(0x130000)
122#define WTDAT REGL(0x130004)
123#define WTCNT REGL(0x130008)
124
125/*********************************/
126/* A/D Converter Registers */
127/*********************************/
128
129#define ADCCON REGL(0x140000)
130#define ADCPSR REGL(0x140004)
131#define ADCDAT REGL(0x140008)
132
133/***************************/
134/* PWM Timer Registers */
135/***************************/
136
137#define TCFG0 REGL(0x150000)
138#define TCFG1 REGL(0x150004)
139#define TCON REGL(0x150008)
140#define TCNTB0 REGL(0x15000c)
141#define TCMPB0 REGL(0x150010)
142#define TCNTO0 REGL(0x150014)
143#define TCNTB1 REGL(0x150018)
144#define TCMPB1 REGL(0x15001c)
145#define TCNTO1 REGL(0x150020)
146#define TCNTB2 REGL(0x150024)
147#define TCMPB2 REGL(0x150028)
148#define TCNTO2 REGL(0x15002c)
149#define TCNTB3 REGL(0x150030)
150#define TCMPB3 REGL(0x150034)
151#define TCNTO3 REGL(0x150038)
152#define TCNTB4 REGL(0x15003c)
153#define TCMPB4 REGL(0x150040)
154#define TCNTO4 REGL(0x150044)
155#define TCNTB5 REGL(0x150048)
156#define TCNTO5 REGL(0x15004c)
157
158/*********************/
159/* IIC Registers */
160/*********************/
161
162#define IICCON REGL(0x160000)
163#define IICSTAT REGL(0x160004)
164#define IICADD REGL(0x160008)
165#define IICDS REGL(0x16000c)
166
167/*********************/
168/* RTC Registers */
169/*********************/
170
171#define RTCCON REGB(0x170040)
172#define RTCALM REGB(0x170050)
173#define ALMSEC REGB(0x170054)
174#define ALMMIN REGB(0x170058)
175#define ALMHOUR REGB(0x17005c)
176#define ALMDAY REGB(0x170060)
177#define ALMMON REGB(0x170064)
178#define ALMYEAR REGB(0x170068)
179#define RTCRST REGB(0x17006c)
180#define BCDSEC REGB(0x170070)
181#define BCDMIN REGB(0x170074)
182#define BCDHOUR REGB(0x170078)
183#define BCDDAY REGB(0x17007c)
184#define BCDDATE REGB(0x170080)
185#define BCDMON REGB(0x170084)
186#define BCDYEAR REGB(0x170088)
187#define TICINT REGB(0x17008c)
188
189/*********************************/
190/* Clock & Power Registers */
191/*********************************/
192
193#define PLLCON REGL(0x180000)
194#define CLKCON REGL(0x180004)
195#define CLKSLOW REGL(0x180008)
196#define LOCKTIME REGL(0x18000c)
197
198/**************************************/
199/* Interrupt Controller Registers */
200/**************************************/
201
202#define INTCON REGL(0x200000)
203#define INTPND REGL(0x200004)
204#define INTMOD REGL(0x200008)
205#define INTMSK REGL(0x20000c)
206#define I_PSLV REGL(0x200010)
207#define I_PMST REGL(0x200014)
208#define I_CSLV REGL(0x200018)
209#define I_CMST REGL(0x20001c)
210#define I_ISPR REGL(0x200020)
211#define I_ISPC REGL(0x200024)
212#define F_ISPR REGL(0x200038)
213#define F_ISPC REGL(0x20003c)
214
215/********************************/
216/* LCD Controller Registers */
217/********************************/
218
219#define LCDCON1 REGL(0x300000)
220#define LCDCON2 REGL(0x300004)
221#define LCDSADDR1 REGL(0x300008)
222#define LCDSADDR2 REGL(0x30000c)
223#define LCDSADDR3 REGL(0x300010)
224#define REDLUT REGL(0x300014)
225#define GREENLUT REGL(0x300018)
226#define BLUELUT REGL(0x30001c)
227#define DP1_2 REGL(0x300020)
228#define DP4_7 REGL(0x300024)
229#define DP3_5 REGL(0x300028)
230#define DP2_3 REGL(0x30002c)
231#define DP5_7 REGL(0x300030)
232#define DP3_4 REGL(0x300034)
233#define DP4_5 REGL(0x300038)
234#define DP6_7 REGL(0x30003c)
235#define LCDCON3 REGL(0x300040)
236#define DITHMODE REGL(0x300044)
237
238/*********************/
239/* DMA Registers */
240/*********************/
241
242#define ZDCON0 REGL(0x280000)
243#define ZDISRC0 REGL(0x280004)
244#define ZDIDES0 REGL(0x280008)
245#define ZDICNT0 REGL(0x28000c)
246#define ZDCSRC0 REGL(0x280010)
247#define ZDCDES0 REGL(0x280014)
248#define ZDCCNT0 REGL(0x280018)
249
250#define ZDCON1 REGL(0x280020)
251#define ZDISRC1 REGL(0x280024)
252#define ZDIDES1 REGL(0x280028)
253#define ZDICNT1 REGL(0x28002c)
254#define ZDCSRC1 REGL(0x280030)
255#define ZDCDES1 REGL(0x280034)
256#define ZDCCNT1 REGL(0x280038)
257
258#define BDCON0 REGL(0x380000)
259#define BDISRC0 REGL(0x380004)
260#define BDIDES0 REGL(0x380008)
261#define BDICNT0 REGL(0x38000c)
262#define BDCSRC0 REGL(0x380010)
263#define BDCDES0 REGL(0x380014)
264#define BDCCNT0 REGL(0x380018)
265
266#define BDCON1 REGL(0x380020)
267#define BDISRC1 REGL(0x380024)
268#define BDIDES1 REGL(0x380028)
269#define BDICNT1 REGL(0x38002c)
270#define BDCSRC1 REGL(0x380030)
271#define BDCDES1 REGL(0x380034)
272#define BDCCNT1 REGL(0x380038)
273
274
275#define CLEAR_PEND_INT(n) I_ISPC = (1<<(n))
276#define INT_ENABLE(n) INTMSK &= ~(1<<(n))
277#define INT_DISABLE(n) INTMSK |= (1<<(n))
278
279#define HARD_RESET_NOW()
280
281#endif /* __ASM_ARCH_HARDWARE_H */