M:Robe 500i: More LCD initialization, and beginnings of support for QVGA as well...
[kugel-rb.git] / firmware / export / dm320.h
blobd6599a6745baf52b14227a26ac4722b55fbf9f2c
1 /***************************************************************************
2 * __________ __ ___.
3 * Open \______ \ ____ ____ | | _\_ |__ _______ ___
4 * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ /
5 * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < <
6 * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \
7 * \/ \/ \/ \/ \/
8 * $Id$
10 * Copyright (C) 2007 by Karl Kurbjun
11 * Copyright (C) 2008 by Maurus Cuelenaere
13 * This program is free software; you can redistribute it and/or
14 * modify it under the terms of the GNU General Public License
15 * as published by the Free Software Foundation; either version 2
16 * of the License, or (at your option) any later version.
18 * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
19 * KIND, either express or implied.
21 ****************************************************************************/
23 /** All register offset definitions for the TI DM320
24 * 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
27 #ifndef __DM320_H__
28 #define __DM320_H__
30 #if !defined(__ASSEMBLER__) && !defined(__LD__)
31 /* These variables are created during linking (app/boot.lds) */
32 extern unsigned long _lcdbuf;
33 extern unsigned long _ttbstart;
34 #endif
36 #define TTB_BASE_ADDR (_ttbstart) /* End of memory */
37 #define FRAME ((short *) (&_lcdbuf)) /* Right before TTB */
39 #define PHY_IO_BASE 0x00030000
40 #define DM320_REG(addr) (*(volatile unsigned short *)(PHY_IO_BASE + (addr)))
41 #define PHY_IO_BASE2 0x00060000
42 #define DM320_REG2(addr) (*(volatile unsigned int *)(PHY_IO_BASE2 + (addr)))
44 /* This needs to be 2048 byte aligned, but USB_QHARRAY_ATTR should take care
45 * of that */
46 #define USB_QHARRAY_ATTR __attribute__((section(".qharray"),nocommon,aligned(4)))
47 #define USB_DEVBSS_ATTR IBSS_ATTR
50 /* Timer 0-3 */
51 #define IO_TIMER0_TMMD DM320_REG(0x0000)
52 #define IO_TIMER0_TMRSV0 DM320_REG(0x0002)
53 #define IO_TIMER0_TMPRSCL DM320_REG(0x0004)
54 #define IO_TIMER0_TMDIV DM320_REG(0x0006)
55 #define IO_TIMER0_TMTRG DM320_REG(0x0008)
56 #define IO_TIMER0_TMCNT DM320_REG(0x000A)
58 #define IO_TIMER1_TMMD DM320_REG(0x0080)
59 #define IO_TIMER1_TMRSV0 DM320_REG(0x0082)
60 #define IO_TIMER1_TMPRSCL DM320_REG(0x0084)
61 #define IO_TIMER1_TMDIV DM320_REG(0x0086)
62 #define IO_TIMER1_TMTRG DM320_REG(0x0088)
63 #define IO_TIMER1_TMCNT DM320_REG(0x008A)
65 #define IO_TIMER2_TMMD DM320_REG(0x0100)
66 #define IO_TIMER2_TMVDCLR DM320_REG(0x0102)
67 #define IO_TIMER2_TMPRSCL DM320_REG(0x0104)
68 #define IO_TIMER2_TMDIV DM320_REG(0x0106)
69 #define IO_TIMER2_TMTRG DM320_REG(0x0108)
70 #define IO_TIMER2_TMCNT DM320_REG(0x010A)
72 #define IO_TIMER3_TMMD DM320_REG(0x0180)
73 #define IO_TIMER3_TMVDCLR DM320_REG(0x0182)
74 #define IO_TIMER3_TMPRSCL DM320_REG(0x0184)
75 #define IO_TIMER3_TMDIV DM320_REG(0x0186)
76 #define IO_TIMER3_TMTRG DM320_REG(0x0188)
77 #define IO_TIMER3_TMCNT DM320_REG(0x018A)
79 /* Serial 0/1 */
80 #define IO_SERIAL0_TX_DATA DM320_REG(0x0200)
81 #define IO_SERIAL0_RX_DATA DM320_REG(0x0202)
82 #define IO_SERIAL0_TX_ENABLE DM320_REG(0x0204)
83 #define IO_SERIAL0_MODE DM320_REG(0x0206)
84 #define IO_SERIAL0_DMA_TRIGGER DM320_REG(0x0208)
85 #define IO_SERIAL0_DMA_MODE DM320_REG(0x020A)
86 #define IO_SERIAL0_DMA_SDRAM_LOW DM320_REG(0x020C)
87 #define IO_SERIAL0_DMA_SDRAM_HI DM320_REG(0x020E)
88 #define IO_SERIAL0_DMA_STATUS DM320_REG(0x0210)
90 #define IO_SERIAL1_TX_DATA DM320_REG(0x0280)
91 #define IO_SERIAL1_RX_DATA DM320_REG(0x0282)
92 #define IO_SERIAL1_TX_ENABLE DM320_REG(0x0284)
93 #define IO_SERIAL1_MODE DM320_REG(0x0286)
95 /* UART 0/1 */
96 #define IO_UART0_DTRR DM320_REG(0x0300)
97 #define IO_UART0_BRSR DM320_REG(0x0302)
98 #define IO_UART0_MSR DM320_REG(0x0304)
99 #define IO_UART0_RFCR DM320_REG(0x0306)
100 #define IO_UART0_TFCR DM320_REG(0x0308)
101 #define IO_UART0_LCR DM320_REG(0x030A)
102 #define IO_UART0_SR DM320_REG(0x030C)
104 #define IO_UART1_DTRR DM320_REG(0x0380)
105 #define IO_UART1_BRSR DM320_REG(0x0382)
106 #define IO_UART1_MSR DM320_REG(0x0384)
107 #define IO_UART1_RFCR DM320_REG(0x0386)
108 #define IO_UART1_TFCR DM320_REG(0x0388)
109 #define IO_UART1_LCR DM320_REG(0x038A)
110 #define IO_UART1_SR DM320_REG(0x038C)
112 /* Watchdog Timer */
113 #define IO_WATCHDOG_MODE DM320_REG(0x0400)
114 #define IO_WATCHDOG_RESET DM320_REG(0x0402)
115 #define IO_WATCHDOG_PRESCALAR DM320_REG(0x0404)
116 #define IO_WATCHDOG_DIVISOR DM320_REG(0x0406)
117 #define IO_WATCHDOG_EXT_RESET DM320_REG(0x0408)
119 /* MMC/SD Controller */
120 #define IO_MMC_CONTROL DM320_REG(0x0480)
121 #define IO_MMC_MEM_CLK_CONTROL DM320_REG(0x0482)
122 #define IO_MMC_STATUS0 DM320_REG(0x0484)
123 #define IO_MMC_STATUS1 DM320_REG(0x0486)
124 #define IO_MMC_INT_ENABLE DM320_REG(0x0488)
125 #define IO_MMC_RESPONSE_TIMEOUT DM320_REG(0x048A)
126 #define IO_MMC_READ_TIMEOUT DM320_REG(0x048C)
127 #define IO_MMC_BLOCK_LENGTH DM320_REG(0x048E)
128 #define IO_MMC_NR_BLOCKS DM320_REG(0x0490)
129 #define IO_MMC_NR_BLOCKS_COUNT DM320_REG(0x0492)
130 #define IO_MMC_RX_DATA DM320_REG(0x0494)
131 #define IO_MMC_TX_DATA DM320_REG(0x0496)
132 #define IO_MMC_COMMAND DM320_REG(0x0498)
133 #define IO_MMC_ARG_LOW DM320_REG(0x049A)
134 #define IO_MMC_ARG_HI DM320_REG(0x049C)
135 #define IO_MMC_RESPONSE0 DM320_REG(0x049E)
136 #define IO_MMC_RESPONSE1 DM320_REG(0x04A0)
137 #define IO_MMC_RESPONSE2 DM320_REG(0x04A2)
138 #define IO_MMC_RESPONSE3 DM320_REG(0x04A4)
139 #define IO_MMC_RESPONSE4 DM320_REG(0x04A6)
140 #define IO_MMC_RESPONSE5 DM320_REG(0x04A8)
141 #define IO_MMC_RESPONSE6 DM320_REG(0x04AA)
142 #define IO_MMC_RESPONSE7 DM320_REG(0x04AC)
143 #define IO_MMC_SPI_DATA DM320_REG(0x04AE)
144 #define IO_MMC_SPI_ERR DM320_REG(0x04B0)
145 #define IO_MMC_COMMAND_INDEX DM320_REG(0x04B2)
146 #define IO_MMC_CLK_START_PHASE DM320_REG(0x04B4)
147 #define IO_MMC_RESPONSE_TOUT_CNT DM320_REG(0x04B6)
148 #define IO_MMC_READ_TOUT_CNT DM320_REG(0x04B8)
149 #define IO_MMC_BLOCK_LENGTH_CNT DM320_REG(0x04BA)
151 #define IO_MMC_SD_DMA_TRIGGER DM320_REG(0x04BC)
152 #define IO_MMC_SD_DMA_MODE DM320_REG(0x04BE)
153 #define IO_MMC_SD_DMA_ADDR_LOW DM320_REG(0x04C0)
154 #define IO_MMC_SD_DMA_ADDR_HI DM320_REG(0x04C2)
155 #define IO_MMC_SD_DMA_STATUS0 DM320_REG(0x04C4)
156 #define IO_MMC_SD_DMA_STATUS1 DM320_REG(0x04C6)
157 #define IO_MMC_SD_DMA_TIMEOUT DM320_REG(0x04C8)
159 #define IO_SDIO_CONTROL DM320_REG(0x04CA)
160 #define IO_SDIO_STATUS0 DM320_REG(0x04CC)
161 #define IO_SDIO_INT_ENABLE DM320_REG(0x04CE)
162 #define IO_SDIO_INT_STATUS DM320_REG(0x04D0)
164 /* Interrupt Controller */
165 #define IO_INTC_FIQ0 DM320_REG(0x0500)
166 #define IO_INTC_FIQ1 DM320_REG(0x0502)
167 #define IO_INTC_FIQ2 DM320_REG(0x0504)
168 #define IO_INTC_IRQ0 DM320_REG(0x0508)
169 #define IO_INTC_IRQ1 DM320_REG(0x050A)
170 #define IO_INTC_IRQ2 DM320_REG(0x050C)
171 #define IO_INTC_FIQENTRY0 DM320_REG(0x0510)
172 #define IO_INTC_FIQENTRY1 DM320_REG(0x0512)
173 #define IO_INTC_FIQ_LOCK_ADDR0 DM320_REG(0x0514)
174 #define IO_INTC_FIQ_LOCK_ADDR1 DM320_REG(0x0516)
175 #define IO_INTC_IRQENTRY0 DM320_REG(0x0518)
176 #define IO_INTC_IRQENTRY1 DM320_REG(0x051A)
177 #define IO_INTC_IRQ_LOCK_ADDR0 DM320_REG(0x051C)
178 #define IO_INTC_IRQ_LOCK_ADDR1 DM320_REG(0x051E)
179 #define IO_INTC_FISEL0 DM320_REG(0x0520)
180 #define IO_INTC_FISEL1 DM320_REG(0x0522)
181 #define IO_INTC_FISEL2 DM320_REG(0x0524)
182 #define IO_INTC_EINT0 DM320_REG(0x0528)
183 #define IO_INTC_EINT1 DM320_REG(0x052A)
184 #define IO_INTC_EINT2 DM320_REG(0x052C)
185 #define IO_INTC_RAW DM320_REG(0x0530)
186 #define IO_INTC_ENTRY_TBA0 DM320_REG(0x0538)
187 #define IO_INTC_ENTRY_TBA1 DM320_REG(0x053A)
188 #define IO_INTC_PRIORITY0 DM320_REG(0x0540)
189 #define IO_INTC_PRIORITY1 DM320_REG(0x0542)
190 #define IO_INTC_PRIORITY2 DM320_REG(0x0544)
191 #define IO_INTC_PRIORITY3 DM320_REG(0x0546)
192 #define IO_INTC_PRIORITY4 DM320_REG(0x0548)
193 #define IO_INTC_PRIORITY5 DM320_REG(0x054A)
194 #define IO_INTC_PRIORITY6 DM320_REG(0x054C)
195 #define IO_INTC_PRIORITY7 DM320_REG(0x054E)
196 #define IO_INTC_PRIORITY8 DM320_REG(0x0550)
197 #define IO_INTC_PRIORITY9 DM320_REG(0x0552)
198 #define IO_INTC_PRIORITY10 DM320_REG(0x0554)
199 #define IO_INTC_PRIORITY11 DM320_REG(0x0556)
200 #define IO_INTC_PRIORITY12 DM320_REG(0x0558)
201 #define IO_INTC_PRIORITY13 DM320_REG(0x055A)
202 #define IO_INTC_PRIORITY14 DM320_REG(0x055C)
203 #define IO_INTC_PRIORITY15 DM320_REG(0x055E)
204 #define IO_INTC_PRIORITY16 DM320_REG(0x0560)
205 #define IO_INTC_PRIORITY17 DM320_REG(0x0562)
206 #define IO_INTC_PRIORITY18 DM320_REG(0x0564)
207 #define IO_INTC_PRIORITY19 DM320_REG(0x0566)
208 #define IO_INTC_PRIORITY20 DM320_REG(0x0568)
209 #define IO_INTC_PRIORITY21 DM320_REG(0x056A)
210 #define IO_INTC_PRIORITY22 DM320_REG(0x056C)
212 /* GIO Controller */
213 #define IO_GIO_DIR0 DM320_REG(0x0580)
214 #define IO_GIO_DIR1 DM320_REG(0x0582)
215 #define IO_GIO_DIR2 DM320_REG(0x0584)
216 #define IO_GIO_INV0 DM320_REG(0x0586)
217 #define IO_GIO_INV1 DM320_REG(0x0588)
218 #define IO_GIO_INV2 DM320_REG(0x058A)
219 #define IO_GIO_BITSET0 DM320_REG(0x058C)
220 #define IO_GIO_BITSET1 DM320_REG(0x058E)
221 #define IO_GIO_BITSET2 DM320_REG(0x0590)
222 #define IO_GIO_BITCLR0 DM320_REG(0x0592)
223 #define IO_GIO_BITCLR1 DM320_REG(0x0594)
224 #define IO_GIO_BITCLR2 DM320_REG(0x0596)
225 #define IO_GIO_IRQPORT DM320_REG(0x0598)
226 #define IO_GIO_IRQEDGE DM320_REG(0x059A)
227 #define IO_GIO_CHAT0 DM320_REG(0x059C)
228 #define IO_GIO_CHAT1 DM320_REG(0x059E)
229 #define IO_GIO_CHAT2 DM320_REG(0x05A0)
230 #define IO_GIO_NCHAT DM320_REG(0x05A2)
231 #define IO_GIO_FSEL0 DM320_REG(0x05A4)
232 #define IO_GIO_FSEL1 DM320_REG(0x05A6)
233 #define IO_GIO_FSEL2 DM320_REG(0x05A8)
234 #define IO_GIO_FSEL3 DM320_REG(0x05AA)
235 #define IO_GIO_FSEL4 DM320_REG(0x05AC)
236 #define IO_GIO_CARD_SET DM320_REG(0x05AE)
237 #define IO_GIO_CARD_ST DM320_REG(0x05B0)
239 /* DSP Controller */
240 #define IO_DSPC_HPIB_CONTROL DM320_REG(0x0600)
241 #define IO_DSPC_HPIB_STATUS DM320_REG(0x0602)
243 /* OSD Controller */
244 #define IO_OSD_MODE DM320_REG(0x0680)
245 #define IO_OSD_VIDWINMD DM320_REG(0x0682)
246 #define IO_OSD_OSDWINMD0 DM320_REG(0x0684)
247 #define IO_OSD_OSDWINMD1 DM320_REG(0x0686)
248 #define IO_OSD_ATRMD DM320_REG(0x0688)
249 #define IO_OSD_RECTCUR DM320_REG(0x0688)
250 #define IO_OSD_RESERVED DM320_REG(0x068A)
251 #define IO_OSD_VIDWIN0OFST DM320_REG(0x068C)
252 #define IO_OSD_VIDWIN1OFST DM320_REG(0x068E)
253 #define IO_OSD_OSDWIN0OFST DM320_REG(0x0690)
254 #define IO_OSD_OSDWIN1OFST DM320_REG(0x0692)
255 #define IO_OSD_VIDWINADH DM320_REG(0x0694)
256 #define IO_OSD_VIDWIN0ADL DM320_REG(0x0696)
257 #define IO_OSD_VIDWIN1ADL DM320_REG(0x0698)
258 #define IO_OSD_OSDWINADH DM320_REG(0x069A)
259 #define IO_OSD_OSDWIN0ADL DM320_REG(0x069C)
260 #define IO_OSD_OSDWIN1ADL DM320_REG(0x069E)
261 #define IO_OSD_BASEPX DM320_REG(0x06A0)
262 #define IO_OSD_BASEPY DM320_REG(0x06A2)
263 #define IO_OSD_VIDWIN0XP DM320_REG(0x06A4)
264 #define IO_OSD_VIDWIN0YP DM320_REG(0x06A6)
265 #define IO_OSD_VIDWIN0XL DM320_REG(0x06A8)
266 #define IO_OSD_VIDWIN0YL DM320_REG(0x06AA)
267 #define IO_OSD_VIDWIN1XP DM320_REG(0x06AC)
268 #define IO_OSD_VIDWIN1YP DM320_REG(0x06AE)
269 #define IO_OSD_VIDWIN1XL DM320_REG(0x06B0)
270 #define IO_OSD_VIDWIN1YL DM320_REG(0x06B2)
272 #define IO_OSD_OSDWIN0XP DM320_REG(0x06B4)
273 #define IO_OSD_OSDWIN0YP DM320_REG(0x06B6)
274 #define IO_OSD_OSDWIN0XL DM320_REG(0x06B8)
275 #define IO_OSD_OSDWIN0YL DM320_REG(0x06BA)
276 #define IO_OSD_OSDWIN1XP DM320_REG(0x06BC)
277 #define IO_OSD_OSDWIN1YP DM320_REG(0x06BE)
278 #define IO_OSD_OSDWIN1XL DM320_REG(0x06C0)
279 #define IO_OSD_OSDWIN1YL DM320_REG(0x06C2)
280 #define IO_OSD_CURXP DM320_REG(0x06C4)
281 #define IO_OSD_CURYP DM320_REG(0x06C6)
282 #define IO_OSD_CURXL DM320_REG(0x06C8)
283 #define IO_OSD_CURYL DM320_REG(0x06CA)
285 #define IO_OSD_W0BMP01 DM320_REG(0x06D0)
286 #define IO_OSD_W0BMP23 DM320_REG(0x06D2)
287 #define IO_OSD_W0BMP45 DM320_REG(0x06D4)
288 #define IO_OSD_W0BMP67 DM320_REG(0x06D6)
289 #define IO_OSD_W0BMP89 DM320_REG(0x06D8)
290 #define IO_OSD_W0BMPAB DM320_REG(0x06DA)
291 #define IO_OSD_W0BMPCD DM320_REG(0x06DC)
292 #define IO_OSD_W0BMPEF DM320_REG(0x06DE)
294 #define IO_OSD_W1BMP01 DM320_REG(0x06E0)
295 #define IO_OSD_W1BMP23 DM320_REG(0x06E2)
296 #define IO_OSD_W1BMP45 DM320_REG(0x06E4)
297 #define IO_OSD_W1BMP67 DM320_REG(0x06E6)
298 #define IO_OSD_W1BMP89 DM320_REG(0x06E8)
299 #define IO_OSD_W1BMPAB DM320_REG(0x06EA)
300 #define IO_OSD_W1BMPCD DM320_REG(0x06EC)
301 #define IO_OSD_W1BMPEF DM320_REG(0x06EE)
303 #define IO_OSD_MISCCTL DM320_REG(0x06F4)
304 #define IO_OSD_CLUTRAMYCB DM320_REG(0x06F6)
305 #define IO_OSD_CLUTRAMCR DM320_REG(0x06F8)
307 #define IO_OSD_PPWIN0ADH DM320_REG(0x06FC)
308 #define IO_OSD_PPWIN0ADL DM320_REG(0x06FE)
311 /* CCD Controller */
312 #define IO_CCD_SYNCEN DM320_REG(0x0700)
313 #define IO_CCD_MODESET DM320_REG(0x0702)
314 #define IO_CCD_HDWIDTH DM320_REG(0x0704)
315 #define IO_CCD_VDWIDTH DM320_REG(0x0706)
316 #define IO_CCD_PPLN DM320_REG(0x0708)
317 #define IO_CCD_LPFR DM320_REG(0x070A)
318 #define IO_CCD_SPH DM320_REG(0x070C)
319 #define IO_CCD_NPH DM320_REG(0x070E)
320 #define IO_CCD_SLV0 DM320_REG(0x0710)
321 #define IO_CCD_SLV1 DM320_REG(0x0712)
322 #define IO_CCD_NLV DM320_REG(0x0714)
323 #define IO_CCD_CULH DM320_REG(0x0716)
324 #define IO_CCD_CULV DM320_REG(0x0718)
325 #define IO_CCD_HSIZE DM320_REG(0x071A)
326 #define IO_CCD_SDOFST DM320_REG(0x071C)
327 #define IO_CCD_STADRH DM320_REG(0x071E)
328 #define IO_CCD_STADRL DM320_REG(0x0720)
329 #define IO_CCD_CLAMP DM320_REG(0x0722)
330 #define IO_CCD_DCSUB DM320_REG(0x0724)
331 #define IO_CCD_COLPTN DM320_REG(0x0726)
332 #define IO_CCD_BLKCMP0 DM320_REG(0x0728)
333 #define IO_CCD_BLKCMP1 DM320_REG(0x072A)
334 #define IO_CCD_MEDFILT DM320_REG(0x072C)
335 #define IO_CCD_RYEGAIN DM320_REG(0x072E)
336 #define IO_CCD_GRCYGAIN DM320_REG(0x0730)
337 #define IO_CCD_GBGGAIN DM320_REG(0x0732)
338 #define IO_CCD_BMGGAIN DM320_REG(0x0734)
339 #define IO_CCD_OFFSET DM320_REG(0x0736)
340 #define IO_CCD_OUTCLP DM320_REG(0x0738)
341 #define IO_CCD_VDINT0 DM320_REG(0x073A)
342 #define IO_CCD_VDINT1 DM320_REG(0x073C)
343 #define IO_CCD_RSV0 DM320_REG(0x073E)
344 #define IO_CCD_GAMMAWD DM320_REG(0x0740)
345 #define IO_CCD_REC656IF DM320_REG(0x0742)
346 #define IO_CCD_CCDFG DM320_REG(0x0744)
347 #define IO_CCD_FMTCFG DM320_REG(0x0746)
348 #define IO_CCD_FMTSPH DM320_REG(0x0748)
349 #define IO_CCD_FMTLNH DM320_REG(0x074A)
350 #define IO_CCD_FMTSLV DM320_REG(0x074C)
351 #define IO_CCD_FMTSNV DM320_REG(0x074E)
352 #define IO_CCD_FMTOFST DM320_REG(0x0750)
353 #define IO_CCD_FMTRLEN DM320_REG(0x0752)
354 #define IO_CCD_FMTHCNT DM320_REG(0x0754)
355 #define IO_CCD_FMTPTNA DM320_REG(0x0756)
356 #define IO_CCD_FMTPTNB DM320_REG(0x0758)
358 /* NTSC/PAL Encoder */
359 #define IO_VID_ENC_VMOD DM320_REG(0x0800)
360 #define IO_VID_ENC_VDCTL DM320_REG(0x0802)
361 #define IO_VID_ENC_VDPRO DM320_REG(0x0804)
362 #define IO_VID_ENC_SYNCTL DM320_REG(0x0806)
363 #define IO_VID_ENC_HSPLS DM320_REG(0x0808)
364 #define IO_VID_ENC_VSPLS DM320_REG(0x080A)
365 #define IO_VID_ENC_HINT DM320_REG(0x080C)
366 #define IO_VID_ENC_HSTART DM320_REG(0x080E)
367 #define IO_VID_ENC_HVALID DM320_REG(0x0810)
368 #define IO_VID_ENC_VINT DM320_REG(0x0812)
369 #define IO_VID_ENC_VSTART DM320_REG(0x0814)
370 #define IO_VID_ENC_VVALID DM320_REG(0x0816)
371 #define IO_VID_ENC_HSDLY DM320_REG(0x0818)
372 #define IO_VID_ENC_VSDLY DM320_REG(0x081A)
373 #define IO_VID_ENC_YCCTL DM320_REG(0x081C)
374 #define IO_VID_ENC_RGBCTL DM320_REG(0x081E)
375 #define IO_VID_ENC_RGBCLP DM320_REG(0x0820)
376 #define IO_VID_ENC_LNECTL DM320_REG(0x0822)
377 #define IO_VID_ENC_CULLLNE DM320_REG(0x0824)
378 #define IO_VID_ENC_LCDOUT DM320_REG(0x0826)
379 #define IO_VID_ENC_BRTS DM320_REG(0x0828)
380 #define IO_VID_ENC_BRTW DM320_REG(0x082A)
381 #define IO_VID_ENC_ACCTL DM320_REG(0x082C)
382 #define IO_VID_ENC_PWMP DM320_REG(0x082E)
383 #define IO_VID_ENC_PWMW DM320_REG(0x0830)
384 #define IO_VID_ENC_DCLKCTL DM320_REG(0x0832)
385 #define IO_VID_ENC_DCLKPTN0 DM320_REG(0x0834)
386 #define IO_VID_ENC_DCLKPTN1 DM320_REG(0x0836)
387 #define IO_VID_ENC_DCLKPTN2 DM320_REG(0x0838)
388 #define IO_VID_ENC_DCLKPTN3 DM320_REG(0x083A)
389 #define IO_VID_ENC_DCLKPTN0A DM320_REG(0x083C)
390 #define IO_VID_ENC_DCLKPTN1A DM320_REG(0x083E)
391 #define IO_VID_ENC_DCLKPTN2A DM320_REG(0x0840)
392 #define IO_VID_ENC_DCLKPTN3A DM320_REG(0x0842)
393 #define IO_VID_ENC_DCLKHS DM320_REG(0x0844)
394 #define IO_VID_ENC_DCLKHSA DM320_REG(0x0846)
395 #define IO_VID_ENC_DCLKHR DM320_REG(0x0848)
396 #define IO_VID_ENC_DCLKVS DM320_REG(0x084A)
397 #define IO_VID_ENC_DCLKVR DM320_REG(0x084C)
398 #define IO_VID_ENC_CAPCTL DM320_REG(0x084E)
399 #define IO_VID_ENC_CAPDO DM320_REG(0x0850)
400 #define IO_VID_ENC_CAPDE DM320_REG(0x0852)
401 #define IO_VID_ENC_ATR0 DM320_REG(0x0854)
403 /* Clock Controller */
404 #define IO_CLK_PLLA DM320_REG(0x0880)
405 #define IO_CLK_PLLB DM320_REG(0x0882)
406 #define IO_CLK_SEL0 DM320_REG(0x0884)
407 #define IO_CLK_SEL1 DM320_REG(0x0886)
408 #define IO_CLK_SEL2 DM320_REG(0x0888)
409 #define IO_CLK_DIV0 DM320_REG(0x088A)
410 #define IO_CLK_DIV1 DM320_REG(0x088C)
411 #define IO_CLK_DIV2 DM320_REG(0x088E)
412 #define IO_CLK_DIV3 DM320_REG(0x0890)
413 #define IO_CLK_DIV4 DM320_REG(0x0892)
414 #define IO_CLK_BYP DM320_REG(0x0894)
415 #define IO_CLK_INV DM320_REG(0x0896)
416 #define IO_CLK_MOD0 DM320_REG(0x0898)
417 #define IO_CLK_MOD1 DM320_REG(0x089A)
418 #define IO_CLK_MOD2 DM320_REG(0x089C)
419 #define IO_CLK_LPCTL0 DM320_REG(0x089E)
420 #define IO_CLK_LPCTL1 DM320_REG(0x08A0)
421 #define IO_CLK_OSEL DM320_REG(0x08A2)
422 #define IO_CLK_O0DIV DM320_REG(0x08A4)
423 #define IO_CLK_O1DIV DM320_REG(0x08A6)
424 #define IO_CLK_O2DIV DM320_REG(0x08A8)
425 #define IO_CLK_PWM0C DM320_REG(0x08AA)
426 #define IO_CLK_PWM0H DM320_REG(0x08AC)
427 #define IO_CLK_PWM1C DM320_REG(0x08AE)
428 #define IO_CLK_PWM1H DM320_REG(0x08B0)
430 /* Bus Controller */
431 #define IO_BUSC_ECR DM320_REG(0x0900)
432 #define IO_BUSC_EBYTER DM320_REG(0x0902)
433 #define IO_BUSC_EBITR DM320_REG(0x0904)
434 #define IO_BUSC_REVR DM320_REG(0x0906)
436 /* SDRAM Controller */
437 #define IO_SDRAM_SDBUFD0L DM320_REG(0x0980)
438 #define IO_SDRAM_SDBUFD0H DM320_REG(0x0982)
439 #define IO_SDRAM_SDBUFD1L DM320_REG(0x0984)
440 #define IO_SDRAM_SDBUFD1H DM320_REG(0x0986)
441 #define IO_SDRAM_SDBUFD2L DM320_REG(0x0988)
442 #define IO_SDRAM_SDBUFD2H DM320_REG(0x098A)
443 #define IO_SDRAM_SDBUFD3L DM320_REG(0x098C)
444 #define IO_SDRAM_SDBUFD3H DM320_REG(0x098E)
445 #define IO_SDRAM_SDBUFD4L DM320_REG(0x0990)
446 #define IO_SDRAM_SDBUFD4H DM320_REG(0x0992)
447 #define IO_SDRAM_SDBUFD5L DM320_REG(0x0994)
448 #define IO_SDRAM_SDBUFD5H DM320_REG(0x0996)
449 #define IO_SDRAM_SDBUFD6L DM320_REG(0x0998)
450 #define IO_SDRAM_SDBUFD6H DM320_REG(0x099A)
451 #define IO_SDRAM_SDBUFD7L DM320_REG(0x099C)
452 #define IO_SDRAM_SDBUFD7H DM320_REG(0x099E)
453 #define IO_SDRAM_SDBUFAD1 DM320_REG(0x09A0)
454 #define IO_SDRAM_SDBUFAD2 DM320_REG(0x09A2)
455 #define IO_SDRAM_SDBUFCTL DM320_REG(0x09A4)
456 #define IO_SDRAM_SDMODE DM320_REG(0x09A6)
457 #define IO_SDRAM_REFCTL DM320_REG(0x09A8)
458 #define IO_SDRAM_SDPRTY1 DM320_REG(0x09AA)
459 #define IO_SDRAM_SDPRTY2 DM320_REG(0x09AC)
460 #define IO_SDRAM_SDPRTY3 DM320_REG(0x09AE)
461 #define IO_SDRAM_SDPRTY4 DM320_REG(0x09B0)
462 #define IO_SDRAM_SDPRTY5 DM320_REG(0x09B2)
463 #define IO_SDRAM_SDPRTY6 DM320_REG(0x09B4)
464 #define IO_SDRAM_SDPRTY7 DM320_REG(0x09B6)
465 #define IO_SDRAM_SDPRTY8 DM320_REG(0x09B8)
466 #define IO_SDRAM_SDPRTY9 DM320_REG(0x09BA)
467 #define IO_SDRAM_SDPRTY10 DM320_REG(0x09BC)
468 #define IO_SDRAM_SDPRTY11 DM320_REG(0x09BE)
469 #define IO_SDRAM_SDPRTY12 DM320_REG(0x09C0)
470 #define IO_SDRAM_RSV DM320_REG(0x09C2)
471 #define IO_SDRAM_SDPRTYON DM320_REG(0x09C4)
472 #define IO_SDRAM_SDDMASEL DM320_REG(0x09C6)
474 /* EMIF Controller */
475 #define IO_EMIF_CS0CTRL1 DM320_REG(0x0A00)
476 #define IO_EMIF_CS0CTRL2 DM320_REG(0x0A02)
477 #define IO_EMIF_CS0CTRL3 DM320_REG(0x0A04)
478 #define IO_EMIF_CS1CTRL1A DM320_REG(0x0A06)
479 #define IO_EMIF_CS1CTRL1B DM320_REG(0x0A08)
480 #define IO_EMIF_CS1CTRL2 DM320_REG(0x0A0A)
481 #define IO_EMIF_CS2CTRL1 DM320_REG(0x0A0C)
482 #define IO_EMIF_CS2CTRL2 DM320_REG(0x0A0E)
483 #define IO_EMIF_CS3CTRL1 DM320_REG(0x0A10)
484 #define IO_EMIF_CS3CTRL2 DM320_REG(0x0A12)
485 #define IO_EMIF_CS4CTRL1 DM320_REG(0x0A14)
486 #define IO_EMIF_CS4CTRL2 DM320_REG(0x0A16)
487 #define IO_EMIF_BUSCTRL DM320_REG(0x0A18)
488 #define IO_EMIF_BUSRLS DM320_REG(0x0A1A)
489 #define IO_EMIF_CFCTRL1 DM320_REG(0x0A1C)
490 #define IO_EMIF_CFCTRL2 DM320_REG(0x0A1E)
491 #define IO_EMIF_SMCTRL DM320_REG(0x0A20)
492 #define IO_EMIF_BUSINTEN DM320_REG(0x0A22)
493 #define IO_EMIF_BUSSTS DM320_REG(0x0A24)
494 #define IO_EMIF_BUSWAITMD DM320_REG(0x0A26)
495 #define IO_EMIF_ECC1CP DM320_REG(0x0A28)
496 #define IO_EMIF_ECC1LP DM320_REG(0x0A2A)
497 #define IO_EMIF_ECC2CP DM320_REG(0x0A2C)
498 #define IO_EMIF_ECC2LP DM320_REG(0x0A2E)
499 #define IO_EMIF_ECC3CP DM320_REG(0x0A30)
500 #define IO_EMIF_ECC3LP DM320_REG(0x0A32)
501 #define IO_EMIF_ECC4CP DM320_REG(0x0A34)
502 #define IO_EMIF_ECC4LP DM320_REG(0x0A36)
503 #define IO_EMIF_ECC5CP DM320_REG(0x0A38)
504 #define IO_EMIF_ECC5LP DM320_REG(0x0A3A)
505 #define IO_EMIF_ECC6CP DM320_REG(0x0A3C)
506 #define IO_EMIF_ECC6LP DM320_REG(0x0A3E)
507 #define IO_EMIF_ECC7CP DM320_REG(0x0A40)
508 #define IO_EMIF_ECC7LP DM320_REG(0x0A42)
509 #define IO_EMIF_ECC8CP DM320_REG(0x0A44)
510 #define IO_EMIF_ECC8LP DM320_REG(0x0A46)
511 #define IO_EMIF_ECCCLR DM320_REG(0x0A48)
512 #define IO_EMIF_PAGESZ DM320_REG(0x0A4A)
513 #define IO_EMIF_PRIORCTL DM320_REG(0x0A4C)
514 #define IO_EMIF_MGDSPDEST DM320_REG(0x0A4E)
515 #define IO_EMIF_MGDSPADDH DM320_REG(0x0A50)
516 #define IO_EMIF_MGDSPADDL DM320_REG(0x0A52)
517 #define IO_EMIF_AHBADDH DM320_REG(0x0A54)
518 #define IO_EMIF_AHBADDL DM320_REG(0x0A56)
519 #define IO_EMIF_MTCADDH DM320_REG(0x0A58)
520 #define IO_EMIF_MTCADDL DM320_REG(0x0A5A)
521 #define IO_EMIF_DMASIZE DM320_REG(0x0A5C)
522 #define IO_EMIF_DMAMTCSEL DM320_REG(0x0A5E)
523 #define IO_EMIF_DMACTL DM320_REG(0x0A60)
525 /* Preivew Engine */
526 #define IO_PREV_ENG_PVEN DM320_REG(0x0A80)
527 #define IO_PREV_ENG_PVSET1 DM320_REG(0x0A82)
528 #define IO_PREV_ENG_RADRH DM320_REG(0x0A84)
529 #define IO_PREV_ENG_RADRL DM320_REG(0x0A86)
530 #define IO_PREV_ENG_WADRH DM320_REG(0x0A88)
531 #define IO_PREV_ENG_WADRL DM320_REG(0x0A8A)
532 #define IO_PREV_ENG_HSTART DM320_REG(0x0A8C)
533 #define IO_PREV_ENG_HSIZE DM320_REG(0x0A8E)
534 #define IO_PREV_ENG_VSTART DM320_REG(0x0A90)
535 #define IO_PREV_ENG_VSIZE DM320_REG(0x0A92)
536 #define IO_PREV_ENG_PVSET2 DM320_REG(0x0A94)
537 #define IO_PREV_ENG_NFILT DM320_REG(0x0A96)
538 #define IO_PREV_ENG_DGAIN DM320_REG(0x0A98)
539 #define IO_PREV_ENG_WBGAIN0 DM320_REG(0x0A9A)
540 #define IO_PREV_ENG_WBGAIN1 DM320_REG(0x0A9C)
541 #define IO_PREV_ENG_SMTH DM320_REG(0x0A9E)
542 #define IO_PREV_ENG_HRSZ DM320_REG(0x0AA0)
543 #define IO_PREV_ENG_VRSZ DM320_REG(0x0AA2)
544 #define IO_PREV_ENG_BLOFST0 DM320_REG(0x0AA4)
545 #define IO_PREV_ENG_BLOFST1 DM320_REG(0x0AA6)
546 #define IO_PREV_ENG_MTXGAIN0 DM320_REG(0x0AA8)
547 #define IO_PREV_ENG_MTXGAIN1 DM320_REG(0x0AAA)
548 #define IO_PREV_ENG_MTXGAIN2 DM320_REG(0x0AAC)
549 #define IO_PREV_ENG_MTXGAIN3 DM320_REG(0x0AAE)
550 #define IO_PREV_ENG_MTXGAIN4 DM320_REG(0x0AB0)
551 #define IO_PREV_ENG_MTXGAIN5 DM320_REG(0x0AB2)
552 #define IO_PREV_ENG_MTXGAIN6 DM320_REG(0x0AB4)
553 #define IO_PREV_ENG_MTXGAIN7 DM320_REG(0x0AB6)
554 #define IO_PREV_ENG_MTXGAIN8 DM320_REG(0x0AB8)
555 #define IO_PREV_ENG_MTXOFST0 DM320_REG(0x0ABA)
556 #define IO_PREV_ENG_MTXOFST1 DM320_REG(0x0ABC)
557 #define IO_PREV_ENG_MTXOFST2 DM320_REG(0x0ABE)
558 #define IO_PREV_ENG_GAMTBYP DM320_REG(0x0AC0)
559 #define IO_PREV_ENG_CSC0 DM320_REG(0x0AC2)
560 #define IO_PREV_ENG_CSC1 DM320_REG(0x0AC4)
561 #define IO_PREV_ENG_CSC2 DM320_REG(0x0AC6)
562 #define IO_PREV_ENG_CSC3 DM320_REG(0x0AC8)
563 #define IO_PREV_ENG_CSC4 DM320_REG(0x0ACA)
564 #define IO_PREV_ENG_YOFST DM320_REG(0x0ACC)
565 #define IO_PREV_ENG_COFST DM320_REG(0x0ACE)
566 #define IO_PREV_ENG_CNTBRT DM320_REG(0x0AD0)
567 #define IO_PREV_ENG_CSUP0 DM320_REG(0x0AD2)
568 #define IO_PREV_ENG_CSUP1 DM320_REG(0x0AD4)
569 #define IO_PREV_ENG_SETUPY DM320_REG(0x0AD4)
570 #define IO_PREV_ENG_SETUPC DM320_REG(0x0AD8)
571 #define IO_PREV_ENG_TABLE_ADDR DM320_REG(0x0ADA)
572 #define IO_PREV_ENG_TABLE_DATA DM320_REG(0x0ADC)
573 #define IO_PREV_ENG_HG_CTL DM320_REG(0x0ADE)
574 #define IO_PREV_ENG_HG_R0_HSTART DM320_REG(0x0AE0)
575 #define IO_PREV_ENG_HG_R0_HSIZE DM320_REG(0x0AE2)
576 #define IO_PREV_ENG_HG_R0_VSTART DM320_REG(0x0AE4)
577 #define IO_PREV_ENG_HR_R0_VSIZE DM320_REG(0x0AE6)
578 #define IO_PREV_ENG_HG_R1_HSTART DM320_REG(0x0AE8)
579 #define IO_PREV_ENG_HG_R1_HSIZE DM320_REG(0x0AEA)
580 #define IO_PREV_ENG_HG_R1_VSTART DM320_REG(0x0AEC)
581 #define IO_PREV_ENG_HG_R1_VSIZE DM320_REG(0x0AEE)
582 #define IO_PREV_ENG_HG_R2_HSTART DM320_REG(0x0AF0)
583 #define IO_PREV_ENG_HG_R2_HSIZE DM320_REG(0x0AF2)
584 #define IO_PREV_ENG_HG_R2_VSTART DM320_REG(0x0AF4)
585 #define IO_PREV_ENG_HG_R2_VSIZE DM320_REG(0x0AF6)
586 #define IO_PREV_ENG_HG_R3_HSTART DM320_REG(0x0AF8)
587 #define IO_PREV_ENG_HG_R3_HSIZE DM320_REG(0x0AFA)
588 #define IO_PREV_ENG_HG_R3_VSTART DM320_REG(0x0AFC)
589 #define IO_PREV_ENG_HG_R3_VSIZE DM320_REG(0x0AFE)
590 #define IO_PREV_ENG_HG_ADDR DM320_REG(0x0B00)
591 #define IO_PREV_ENG_HG_DATA DM320_REG(0x0B02)
593 /* H3A Hardware */
594 #define IO_H3A_H3ACTRL DM320_REG(0x0B80)
595 #define IO_H3A_AFCTRL DM320_REG(0x0B82)
596 #define IO_H3A_AFPAX1 DM320_REG(0x0B84)
597 #define IO_H3A_AFPAX2 DM320_REG(0x0B86)
598 #define IO_H3A_AFPAX3 DM320_REG(0x0B88)
599 #define IO_H3A_AFPAX4 DM320_REG(0x0B8A)
600 #define IO_H3A_AFIRSH DM320_REG(0x0B8C)
601 #define IO_H3A_AFPAX5 DM320_REG(0x0B8E)
602 #define IO_H3A_AFSDRA1 DM320_REG(0x0B90)
603 #define IO_H3A_AFSDRA2 DM320_REG(0x0B92)
604 #define IO_H3A_AFSDRFLG DM320_REG(0x0B94)
605 #define IO_H3A_AFCOEFF10 DM320_REG(0x0B96)
606 #define IO_H3A_AFCOEFF11 DM320_REG(0x0B98)
607 #define IO_H3A_AFCOEFF12 DM320_REG(0x0B9A)
608 #define IO_H3A_AFCOEFF13 DM320_REG(0x0B9C)
609 #define IO_H3A_AFCOEFF14 DM320_REG(0x0B9E)
610 #define IO_H3A_AFCOEFF15 DM320_REG(0x0BA0)
611 #define IO_H3A_AFCOEFF16 DM320_REG(0x0BA2)
612 #define IO_H3A_AFCOEFF17 DM320_REG(0x0BA4)
613 #define IO_H3A_AFCOEFF18 DM320_REG(0x0BA6)
614 #define IO_H3A_AFCOEFF19 DM320_REG(0x0BA8)
615 #define IO_H3A_AFCOEFF110 DM320_REG(0x0BAA)
616 #define IO_H3A_AFCOEFF20 DM320_REG(0x0BAC)
617 #define IO_H3A_AFCOEFF21 DM320_REG(0x0BAE)
618 #define IO_H3A_AFCOEFF22 DM320_REG(0x0BB0)
619 #define IO_H3A_AFCOEFF23 DM320_REG(0x0BB2)
620 #define IO_H3A_AFCOEFF24 DM320_REG(0x0BB4)
621 #define IO_H3A_AFCOEFF25 DM320_REG(0x0BB6)
622 #define IO_H3A_AFCOEFF26 DM320_REG(0x0BB8)
623 #define IO_H3A_AFCOEFF27 DM320_REG(0x0BBA)
624 #define IO_H3A_AFCOEFF28 DM320_REG(0x0BBC)
625 #define IO_H3A_AFCOEFF29 DM320_REG(0x0BBE)
626 #define IO_H3A_AFCOEFF210 DM320_REG(0x0BC0)
627 #define IO_H3A_AEWCTRL DM320_REG(0x0BC2)
628 #define IO_H3A_AEWWIN1 DM320_REG(0x0BC4)
629 #define IO_H3A_AEWWIN2 DM320_REG(0x0BC6)
630 #define IO_H3A_AEWWIN3 DM320_REG(0x0BC8)
631 #define IO_H3A_AEWWIN4 DM320_REG(0x0BCA)
632 #define IO_H3A_AEWWIN5 DM320_REG(0x0BCC)
633 #define IO_H3A_AEWSDRA1 DM320_REG(0x0BCE)
634 #define IO_H3A_AEWSDRA2 DM320_REG(0x0BD0)
635 #define IO_H3A_AEWSDRFLG DM320_REG(0x0BD2)
637 /* Reserved 0x0C00 - 0x0CCFF */
639 /* Memory Stick Controller : */
640 #define IO_MEM_STICK_MODE DM320_REG(0x0C80)
641 #define IO_MEM_STICK_CMD DM320_REG(0x0C82)
642 #define IO_MEM_STICK_DATA DM320_REG(0x0C84)
643 #define IO_MEM_STICK_STATUS DM320_REG(0x0C86)
644 #define IO_MEM_STICK_SYS DM320_REG(0x0C88)
645 #define IO_MEM_STICK_ENDIAN DM320_REG(0x0C8A)
646 #define IO_MEM_STICK_INT_STATUS DM320_REG(0x0C8C)
647 #define IO_MEM_STICK_DMA_TRG DM320_REG(0x0C8E)
648 #define IO_MEM_STICK_DMA_MODE DM320_REG(0x0C90)
649 #define IO_MEM_STICK_SDRAM_ADDL DM320_REG(0x0C92)
650 #define IO_MEM_STICK_SDRAM_ADDH DM320_REG(0x0C94)
651 #define IO_MEM_STICK_DMA_STATUS DM320_REG(0x0C96)
653 /* ATM : WBB Need to find these Register values */
654 #define IO_ATM_ DM320_REG(0x0D00
656 /* I2C */
657 #define IO_I2C_TXDATA DM320_REG(0x0D80)
658 #define IO_I2C_RXDATA DM320_REG(0x0D82)
659 #define IO_I2C_SCS DM320_REG(0x0D84)
661 /* VLYNQ */
662 #define VL_ID DM320_REG2(0x0300)
663 #define VL_CTRL DM320_REG2(0x0304)
664 #define VL_STAT DM320_REG2(0x0308)
665 #define VL_INTPRI DM320_REG2(0x030c)
666 #define VL_INTST DM320_REG2(0x0310)
667 #define VL_INTPND DM320_REG2(0x0314)
668 #define VL_INTPTR DM320_REG2(0x0318)
669 #define VL_TXMAP DM320_REG2(0x031c)
670 #define VL_RXMAPSZ1 DM320_REG2(0x0320)
671 #define VL_RXMAPOF1 DM320_REG2(0x0324)
672 #define VL_RXMAPSZ2 DM320_REG2(0x0328)
673 #define VL_RXMAPOF2 DM320_REG2(0x032c)
674 #define VL_RXMAPSZ3 DM320_REG2(0x0330)
675 #define VL_RXMAPOF3 DM320_REG2(0x0334)
676 #define VL_RXMAPSZ4 DM320_REG2(0x0338)
677 #define VL_RXMAPOF4 DM320_REG2(0x033c)
678 #define VL_CHIPVER DM320_REG2(0x0340)
679 #define VL_AUTONEG DM320_REG2(0x0344)
680 #define VL_MANNEG DM320_REG2(0x0348)
681 #define VL_NEGSTAT DM320_REG2(0x034c)
682 #define VL_ENDIAN DM320_REG2(0x035c)
683 #define VL_INTVEC30 DM320_REG2(0x0360)
684 #define VL_INTVEC74 DM320_REG2(0x0364)
685 #define VL_ID_R DM320_REG2(0x0380)
686 #define VL_CTRL_R DM320_REG2(0x0384)
687 #define VL_STAT_R DM320_REG2(0x0388)
688 #define VL_INTPRI_R DM320_REG2(0x038c)
689 #define VL_INTST_R DM320_REG2(0x0390)
690 #define VL_INTPND_R DM320_REG2(0x0394)
691 #define VL_INTPTR_R DM320_REG2(0x0398)
692 #define VL_TXMAP_R DM320_REG2(0x039c)
693 #define VL_RXMAPSZ1_R DM320_REG2(0x03a0)
694 #define VL_RXMAPOF1_R DM320_REG2(0x03a4)
695 #define VL_RXMAPSZ2_R DM320_REG2(0x03a8)
696 #define VL_RXMAPOF2_R DM320_REG2(0x03ac)
697 #define VL_RXMAPSZ3_R DM320_REG2(0x03b0)
698 #define VL_RXMAPOF3_R DM320_REG2(0x03b4)
699 #define VL_RXMAPSZ4_R DM320_REG2(0x03b8)
700 #define VL_RXMAPOF4_R DM320_REG2(0x03bc)
701 #define VL_CHIPVER_R DM320_REG2(0x03c0)
702 #define VL_AUTONEG_R DM320_REG2(0x03c4)
703 #define VL_MANNEG_R DM320_REG2(0x03c8)
704 #define VL_NEGSTAT_R DM320_REG2(0x03cc)
705 #define VL_ENDIAN_R DM320_REG2(0x03dc)
706 #define VL_INTVEC30_R DM320_REG2(0x03e0)
707 #define VL_INTVEC74_R DM320_REG2(0x03e4)
709 /* Taken from linux/include/asm-arm/arch-itdm320/irqs.h
711 * Copyright (C) 1999 ARM Limited
712 * Copyright (C) 2004 Ingenient Technologies
716 * Interrupt numbers
718 #define IRQ_TIMER0 0
719 #define IRQ_TIMER1 1
720 #define IRQ_TIMER2 2
721 #define IRQ_TIMER3 3
722 #define IRQ_CCD_VD0 4
723 #define IRQ_CCD_VD1 5
724 #define IRQ_CCD_WEN 6
725 #define IRQ_VENC 7
726 #define IRQ_SERIAL0 8
727 #define IRQ_SERIAL1 9
728 #define IRQ_EXT_HOST 10
729 #define IRQ_DSPHINT 11
730 #define IRQ_UART0 12
731 #define IRQ_UART1 13
732 #define IRQ_USB_DMA 14
733 #define IRQ_USB_CORE 15
734 #define IRQ_VLYNQ 16
735 #define IRQ_MTC0 17
736 #define IRQ_MTC1 18
737 #define IRQ_SD_MMC 19
738 #define IRQ_SDIO_MS 20
739 #define IRQ_GIO0 21
740 #define IRQ_GIO1 22
741 #define IRQ_GIO2 23
742 #define IRQ_GIO3 24
743 #define IRQ_GIO4 25
744 #define IRQ_GIO5 26
745 #define IRQ_GIO6 27
746 #define IRQ_GIO7 28
747 #define IRQ_GIO8 29
748 #define IRQ_GIO9 30
749 #define IRQ_GIO10 31
750 #define IRQ_GIO11 32
751 #define IRQ_GIO12 33
752 #define IRQ_GIO13 34
753 #define IRQ_GIO14 35
754 #define IRQ_GIO15 36
755 #define IRQ_PREVIEW0 37
756 #define IRQ_PREVIEW1 38
757 #define IRQ_WATCHDOG 39
758 #define IRQ_I2C 40
759 #define IRQ_CLKC 41
761 /* Embedded Debugging Interrupts */
762 #define IRQ_ICE 42
763 #define IRQ_ARMCOM_RX 43
764 #define IRQ_ARMCOM_TX 44
766 #define IRQ_RESERVED 45
768 #define NR_IRQS 46
770 /* Taken from linux/include/asm-arm/arch-integrator/timex.h
772 * Copyright (C) 1999 ARM Limited
775 #define CONFIG_TIMER0_TMMD_STOP 0x0000
776 #define CONFIG_TIMER0_TMMD_ONE_SHOT 0x0001
777 #define CONFIG_TIMER0_TMMD_FREE_RUN 0x0002
779 #define CONFIG_TIMER1_TMMD_STOP 0x0000
780 #define CONFIG_TIMER1_TMMD_ONE_SHOT 0x0001
781 #define CONFIG_TIMER1_TMMD_FREE_RUN 0x0002
783 #define CONFIG_TIMER2_TMMD_STOP 0x0000
784 #define CONFIG_TIMER2_TMMD_ONE_SHOT 0x0001
785 #define CONFIG_TIMER2_TMMD_FREE_RUN 0x0002
786 #define CONFIG_TIMER2_TMMD_CCD_SHUTTER 0x0100
787 #define CONFIG_TIMER2_TMMD_CCD_STROBE 0x0200
788 #define CONFIG_TIMER2_TMMD_POLARITY 0x0400
789 #define CONFIG_TIMER2_TMMD_TRG_SELECT 0x0800
790 #define CONFIG_TIMER2_TMMD_TRG_READY 0x1000
791 #define CONFIG_TIMER2_TMMD_SIGNAL 0x2000
793 #define CONFIG_TIMER3_TMMD_STOP 0x0000
794 #define CONFIG_TIMER3_TMMD_ONE_SHOT 0x0001
795 #define CONFIG_TIMER3_TMMD_FREE_RUN 0x0002
796 #define CONFIG_TIMER3_TMMD_CCD_SHUTTER 0x0100
797 #define CONFIG_TIMER3_TMMD_CCD_STROBE 0x0200
798 #define CONFIG_TIMER3_TMMD_POLARITY 0x0400
799 #define CONFIG_TIMER3_TMMD_TRG_SELECT 0x0800
800 #define CONFIG_TIMER3_TMMD_TRG_READY 0x1000
801 #define CONFIG_TIMER3_TMMD_SIGNAL 0x2000
804 * IO_MODx bits
806 #define CLK_MOD0_HPIB (1 << 11)
807 #define CLK_MOD0_DSP (1 << 10)
808 #define CLK_MOD0_EXTHOST (1 << 9)
809 #define CLK_MOD0_SDRAMC (1 << 8)
810 #define CLK_MOD0_EMIF (1 << 7)
811 #define CLK_MOD0_INTC (1 << 6)
812 #define CLK_MOD0_AIM (1 << 5)
813 #define CLK_MOD0_E2ICE (1 << 4)
814 #define CLK_MOD0_ETM (1 << 3)
815 #define CLK_MOD0_AHB (1 << 2)
816 #define CLK_MOD0_BUSC (1 << 1)
817 #define CLK_MOD0_ARM (1 << 0)
819 #define CLK_MOD1_CPBUS (1 << 11)
820 #define CLK_MOD1_SEQ (1 << 10)
821 #define CLK_MOD1_DCT (1 << 9)
822 #define CLK_MOD1_IMGBUF (1 << 8)
823 #define CLK_MOD1_IMX (1 << 7)
824 #define CLK_MOD1_VLCD (1 << 6)
825 #define CLK_MOD1_DAC (1 << 5)
826 #define CLK_MOD1_VENC (1 << 4)
827 #define CLK_MOD1_OSD (1 << 3)
828 #define CLK_MOD1_PRV (1 << 2)
829 #define CLK_MOD1_H3A (1 << 1)
830 #define CLK_MOD1_CCDC (1 << 0)
832 #define CLK_MOD2_TEST (1 << 15)
833 #define CLK_MOD2_MS (1 << 14)
834 #define CLK_MOD2_VLYNQ (1 << 13)
835 #define CLK_MOD2_I2C (1 << 12)
836 #define CLK_MOD2_MMC (1 << 11)
837 #define CLK_MOD2_SIF1 (1 << 10)
838 #define CLK_MOD2_SIF0 (1 << 9)
839 #define CLK_MOD2_UART1 (1 << 8)
840 #define CLK_MOD2_UART0 (1 << 7)
841 #define CLK_MOD2_USB (1 << 6)
842 #define CLK_MOD2_GIO (1 << 5)
843 #define CLK_MOD2_CCDTMR1 (1 << 4)
844 #define CLK_MOD2_CCDTMR0 (1 << 3)
845 #define CLK_MOD2_TMR1 (1 << 2)
846 #define CLK_MOD2_TMR0 (1 << 1)
847 #define CLK_MOD2_WDT (1 << 0)
849 #define CLK_SEL1_OSD (1 << 12)
850 #define CLK_SEL1_CCD (1 << 8)
851 #define CLK_SEL1_VENCPLL (1 << 4)
852 #define CLK_SEL1_VENC(x) (x << 0)
854 #define CLK_OSEL_O2SEL(x) (x << 8)
855 #define CLK_OSEL_O1SEL(x) (x << 4)
856 #define CLK_OSEL_O0SEL(x) (x << 0)
858 #define CLK_BYP_AXL (1 << 12)
859 #define CLK_BYP_SDRAM (1 << 8)
860 #define CLK_BYP_DSP (1 << 4)
861 #define CLK_BYP_ARM (1 << 0)
864 * IO_EINTx bits
866 #define INTR_EINT0_USB1 (1 << 15)
867 #define INTR_EINT0_USB0 (1 << 14)
868 #define INTR_EINT0_UART1 (1 << 13)
869 #define INTR_EINT0_UART0 (1 << 12)
870 #define INTR_EINT0_IMGBUF (1 << 11)
871 #define INTR_EINT0_EXTHOST (1 << 10)
872 #define INTR_EINT0_SP1 (1 << 9)
873 #define INTR_EINT0_SP0 (1 << 8)
874 #define INTR_EINT0_VENC (1 << 7)
875 #define INTR_EINT0_CCDWEN (1 << 6)
876 #define INTR_EINT0_CCDVD1 (1 << 5)
877 #define INTR_EINT0_CCDVD0 (1 << 4)
878 #define INTR_EINT0_TMR3 (1 << 3)
879 #define INTR_EINT0_TMR2 (1 << 2)
880 #define INTR_EINT0_TMR1 (1 << 1)
881 #define INTR_EINT0_TMR0 (1 << 0)
883 #define INTR_EINT1_EXT10 (1 << 15)
884 #define INTR_EINT1_EXT9 (1 << 14)
885 #define INTR_EINT1_EXT8 (1 << 13)
886 #define INTR_EINT1_EXT7 (1 << 12)
887 #define INTR_EINT1_EXT6 (1 << 11)
888 #define INTR_EINT1_EXT5 (1 << 10)
889 #define INTR_EINT1_EXT4 (1 << 9)
890 #define INTR_EINT1_EXT3 (1 << 8)
891 #define INTR_EINT1_EXT2 (1 << 7)
892 #define INTR_EINT1_EXT1 (1 << 6)
893 #define INTR_EINT1_EXT0 (1 << 5)
894 #define INTR_EINT1_MMCSDMS1 (1 << 4)
895 #define INTR_EINT1_MMCSDMS0 (1 << 3)
896 #define INTR_EINT1_MTC1 (1 << 2)
897 #define INTR_EINT1_MTC0 (1 << 1)
898 #define INTR_EINT1_VLYNQ (1 << 0)
900 #define INTR_EINT2_RSVINT (1 << 13)
901 #define INTR_EINT2_ARMCOMTX (1 << 12)
902 #define INTR_EINT2_ARMCOMRX (1 << 11)
903 #define INTR_EINT2_E2ICE (1 << 10)
904 #define INTR_EINT2_INTRC (1 << 9)
905 #define INTR_EINT2_I2C (1 << 8)
906 #define INTR_EINT2_WDT (1 << 7)
907 #define INTR_EINT2_PREV1 (1 << 6)
908 #define INTR_EINT2_PREV0 (1 << 5)
909 #define INTR_EINT2_EXT15 (1 << 4)
910 #define INTR_EINT2_EXT14 (1 << 3)
911 #define INTR_EINT2_EXT13 (1 << 2)
912 #define INTR_EINT2_EXT12 (1 << 1)
913 #define INTR_EINT2_EXT11 (1 << 0)
916 * IO_IRQx bits
918 #define INTR_IRQ0_TMR0 INTR_EINT0_TMR0
919 #define INTR_IRQ0_TMR1 INTR_EINT0_TMR1
920 #define INTR_IRQ0_TMR2 INTR_EINT0_TMR2
921 #define INTR_IRQ0_TMR3 INTR_EINT0_TMR3
922 #define INTR_IRQ0_UART1 INTR_EINT0_UART1
923 #define INTR_IRQ0_CCDVD1 INTR_EINT0_CCDVD1
924 #define INTR_IRQ0_IMGBUF INTR_EINT0_IMGBUF
926 #define INTR_IRQ1_EXT0 INTR_EINT1_EXT0
927 #define INTR_IRQ1_EXT2 INTR_EINT1_EXT2
928 #define INTR_IRQ1_EXT7 INTR_EINT1_EXT7
929 #define INTR_IRQ1_MTC0 INTR_EINT1_MTC0
932 * HPIBCTL bits
934 #define HPIBCTL_DBIO (1 << 10)
935 #define HPIBCTL_DHOLD (1 << 9)
936 #define HPIBCTL_DRST (1 << 8)
937 #define HPIBCTL_DINT0 (1 << 7)
938 #define HPIBCTL_EXCHG (1 << 5)
939 #define HPIBCTL_HPNMI (1 << 3)
940 #define HPIBCTL_HPIEN (1 << 0)
943 * Video Encoder bits
945 #define VENC_VMOD_VDMD(x) (x << 12)
946 #define VENC_VMOD_ITLC (1 << 10)
947 #define VENC_VMOD_CBTYP (1 << 9)
948 #define VENC_VMOD_CBMD (1 << 8)
949 #define VENC_VMOD_NTPLS(x) (x << 6)
950 #define VENC_VMOD_SLAVE (1 << 5)
951 #define VENC_VMOD_VMD (1 << 4)
952 #define VENC_VMOD_BLNK (1 << 3)
953 #define VENC_VMOD_DACPD (1 << 2)
954 #define VENC_VMOD_VIE (1 << 1)
955 #define VENC_VMOD_VENC (1 << 0)
957 #define VENC_VDCTL_VCLKP (1 << 14)
958 #define VENC_VDCTL_VCLKE (1 << 13)
959 #define VENC_VDCTL_VCLKZ (1 << 12)
960 #define VENC_VDCTL_DOMD(x) (x << 4)
961 #define VENC_VDCTL_YCDC (1 << 2)
962 #define VENC_VDCTL_INPTRU (1 << 1)
963 #define VENC_VDCTL_YCDIR (1 << 0)
965 #define VENC_VDPRO_PFLTY(x) (x << 12)
966 #define VENC_VDPRO_PFLTR (1 << 11)
967 #define VENC_VDPRO_YCDLY(x) (x << 8)
968 #define VENC_VDPRO_RGBMAT (1 << 7)
969 #define VENC_VDPRO_ATRGB (1 << 6)
970 #define VENC_VDPRO_ATYCC (1 << 5)
971 #define VENC_VDPRO_ATCOM (1 << 4)
972 #define VENC_VDPRO_STUP (1 << 3)
973 #define VENC_VDPRO_CRCUT (1 << 2)
974 #define VENC_VDPRO_CUPS (1 << 1)
975 #define VENC_VDPRO_YUPS (1 << 0)
977 #define VENC_SYNCTL_EXFEN (1 << 12)
978 #define VENC_SYNCTL_EXFIV (1 << 11)
979 #define VENC_SYNCTL_EXSYNC (1 << 10)
980 #define VENC_SYNCTL_EXVIV (1 << 9)
981 #define VENC_SYNCTL_EXHIV (1 << 8)
982 #define VENC_SYNCTL_CSP (1 << 7)
983 #define VENC_SYNCTL_CSE (1 << 6)
984 #define VENC_SYNCTL_SYSW (1 << 5)
985 #define VENC_SYNCTL_VSYNCS (1 << 4)
986 #define VENC_SYNCTL_VPL (1 << 3)
987 #define VENC_SYNCTL_HPL (1 << 2)
988 #define VENC_SYNCTL_SYE (1 << 1)
989 #define VENC_SYNCTL_SYDIR (1 << 0)
991 #define VENC_RGBCTL_IRONM (1 << 11)
992 #define VENC_RGBCTL_DFLTR (1 << 10)
993 #define VENC_RGBCTL_DFLTS(x) (x << 8)
994 #define VENC_RGBCTL_RGBEF(x) (x << 4)
995 #define VENC_RGBCTL_RGBOF(x) (x << 0)
997 #define VENC_RGBCLP_UCLIP(x) (x << 8)
998 #define VENC_RGBCLP_OFST(x) (x << 0)
1000 #define VENC_LCDOUT_FIDS (1 << 8)
1001 #define VENC_LCDOUT_FIDP (1 << 7)
1002 #define VENC_LCDOUT_PWMP (1 << 6)
1003 #define VENC_LCDOUT_PWME (1 << 5)
1004 #define VENC_LCDOUT_ACE (1 << 4)
1005 #define VENC_LCDOUT_BRP (1 << 3)
1006 #define VENC_LCDOUT_BRE (1 << 2)
1007 #define VENC_LCDOUT_OEP (1 << 1)
1008 #define VENC_LCDOUT_OEE (1 << 0)
1010 #define VENC_DCLKCTL_DOFST(x) (x << 12)
1011 #define VENC_DCLKCTL_DCKEC (1 << 11)
1012 #define VENC_DCLKCTL_DCKME (1 << 10)
1013 #define VENC_DCLKCTL_DCKOH (1 << 9)
1014 #define VENC_DCLKCTL_DCKIH (1 << 8)
1015 #define VENC_DCLKCTL_DCKPW(x) (x << 0)
1017 #endif