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