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