Remove last few inw/outw uses in the M:Robe port
[kugel-rb.git] / firmware / export / dm320.h
blob57561dc7d316e2a8956e04c0afb3e076931dd2d6
1 /***************************************************************************
2 * __________ __ ___.
3 * Open \______ \ ____ ____ | | _\_ |__ _______ ___
4 * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ /
5 * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < <
6 * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \
7 * \/ \/ \/ \/ \/
8 * $Id$
10 * Copyright (C) 2007 by Karl Kurbjun
12 * All files in this archive are subject to the GNU General Public License.
13 * See the file COPYING in the source tree root for full license agreement.
15 * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
16 * KIND, either express or implied.
18 ****************************************************************************/
20 /** All register offset definitions for the TI DM320
21 * Taken from: http://svn.neurostechnology.com/filedetails.php?repname=neuros-bsp&path=%2Ftrunk%2Fkernels%2Flinux-2.6.15%2Finclude%2Fasm-arm%2Farch-ntosd-dm320%2Fio_registers.h&rev=0&sc=0
24 #ifndef __DM320_H__
25 #define __DM320_H__
27 #define LCD_BUFFER_SIZE (640*480*2)
28 #define TTB_SIZE (0x4000)
29 /* must be 16Kb (0x4000) aligned */
30 #define TTB_BASE ((unsigned int *)(0x04900000 - TTB_SIZE)) /* End of memory */
31 #define FRAME ((short *) ((char*)TTB_BASE - LCD_BUFFER_SIZE)) /* Right before TTB */
33 #define PHY_IO_BASE 0x00030000
34 #define DM320_REG(addr) (*(volatile unsigned short *)(PHY_IO_BASE + (addr)))
36 /* Timer 0-3 */
37 #define IO_TIMER0_TMMD DM320_REG(0x0000)
38 #define IO_TIMER0_TMRSV0 DM320_REG(0x0002)
39 #define IO_TIMER0_TMPRSCL DM320_REG(0x0004)
40 #define IO_TIMER0_TMDIV DM320_REG(0x0006)
41 #define IO_TIMER0_TMTRG DM320_REG(0x0008)
42 #define IO_TIMER0_TMCNT DM320_REG(0x000A)
44 #define IO_TIMER1_TMMD DM320_REG(0x0080)
45 #define IO_TIMER1_TMRSV0 DM320_REG(0x0082)
46 #define IO_TIMER1_TMPRSCL DM320_REG(0x0084)
47 #define IO_TIMER1_TMDIV DM320_REG(0x0086)
48 #define IO_TIMER1_TMTRG DM320_REG(0x0088)
49 #define IO_TIMER1_TMCNT DM320_REG(0x008A)
51 #define IO_TIMER2_TMMD DM320_REG(0x0100)
52 #define IO_TIMER2_TMVDCLR DM320_REG(0x0102)
53 #define IO_TIMER2_TMPRSCL DM320_REG(0x0104)
54 #define IO_TIMER2_TMDIV DM320_REG(0x0106)
55 #define IO_TIMER2_TMTRG DM320_REG(0x0108)
56 #define IO_TIMER2_TMCNT DM320_REG(0x010A)
58 #define IO_TIMER3_TMMD DM320_REG(0x0180)
59 #define IO_TIMER3_TMVDCLR DM320_REG(0x0182)
60 #define IO_TIMER3_TMPRSCL DM320_REG(0x0184)
61 #define IO_TIMER3_TMDIV DM320_REG(0x0186)
62 #define IO_TIMER3_TMTRG DM320_REG(0x0188)
63 #define IO_TIMER3_TMCNT DM320_REG(0x018A)
65 /* Serial 0/1 */
66 #define IO_SERIAL0_TX_DATA DM320_REG(0x0200)
67 #define IO_SERIAL0_RX_DATA DM320_REG(0x0202)
68 #define IO_SERIAL0_TX_ENABLE DM320_REG(0x0204)
69 #define IO_SERIAL0_MODE DM320_REG(0x0206)
70 #define IO_SERIAL0_DMA_TRIGGER DM320_REG(0x0208)
71 #define IO_SERIAL0_DMA_MODE DM320_REG(0x020A)
72 #define IO_SERIAL0_DMA_SDRAM_LOW DM320_REG(0x020C)
73 #define IO_SERIAL0_DMA_SDRAM_HI DM320_REG(0x020E)
74 #define IO_SERIAL0_DMA_STATUS DM320_REG(0x0210)
76 #define IO_SERIAL1_TX_DATA DM320_REG(0x0280)
77 #define IO_SERIAL1_RX_DATA DM320_REG(0x0282)
78 #define IO_SERIAL1_TX_ENABLE DM320_REG(0x0284)
79 #define IO_SERIAL1_MODE DM320_REG(0x0286)
81 /* UART 0/1 */
82 #define IO_UART0_DTRR DM320_REG(0x0300)
83 #define IO_UART0_BRSR DM320_REG(0x0302)
84 #define IO_UART0_MSR DM320_REG(0x0304)
85 #define IO_UART0_RFCR DM320_REG(0x0306)
86 #define IO_UART0_TFCR DM320_REG(0x0308)
87 #define IO_UART0_LCR DM320_REG(0x030A)
88 #define IO_UART0_SR DM320_REG(0x030C)
90 #define IO_UART1_DTRR DM320_REG(0x0380)
91 #define IO_UART1_BRSR DM320_REG(0x0382)
92 #define IO_UART1_MSR DM320_REG(0x0384)
93 #define IO_UART1_RFCR DM320_REG(0x0386)
94 #define IO_UART1_TFCR DM320_REG(0x0388)
95 #define IO_UART1_LCR DM320_REG(0x038A)
96 #define IO_UART1_SR DM320_REG(0x038C)
98 /* Watchdog Timer */
99 #define IO_WATCHDOG_MODE 0x0400
100 #define IO_WATCHDOG_RESET 0x0402
101 #define IO_WATCHDOG_PRESCALAR 0x0404
102 #define IO_WATCHDOG_DIVISOR 0x0406
103 #define IO_WATCHDOG_EXT_RESET 0x0408
105 /* MMC/SD Controller */
106 #define IO_MMC_CONTROL 0x0480
107 #define IO_MMC_MEM_CLK_CONTROL 0x0482
108 #define IO_MMC_STATUS0 0x0484
109 #define IO_MMC_STATUS1 0x0486
110 #define IO_MMC_INT_ENABLE 0x0488
111 #define IO_MMC_RESPONSE_TIMEOUT 0x048A
112 #define IO_MMC_READ_TIMEOUT 0x048C
113 #define IO_MMC_BLOCK_LENGTH 0x048E
114 #define IO_MMC_NR_BLOCKS 0x0490
115 #define IO_MMC_NR_BLOCKS_COUNT 0x0492
116 #define IO_MMC_RX_DATA 0x0494
117 #define IO_MMC_TX_DATA 0x0496
118 #define IO_MMC_COMMAND 0x0498
119 #define IO_MMC_ARG_LOW 0x049A
120 #define IO_MMC_ARG_HI 0x049C
121 #define IO_MMC_RESPONSE0 0x049E
122 #define IO_MMC_RESPONSE1 0x04A0
123 #define IO_MMC_RESPONSE2 0x04A2
124 #define IO_MMC_RESPONSE3 0x04A4
125 #define IO_MMC_RESPONSE4 0x04A6
126 #define IO_MMC_RESPONSE5 0x04A8
127 #define IO_MMC_RESPONSE6 0x04AA
128 #define IO_MMC_RESPONSE7 0x04AC
129 #define IO_MMC_SPI_DATA 0x04AE
130 #define IO_MMC_SPI_ERR 0x04B0
131 #define IO_MMC_COMMAND_INDEX 0x04B2
132 #define IO_MMC_CLK_START_PHASE 0x04B4
133 #define IO_MMC_RESPONSE_TOUT_CNT 0x04B6
134 #define IO_MMC_READ_TOUT_CNT 0x04B8
135 #define IO_MMC_BLOCK_LENGTH_CNT 0x04BA
137 #define IO_MMC_SD_DMA_TRIGGER 0x04BC
138 #define IO_MMC_SD_DMA_MODE 0x04BE
139 #define IO_MMC_SD_DMA_ADDR_LOW 0x04C0
140 #define IO_MMC_SD_DMA_ADDR_HI 0x04C2
141 #define IO_MMC_SD_DMA_STATUS0 0x04C4
142 #define IO_MMC_SD_DMA_STATUS1 0x04C6
143 #define IO_MMC_SD_DMA_TIMEOUT 0x04C8
145 #define IO_SDIO_CONTROL 0x04CA
146 #define IO_SDIO_STATUS0 0x04CC
147 #define IO_SDIO_INT_ENABLE 0x04CE
148 #define IO_SDIO_INT_STATUS 0x04D0
150 /* Interrupt Controller */
151 #define IO_INTC_FIQ0 DM320_REG(0x0500)
152 #define IO_INTC_FIQ1 DM320_REG(0x0502)
153 #define IO_INTC_FIQ2 DM320_REG(0x0504)
154 #define IO_INTC_IRQ0 DM320_REG(0x0508)
155 #define IO_INTC_IRQ1 DM320_REG(0x050A)
156 #define IO_INTC_IRQ2 DM320_REG(0x050C)
157 #define IO_INTC_FIQENTRY0 DM320_REG(0x0510)
158 #define IO_INTC_FIQENTRY1 DM320_REG(0x0512)
159 #define IO_INTC_FIQ_LOCK_ADDR0 DM320_REG(0x0514)
160 #define IO_INTC_FIQ_LOCK_ADDR1 DM320_REG(0x0516)
161 #define IO_INTC_IRQENTRY0 DM320_REG(0x0518)
162 #define IO_INTC_IRQENTRY1 DM320_REG(0x051A)
163 #define IO_INTC_IRQ_LOCK_ADDR0 DM320_REG(0x051C)
164 #define IO_INTC_IRQ_LOCK_ADDR1 DM320_REG(0x051E)
165 #define IO_INTC_FISEL0 DM320_REG(0x0520)
166 #define IO_INTC_FISEL1 DM320_REG(0x0522)
167 #define IO_INTC_FISEL2 DM320_REG(0x0524)
168 #define IO_INTC_EINT0 DM320_REG(0x0528)
169 #define IO_INTC_EINT1 DM320_REG(0x052A)
170 #define IO_INTC_EINT2 DM320_REG(0x052C)
171 #define IO_INTC_RAW DM320_REG(0x0530)
172 #define IO_INTC_ENTRY_TBA0 DM320_REG(0x0538)
173 #define IO_INTC_ENTRY_TBA1 DM320_REG(0x053A)
174 #define IO_INTC_PRIORITY0 DM320_REG(0x0540)
175 #define IO_INTC_PRIORITY1 DM320_REG(0x0542)
176 #define IO_INTC_PRIORITY2 DM320_REG(0x0544)
177 #define IO_INTC_PRIORITY3 DM320_REG(0x0546)
178 #define IO_INTC_PRIORITY4 DM320_REG(0x0548)
179 #define IO_INTC_PRIORITY5 DM320_REG(0x054A)
180 #define IO_INTC_PRIORITY6 DM320_REG(0x054C)
181 #define IO_INTC_PRIORITY7 DM320_REG(0x054E)
182 #define IO_INTC_PRIORITY8 DM320_REG(0x0550)
183 #define IO_INTC_PRIORITY9 DM320_REG(0x0552)
184 #define IO_INTC_PRIORITY10 DM320_REG(0x0554)
185 #define IO_INTC_PRIORITY11 DM320_REG(0x0556)
186 #define IO_INTC_PRIORITY12 DM320_REG(0x0558)
187 #define IO_INTC_PRIORITY13 DM320_REG(0x055A)
188 #define IO_INTC_PRIORITY14 DM320_REG(0x055C)
189 #define IO_INTC_PRIORITY15 DM320_REG(0x055E)
190 #define IO_INTC_PRIORITY16 DM320_REG(0x0560)
191 #define IO_INTC_PRIORITY17 DM320_REG(0x0562)
192 #define IO_INTC_PRIORITY18 DM320_REG(0x0564)
193 #define IO_INTC_PRIORITY19 DM320_REG(0x0566)
194 #define IO_INTC_PRIORITY20 DM320_REG(0x0568)
195 #define IO_INTC_PRIORITY21 DM320_REG(0x056A)
196 #define IO_INTC_PRIORITY22 DM320_REG(0x056C)
198 /* GIO Controller */
199 #define IO_GIO_DIR0 DM320_REG(0x0580)
200 #define IO_GIO_DIR1 DM320_REG(0x0582)
201 #define IO_GIO_DIR2 DM320_REG(0x0584)
202 #define IO_GIO_INV0 DM320_REG(0x0586)
203 #define IO_GIO_INV1 DM320_REG(0x0588)
204 #define IO_GIO_INV2 DM320_REG(0x058A)
205 #define IO_GIO_BITSET0 DM320_REG(0x058C)
206 #define IO_GIO_BITSET1 DM320_REG(0x058E)
207 #define IO_GIO_BITSET2 DM320_REG(0x0590)
208 #define IO_GIO_BITCLR0 DM320_REG(0x0592)
209 #define IO_GIO_BITCLR1 DM320_REG(0x0594)
210 #define IO_GIO_BITCLR2 DM320_REG(0x0596)
211 #define IO_GIO_IRQPORT DM320_REG(0x0598)
212 #define IO_GIO_IRQEDGE DM320_REG(0x059A)
213 #define IO_GIO_CHAT0 DM320_REG(0x059C)
214 #define IO_GIO_CHAT1 DM320_REG(0x059E)
215 #define IO_GIO_CHAT2 DM320_REG(0x05A0)
216 #define IO_GIO_NCHAT DM320_REG(0x05A2)
217 #define IO_GIO_FSEL0 DM320_REG(0x05A4)
218 #define IO_GIO_FSEL1 DM320_REG(0x05A6)
219 #define IO_GIO_FSEL2 DM320_REG(0x05A8)
220 #define IO_GIO_FSEL3 DM320_REG(0x05AA)
221 #define IO_GIO_FSEL4 DM320_REG(0x05AC)
222 #define IO_GIO_CARD_SET DM320_REG(0x05AE)
223 #define IO_GIO_CARD_ST DM320_REG(0x05B0)
225 /* DSP Controller */
226 #define IO_DSPC_HPIB_CONTROL 0x0600
227 #define IO_DSPC_HPIB_STATUS 0x0602
229 /* OSD Controller */
230 #define IO_OSD_MODE DM320_REG(0x0680)
231 #define IO_OSD_VIDWINMD DM320_REG(0x0682)
232 #define IO_OSD_OSDWINMD0 DM320_REG(0x0684)
233 #define IO_OSD_OSDWINMD1 DM320_REG(0x0686)
234 #define IO_OSD_ATRMD DM320_REG(0x0688)
235 #define IO_OSD_RECTCUR DM320_REG(0x0688)
236 #define IO_OSD_RESERVED DM320_REG(0x068A)
237 #define IO_OSD_VIDWIN0OFST DM320_REG(0x068C)
238 #define IO_OSD_VIDWIN1OFST DM320_REG(0x068E)
239 #define IO_OSD_OSDWIN0OFST DM320_REG(0x0690)
240 #define IO_OSD_OSDWIN1OFST DM320_REG(0x0692)
241 #define IO_OSD_VIDWINADH DM320_REG(0x0694)
242 #define IO_OSD_VIDWIN0ADL DM320_REG(0x0696)
243 #define IO_OSD_VIDWIN1ADL DM320_REG(0x0698)
244 #define IO_OSD_OSDWINADH DM320_REG(0x069A)
245 #define IO_OSD_OSDWIN0ADL DM320_REG(0x069C)
246 #define IO_OSD_OSDWIN1ADL DM320_REG(0x069E)
247 #define IO_OSD_BASEPX DM320_REG(0x06A0)
248 #define IO_OSD_BASEPY DM320_REG(0x06A2)
249 #define IO_OSD_VIDWIN0XP DM320_REG(0x06A4)
250 #define IO_OSD_VIDWIN0YP DM320_REG(0x06A6)
251 #define IO_OSD_VIDWIN0XL DM320_REG(0x06A8)
252 #define IO_OSD_VIDWIN0YL DM320_REG(0x06AA)
253 #define IO_OSD_VIDWIN1XP DM320_REG(0x06AC)
254 #define IO_OSD_VIDWIN1YP DM320_REG(0x06AE)
255 #define IO_OSD_VIDWIN1XL DM320_REG(0x06B0)
256 #define IO_OSD_VIDWIN1YL DM320_REG(0x06B2)
258 #define IO_OSD_OSDWIN0XP DM320_REG(0x06B4)
259 #define IO_OSD_OSDWIN0YP DM320_REG(0x06B6)
260 #define IO_OSD_OSDWIN0XL DM320_REG(0x06B8)
261 #define IO_OSD_OSDWIN0YL DM320_REG(0x06BA)
262 #define IO_OSD_OSDWIN1XP DM320_REG(0x06BC)
263 #define IO_OSD_OSDWIN1YP DM320_REG(0x06BE)
264 #define IO_OSD_OSDWIN1XL DM320_REG(0x06C0)
265 #define IO_OSD_OSDWIN1YL DM320_REG(0x06C2)
266 #define IO_OSD_CURXP DM320_REG(0x06C4)
267 #define IO_OSD_CURYP DM320_REG(0x06C6)
268 #define IO_OSD_CURXL DM320_REG(0x06C8)
269 #define IO_OSD_CURYL DM320_REG(0x06CA)
271 #define IO_OSD_W0BMP01 DM320_REG(0x06D0)
272 #define IO_OSD_W0BMP23 DM320_REG(0x06D2)
273 #define IO_OSD_W0BMP45 DM320_REG(0x06D4)
274 #define IO_OSD_W0BMP67 DM320_REG(0x06D6)
275 #define IO_OSD_W0BMP89 DM320_REG(0x06D8)
276 #define IO_OSD_W0BMPAB DM320_REG(0x06DA)
277 #define IO_OSD_W0BMPCD DM320_REG(0x06DC)
278 #define IO_OSD_W0BMPEF DM320_REG(0x06DE)
280 #define IO_OSD_W1BMP01 DM320_REG(0x06E0)
281 #define IO_OSD_W1BMP23 DM320_REG(0x06E2)
282 #define IO_OSD_W1BMP45 DM320_REG(0x06E4)
283 #define IO_OSD_W1BMP67 DM320_REG(0x06E6)
284 #define IO_OSD_W1BMP89 DM320_REG(0x06E8)
285 #define IO_OSD_W1BMPAB DM320_REG(0x06EA)
286 #define IO_OSD_W1BMPCD DM320_REG(0x06EC)
287 #define IO_OSD_W1BMPEF DM320_REG(0x06EE)
289 #define IO_OSD_MISCCTL DM320_REG(0x06F4)
290 #define IO_OSD_CLUTRAMYCB DM320_REG(0x06F6)
291 #define IO_OSD_CLUTRAMCR DM320_REG(0x06F8)
293 #define IO_OSD_PPWIN0ADH DM320_REG(0x06FC)
294 #define IO_OSD_PPWIN0ADL DM320_REG(0x06FE)
297 /* CCD Controller */
298 #define IO_CCD_SYNCEN 0x0700
299 #define IO_CCD_MODESET 0x0702
300 #define IO_CCD_HDWIDTH 0x0704
301 #define IO_CCD_VDWIDTH 0x0706
302 #define IO_CCD_PPLN 0x0708
303 #define IO_CCD_LPFR 0x070A
304 #define IO_CCD_SPH 0x070C
305 #define IO_CCD_NPH 0x070E
306 #define IO_CCD_SLV0 0x0710
307 #define IO_CCD_SLV1 0x0712
308 #define IO_CCD_NLV 0x0714
309 #define IO_CCD_CULH 0x0716
310 #define IO_CCD_CULV 0x0718
311 #define IO_CCD_HSIZE 0x071A
312 #define IO_CCD_SDOFST 0x071C
313 #define IO_CCD_STADRH 0x071E
314 #define IO_CCD_STADRL 0x0720
315 #define IO_CCD_CLAMP 0x0722
316 #define IO_CCD_DCSUB 0x0724
317 #define IO_CCD_COLPTN 0x0726
318 #define IO_CCD_BLKCMP0 0x0728
319 #define IO_CCD_BLKCMP1 0x072A
320 #define IO_CCD_MEDFILT 0x072C
321 #define IO_CCD_RYEGAIN 0x072E
322 #define IO_CCD_GRCYGAIN 0x0730
323 #define IO_CCD_GBGGAIN 0x0732
324 #define IO_CCD_BMGGAIN 0x0734
325 #define IO_CCD_OFFSET 0x0736
326 #define IO_CCD_OUTCLP 0x0738
327 #define IO_CCD_VDINT0 0x073A
328 #define IO_CCD_VDINT1 0x073C
329 #define IO_CCD_RSV0 0x073E
330 #define IO_CCD_GAMMAWD 0x0740
331 #define IO_CCD_REC656IF 0x0742
332 #define IO_CCD_CCDFG 0x0744
333 #define IO_CCD_FMTCFG 0x0746
334 #define IO_CCD_FMTSPH 0x0748
335 #define IO_CCD_FMTLNH 0x074A
336 #define IO_CCD_FMTSLV 0x074C
337 #define IO_CCD_FMTSNV 0x074E
338 #define IO_CCD_FMTOFST 0x0750
339 #define IO_CCD_FMTRLEN 0x0752
340 #define IO_CCD_FMTHCNT 0x0754
341 #define IO_CCD_FMTPTNA 0x0756
342 #define IO_CCD_FMTPTNB 0x0758
344 /* NTSC/PAL Encoder */
345 #define IO_VID_ENC_VMOD 0x0800
346 #define IO_VID_ENC_VDCTL 0x0802
347 #define IO_VID_ENC_VDPRO 0x0804
348 #define IO_VID_ENC_SYNCCTL 0x0806
349 #define IO_VID_ENC_HSPLS 0x0808
350 #define IO_VID_ENC_VSPLS 0x080A
351 #define IO_VID_ENC_HINT 0x080C
352 #define IO_VID_ENC_HSTART 0x080E
353 #define IO_VID_ENC_HVALID 0x0810
354 #define IO_VID_ENC_VINT 0x0812
355 #define IO_VID_ENC_VSTART 0x0814
356 #define IO_VID_ENC_VVALID 0x0816
357 #define IO_VID_ENC_HSDLY 0x0818
358 #define IO_VID_ENC_VSDLY 0x081A
359 #define IO_VID_ENC_YCCTL 0x081C
360 #define IO_VID_ENC_RGBCTL 0x081E
361 #define IO_VID_ENC_RGBCLP 0x0820
362 #define IO_VID_ENC_LNECTL 0x0822
363 #define IO_VID_ENC_CULLLNE 0x0824
364 #define IO_VID_ENC_LCDOUT 0x0826
365 #define IO_VID_ENC_BRTS 0x0828
366 #define IO_VID_ENC_BRTW 0x082A
367 #define IO_VID_ENC_ACCTL 0x082C
368 #define IO_VID_ENC_PWMP 0x082E
369 #define IO_VID_ENC_PWMW 0x0830
370 #define IO_VID_ENC_DCLKCTL 0x0832
371 #define IO_VID_ENC_DCLKPTN0 0x0834
372 #define IO_VID_ENC_DCLKPTN1 0x0836
373 #define IO_VID_ENC_DCLKPTN2 0x0838
374 #define IO_VID_ENC_DCLKPTN3 0x083A
375 #define IO_VID_ENC_DCLKPTN0A 0x083C
376 #define IO_VID_ENC_DCLKPTN1A 0x083E
377 #define IO_VID_ENC_DCLKPTN2A 0x0840
378 #define IO_VID_ENC_DCLKPTN3A 0x0842
379 #define IO_VID_ENC_DCLKHS 0x0844
380 #define IO_VID_ENC_DCLKHSA 0x0846
381 #define IO_VID_ENC_DCLKHR 0x0848
382 #define IO_VID_ENC_DCLKVS 0x084A
383 #define IO_VID_ENC_DCLKVR 0x084C
384 #define IO_VID_ENC_CAPCTL 0x084E
385 #define IO_VID_ENC_CAPDO 0x0850
386 #define IO_VID_ENC_CAPDE 0x0852
387 #define IO_VID_ENC_ATR0 0x0854
389 /* Clock Controller */
390 #define IO_CLK_PLLA DM320_REG(0x0880)
391 #define IO_CLK_PLLB DM320_REG(0x0882)
392 #define IO_CLK_SEL0 DM320_REG(0x0884)
393 #define IO_CLK_SEL1 DM320_REG(0x0886)
394 #define IO_CLK_SEL2 DM320_REG(0x0888)
395 #define IO_CLK_DIV0 DM320_REG(0x088A)
396 #define IO_CLK_DIV1 DM320_REG(0x088C)
397 #define IO_CLK_DIV2 DM320_REG(0x088E)
398 #define IO_CLK_DIV3 DM320_REG(0x0890)
399 #define IO_CLK_DIV4 DM320_REG(0x0892)
400 #define IO_CLK_BYP DM320_REG(0x0894)
401 #define IO_CLK_INV DM320_REG(0x0896)
402 #define IO_CLK_MOD0 DM320_REG(0x0898)
403 #define IO_CLK_MOD1 DM320_REG(0x089A)
404 #define IO_CLK_MOD2 DM320_REG(0x089C)
405 #define IO_CLK_LPCTL0 DM320_REG(0x089E)
406 #define IO_CLK_LPCTL1 DM320_REG(0x08A0)
407 #define IO_CLK_OSEL DM320_REG(0x08A2)
408 #define IO_CLK_00DIV DM320_REG(0x08A4)
409 #define IO_CLK_O1DIV DM320_REG(0x08A6)
410 #define IO_CLK_02DIV DM320_REG(0x08A8)
411 #define IO_CLK_PWM0C DM320_REG(0x08AA)
412 #define IO_CLK_PWM0H DM320_REG(0x08AC)
413 #define IO_CLK_PWM1C DM320_REG(0x08AE)
414 #define IO_CLK_PWM1H DM320_REG(0x08B0)
416 /* Bus Controller */
417 #define IO_BUSC_ECR 0x0900
418 #define IO_BUSC_EBYTER 0x0902
419 #define IO_BUSC_EBITR 0x0904
420 #define IO_BUSC_REVR 0x0906
422 /* SDRAM Controller */
423 #define IO_SDRAM_SDBUFD0L 0x0980
424 #define IO_SDRAM_SDBUFD0H 0x0982
425 #define IO_SDRAM_SDBUFD1L 0x0984
426 #define IO_SDRAM_SDBUFD1H 0x0986
427 #define IO_SDRAM_SDBUFD2L 0x0988
428 #define IO_SDRAM_SDBUFD2H 0x098A
429 #define IO_SDRAM_SDBUFD3L 0x098C
430 #define IO_SDRAM_SDBUFD3H 0x098E
431 #define IO_SDRAM_SDBUFD4L 0x0990
432 #define IO_SDRAM_SDBUFD4H 0x0992
433 #define IO_SDRAM_SDBUFD5L 0x0994
434 #define IO_SDRAM_SDBUFD5H 0x0996
435 #define IO_SDRAM_SDBUFD6L 0x0998
436 #define IO_SDRAM_SDBUFD6H 0x099A
437 #define IO_SDRAM_SDBUFD7L 0x099C
438 #define IO_SDRAM_SDBUFD7H 0x099E
439 #define IO_SDRAM_SDBUFAD1 0x09A0
440 #define IO_SDRAM_SDBUFAD2 0x09A2
441 #define IO_SDRAM_SDBUFCTL 0x09A4
442 #define IO_SDRAM_SDMODE 0x09A6
443 #define IO_SDRAM_REFCTL 0x09A8
444 #define IO_SDRAM_SDPRTY1 0x09AA
445 #define IO_SDRAM_SDPRTY2 0x09AC
446 #define IO_SDRAM_SDPRTY3 0x09AE
447 #define IO_SDRAM_SDPRTY4 0x09B0
448 #define IO_SDRAM_SDPRTY5 0x09B2
449 #define IO_SDRAM_SDPRTY6 0x09B4
450 #define IO_SDRAM_SDPRTY7 0x09B6
451 #define IO_SDRAM_SDPRTY8 0x09B8
452 #define IO_SDRAM_SDPRTY9 0x09BA
453 #define IO_SDRAM_SDPRTY10 0x09BC
454 #define IO_SDRAM_SDPRTY11 0x09BE
455 #define IO_SDRAM_SDPRTY12 0x09C0
456 #define IO_SDRAM_RSV 0x09C2
457 #define IO_SDRAM_SDPRTYON 0x09C4
458 #define IO_SDRAM_SDDMASEL 0x09C6
460 /* EMIF Controller */
461 #define IO_EMIF_CS0CTRL1 0x0A00
462 #define IO_EMIF_CS0CTRL2 0x0A02
463 #define IO_EMIF_CS0CTRL3 0x0A04
464 #define IO_EMIF_CS1CTRL1A 0x0A06
465 #define IO_EMIF_CS1CTRL1B 0x0A08
466 #define IO_EMIF_CS1CTRL2 0x0A0A
467 #define IO_EMIF_CS2CTRL1 0x0A0C
468 #define IO_EMIF_CS2CTRL2 0x0A0E
469 #define IO_EMIF_CS3CTRL1 0x0A10
470 #define IO_EMIF_CS3CTRL2 0x0A12
471 #define IO_EMIF_CS4CTRL1 0x0A14
472 #define IO_EMIF_CS4CTRL2 0x0A16
473 #define IO_EMIF_BUSCTRL 0x0A18
474 #define IO_EMIF_BUSRLS 0x0A1A
475 #define IO_EMIF_CFCTRL1 0x0A1C
476 #define IO_EMIF_CFCTRL2 0x0A1E
477 #define IO_EMIF_SMCTRL 0x0A20
478 #define IO_EMIF_BUSINTEN 0x0A22
479 #define IO_EMIF_BUSSTS 0x0A24
480 #define IO_EMIF_BUSWAITMD 0x0A26
481 #define IO_EMIF_ECC1CP 0x0A28
482 #define IO_EMIF_ECC1LP 0x0A2A
483 #define IO_EMIF_ECC2CP 0x0A2C
484 #define IO_EMIF_ECC2LP 0x0A2E
485 #define IO_EMIF_ECC3CP 0x0A30
486 #define IO_EMIF_ECC3LP 0x0A32
487 #define IO_EMIF_ECC4CP 0x0A34
488 #define IO_EMIF_ECC4LP 0x0A36
489 #define IO_EMIF_ECC5CP 0x0A38
490 #define IO_EMIF_ECC5LP 0x0A3A
491 #define IO_EMIF_ECC6CP 0x0A3C
492 #define IO_EMIF_ECC6LP 0x0A3E
493 #define IO_EMIF_ECC7CP 0x0A40
494 #define IO_EMIF_ECC7LP 0x0A42
495 #define IO_EMIF_ECC8CP 0x0A44
496 #define IO_EMIF_ECC8LP 0x0A46
497 #define IO_EMIF_ECCCLR 0x0A48
498 #define IO_EMIF_PAGESZ 0x0A4A
499 #define IO_EMIF_PRIORCTL 0x0A4C
500 #define IO_EMIF_MGDSPDEST 0x0A4E
501 #define IO_EMIF_MGDSPADDH 0x0A50
502 #define IO_EMIF_MGDSPADDL 0x0A52
503 #define IO_EMIF_AHBADDH 0x0A54
504 #define IO_EMIF_AHBADDL 0x0A56
505 #define IO_EMIF_MTCADDH 0x0A58
506 #define IO_EMIF_MTCADDL 0x0A5A
507 #define IO_EMIF_DMASIZE 0x0A5C
508 #define IO_EMIF_DMAMTCSEL 0x0A5E
509 #define IO_EMIF_DMACTL 0x0A60
511 /* Preivew Engine */
512 #define IO_PREV_ENG_PVEN 0x0A80
513 #define IO_PREV_ENG_PVSET1 0x0A82
514 #define IO_PREV_ENG_RADRH 0x0A84
515 #define IO_PREV_ENG_RADRL 0x0A86
516 #define IO_PREV_ENG_WADRH 0x0A88
517 #define IO_PREV_ENG_WADRL 0x0A8A
518 #define IO_PREV_ENG_HSTART 0x0A8C
519 #define IO_PREV_ENG_HSIZE 0x0A8E
520 #define IO_PREV_ENG_VSTART 0x0A90
521 #define IO_PREV_ENG_VSIZE 0x0A92
522 #define IO_PREV_ENG_PVSET2 0x0A94
523 #define IO_PREV_ENG_NFILT 0x0A96
524 #define IO_PREV_ENG_DGAIN 0x0A98
525 #define IO_PREV_ENG_WBGAIN0 0x0A9A
526 #define IO_PREV_ENG_WBGAIN1 0x0A9C
527 #define IO_PREV_ENG_SMTH 0x0A9E
528 #define IO_PREV_ENG_HRSZ 0x0AA0
529 #define IO_PREV_ENG_VRSZ 0x0AA2
530 #define IO_PREV_ENG_BLOFST0 0x0AA4
531 #define IO_PREV_ENG_BLOFST1 0x0AA6
532 #define IO_PREV_ENG_MTXGAIN0 0x0AA8
533 #define IO_PREV_ENG_MTXGAIN1 0x0AAA
534 #define IO_PREV_ENG_MTXGAIN2 0x0AAC
535 #define IO_PREV_ENG_MTXGAIN3 0x0AAE
536 #define IO_PREV_ENG_MTXGAIN4 0x0AB0
537 #define IO_PREV_ENG_MTXGAIN5 0x0AB2
538 #define IO_PREV_ENG_MTXGAIN6 0x0AB4
539 #define IO_PREV_ENG_MTXGAIN7 0x0AB6
540 #define IO_PREV_ENG_MTXGAIN8 0x0AB8
541 #define IO_PREV_ENG_MTXOFST0 0x0ABA
542 #define IO_PREV_ENG_MTXOFST1 0x0ABC
543 #define IO_PREV_ENG_MTXOFST2 0x0ABE
544 #define IO_PREV_ENG_GAMTBYP 0x0AC0
545 #define IO_PREV_ENG_CSC0 0x0AC2
546 #define IO_PREV_ENG_CSC1 0x0AC4
547 #define IO_PREV_ENG_CSC2 0x0AC6
548 #define IO_PREV_ENG_CSC3 0x0AC8
549 #define IO_PREV_ENG_CSC4 0x0ACA
550 #define IO_PREV_ENG_YOFST 0x0ACC
551 #define IO_PREV_ENG_COFST 0x0ACE
552 #define IO_PREV_ENG_CNTBRT 0x0AD0
553 #define IO_PREV_ENG_CSUP0 0x0AD2
554 #define IO_PREV_ENG_CSUP1 0x0AD4
555 #define IO_PREV_ENG_SETUPY 0x0AD4
556 #define IO_PREV_ENG_SETUPC 0x0AD8
557 #define IO_PREV_ENG_TABLE_ADDR 0x0ADA
558 #define IO_PREV_ENG_TABLE_DATA 0x0ADC
559 #define IO_PREV_ENG_HG_CTL 0x0ADE
560 #define IO_PREV_ENG_HG_R0_HSTART 0x0AE0
561 #define IO_PREV_ENG_HG_R0_HSIZE 0x0AE2
562 #define IO_PREV_ENG_HG_R0_VSTART 0x0AE4
563 #define IO_PREV_ENG_HR_R0_VSIZE 0x0AE6
564 #define IO_PREV_ENG_HG_R1_HSTART 0x0AE8
565 #define IO_PREV_ENG_HG_R1_HSIZE 0x0AEA
566 #define IO_PREV_ENG_HG_R1_VSTART 0x0AEC
567 #define IO_PREV_ENG_HG_R1_VSIZE 0x0AEE
568 #define IO_PREV_ENG_HG_R2_HSTART 0x0AF0
569 #define IO_PREV_ENG_HG_R2_HSIZE 0x0AF2
570 #define IO_PREV_ENG_HG_R2_VSTART 0x0AF4
571 #define IO_PREV_ENG_HG_R2_VSIZE 0x0AF6
572 #define IO_PREV_ENG_HG_R3_HSTART 0x0AF8
573 #define IO_PREV_ENG_HG_R3_HSIZE 0x0AFA
574 #define IO_PREV_ENG_HG_R3_VSTART 0x0AFC
575 #define IO_PREV_ENG_HG_R3_VSIZE 0x0AFE
576 #define IO_PREV_ENG_HG_ADDR 0x0B00
577 #define IO_PREV_ENG_HG_DATA 0x0B02
579 /* H3A Hardware */
580 #define IO_H3A_H3ACTRL 0x0B80
581 #define IO_H3A_AFCTRL 0x0B82
582 #define IO_H3A_AFPAX1 0x0B84
583 #define IO_H3A_AFPAX2 0x0B86
584 #define IO_H3A_AFPAX3 0x0B88
585 #define IO_H3A_AFPAX4 0x0B8A
586 #define IO_H3A_AFIRSH 0x0B8C
587 #define IO_H3A_AFPAX5 0x0B8E
588 #define IO_H3A_AFSDRA1 0x0B90
589 #define IO_H3A_AFSDRA2 0x0B92
590 #define IO_H3A_AFSDRFLG 0x0B94
591 #define IO_H3A_AFCOEFF10 0x0B96
592 #define IO_H3A_AFCOEFF11 0x0B98
593 #define IO_H3A_AFCOEFF12 0x0B9A
594 #define IO_H3A_AFCOEFF13 0x0B9C
595 #define IO_H3A_AFCOEFF14 0x0B9E
596 #define IO_H3A_AFCOEFF15 0x0BA0
597 #define IO_H3A_AFCOEFF16 0x0BA2
598 #define IO_H3A_AFCOEFF17 0x0BA4
599 #define IO_H3A_AFCOEFF18 0x0BA6
600 #define IO_H3A_AFCOEFF19 0x0BA8
601 #define IO_H3A_AFCOEFF110 0x0BAA
602 #define IO_H3A_AFCOEFF20 0x0BAC
603 #define IO_H3A_AFCOEFF21 0x0BAE
604 #define IO_H3A_AFCOEFF22 0x0BB0
605 #define IO_H3A_AFCOEFF23 0x0BB2
606 #define IO_H3A_AFCOEFF24 0x0BB4
607 #define IO_H3A_AFCOEFF25 0x0BB6
608 #define IO_H3A_AFCOEFF26 0x0BB8
609 #define IO_H3A_AFCOEFF27 0x0BBA
610 #define IO_H3A_AFCOEFF28 0x0BBC
611 #define IO_H3A_AFCOEFF29 0x0BBE
612 #define IO_H3A_AFCOEFF210 0x0BC0
613 #define IO_H3A_AEWCTRL 0x0BC2
614 #define IO_H3A_AEWWIN1 0x0BC4
615 #define IO_H3A_AEWWIN2 0x0BC6
616 #define IO_H3A_AEWWIN3 0x0BC8
617 #define IO_H3A_AEWWIN4 0x0BCA
618 #define IO_H3A_AEWWIN5 0x0BCC
619 #define IO_H3A_AEWSDRA1 0x0BCE
620 #define IO_H3A_AEWSDRA2 0x0BD0
621 #define IO_H3A_AEWSDRFLG 0x0BD2
623 /* Reserved 0x0C00 - 0x0CCFF */
625 /* Memory Stick Controller : */
626 #define IO_MEM_STICK_MODE 0x0C80
627 #define IO_MEM_STICK_CMD 0x0C82
628 #define IO_MEM_STICK_DATA 0x0C84
629 #define IO_MEM_STICK_STATUS 0x0C86
630 #define IO_MEM_STICK_SYS 0x0C88
631 #define IO_MEM_STICK_ENDIAN 0x0C8A
632 #define IO_MEM_STICK_INT_STATUS 0x0C8C
633 #define IO_MEM_STICK_DMA_TRG 0x0C8E
634 #define IO_MEM_STICK_DMA_MODE 0x0C90
635 #define IO_MEM_STICK_SDRAM_ADDL 0x0C92
636 #define IO_MEM_STICK_SDRAM_ADDH 0x0C94
637 #define IO_MEM_STICK_DMA_STATUS 0x0C96
639 /* ATM : WBB Need to find these Register values */
640 #define IO_ATM_ 0x0D00
642 /* I2C */
643 #define IO_I2C_TXDATA 0x0D80
644 #define IO_I2C_RXDATA 0x0D82
645 #define IO_I2C_SCS 0x0D84
647 /* Taken from linux/include/asm-arm/arch-itdm320/irqs.h
649 * Copyright (C) 1999 ARM Limited
650 * Copyright (C) 2004 Ingenient Technologies
654 * Interrupt numbers
656 #define IRQ_TIMER0 0
657 #define IRQ_TIMER1 1
658 #define IRQ_TIMER2 2
659 #define IRQ_TIMER3 3
660 #define IRQ_CCD_VD0 4
661 #define IRQ_CCD_VD1 5
662 #define IRQ_CCD_WEN 6
663 #define IRQ_VENC 7
664 #define IRQ_SERIAL0 8
665 #define IRQ_SERIAL1 9
666 #define IRQ_EXT_HOST 10
667 #define IRQ_DSPHINT 11
668 #define IRQ_UART0 12
669 #define IRQ_UART1 13
670 #define IRQ_USB_DMA 14
671 #define IRQ_USB_CORE 15
672 #define IRQ_VLYNQ 16
673 #define IRQ_MTC0 17
674 #define IRQ_MTC1 18
675 #define IRQ_SD_MMC 19
676 #define IRQ_SDIO_MS 20
677 #define IRQ_GIO0 21
678 #define IRQ_GIO1 22
679 #define IRQ_GIO2 23
680 #define IRQ_GIO3 24
681 #define IRQ_GIO4 25
682 #define IRQ_GIO5 26
683 #define IRQ_GIO6 27
684 #define IRQ_GIO7 28
685 #define IRQ_GIO8 29
686 #define IRQ_GIO9 30
687 #define IRQ_GIO10 31
688 #define IRQ_GIO11 32
689 #define IRQ_GIO12 33
690 #define IRQ_GIO13 34
691 #define IRQ_GIO14 35
692 #define IRQ_GIO15 36
693 #define IRQ_PREVIEW0 37
694 #define IRQ_PREVIEW1 38
695 #define IRQ_WATCHDOG 39
696 #define IRQ_I2C 40
697 #define IRQ_CLKC 41
699 /* Embedded Debugging Interrupts */
700 #define IRQ_ICE 42
701 #define IRQ_ARMCOM_RX 43
702 #define IRQ_ARMCOM_TX 44
704 #define IRQ_RESERVED 45
706 #define NR_IRQS 46
708 /* Taken from linux/include/asm-arm/arch-integrator/timex.h
710 * Copyright (C) 1999 ARM Limited
713 #define CONFIG_TIMER0_TMMD_STOP 0x0000
714 #define CONFIG_TIMER0_TMMD_ONE_SHOT 0x0001
715 #define CONFIG_TIMER0_TMMD_FREE_RUN 0x0002
717 #define CONFIG_TIMER1_TMMD_STOP 0x0000
718 #define CONFIG_TIMER1_TMMD_ONE_SHOT 0x0001
719 #define CONFIG_TIMER1_TMMD_FREE_RUN 0x0002
721 #define CONFIG_TIMER2_TMMD_STOP 0x0000
722 #define CONFIG_TIMER2_TMMD_ONE_SHOT 0x0001
723 #define CONFIG_TIMER2_TMMD_FREE_RUN 0x0002
724 #define CONFIG_TIMER2_TMMD_CCD_SHUTTER 0x0100
725 #define CONFIG_TIMER2_TMMD_CCD_STROBE 0x0200
726 #define CONFIG_TIMER2_TMMD_POLARITY 0x0400
727 #define CONFIG_TIMER2_TMMD_TRG_SELECT 0x0800
728 #define CONFIG_TIMER2_TMMD_TRG_READY 0x1000
729 #define CONFIG_TIMER2_TMMD_SIGNAL 0x2000
731 #define CONFIG_TIMER3_TMMD_STOP 0x0000
732 #define CONFIG_TIMER3_TMMD_ONE_SHOT 0x0001
733 #define CONFIG_TIMER3_TMMD_FREE_RUN 0x0002
734 #define CONFIG_TIMER3_TMMD_CCD_SHUTTER 0x0100
735 #define CONFIG_TIMER3_TMMD_CCD_STROBE 0x0200
736 #define CONFIG_TIMER3_TMMD_POLARITY 0x0400
737 #define CONFIG_TIMER3_TMMD_TRG_SELECT 0x0800
738 #define CONFIG_TIMER3_TMMD_TRG_READY 0x1000
739 #define CONFIG_TIMER3_TMMD_SIGNAL 0x2000
742 #endif