No empty .Rs/.Re
[netbsd-mini2440.git] / sys / arch / arm / omap / omap2_reg.h
blob04067a3537da8997b4cd2a287d53b34c1185db21
1 /* $NetBSD: omap2430reg.h,v 1.2 2008/04/27 18:58:45 matt Exp $ */
3 /*
4 * Copyright (c) 2007 Microsoft
5 * All rights reserved.
7 * Redistribution and use in source and binary forms, with or without
8 * modification, are permitted provided that the following conditions
9 * are met:
10 * 1. Redistributions of source code must retain the above copyright
11 * notice, this list of conditions and the following disclaimer.
12 * 2. Redistributions in binary form must reproduce the above copyright
13 * notice, this list of conditions and the following disclaimer in the
14 * documentation and/or other materials provided with the distribution.
15 * 3. All advertising materials mentioning features or use of this software
16 * must display the following acknowledgement:
17 * This product includes software developed by Microsoft
19 * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
20 * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
21 * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
22 * IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTERS BE LIABLE FOR ANY DIRECT,
23 * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
24 * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
25 * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
26 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
27 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
28 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
29 * SUCH DAMAGE.
32 #ifndef _ARM_OMAP_OMAP2_REG_H_
33 #define _ARM_OMAP_OMAP2_REG_H_
36 * Header for misc. omap2430 registers
40 * L4 Interconnect WAKEUP address space
42 #define OMAP2430_L4_CORE_BASE 0x48000000
43 #define OMAP2430_L4_CORE_SIZE (16 << 20) /* 16 MB */
45 #define OMAP2430_L4_WAKEUP_BASE 0x49000000
46 #define OMAP2430_L4_WAKEUP_SIZE (8 << 20) /* 8 MB */
48 #define OMAP3530_L4_CORE_BASE 0x48000000
49 #define OMAP3530_L4_CORE_SIZE 0x01000000 /* 16 MB */
51 #define OMAP3530_L4_WAKEUP_BASE 0x48300000
52 #define OMAP3530_L4_WAKEUP_SIZE 0x00040000 /* 256KB */
54 #define OMAP3530_L4_PERIPHERAL_BASE 0x49000000
55 #define OMAP3530_L4_PERIPHERAL_SIZE 0x00100000 /* 1MB */
57 #define OMAP3530_L4_EMULATION_BASE 0x54000000
58 #define OMAP3530_L4_EMULATION_SIZE 0x00800000 /* 8MB */
61 * Clock Management registers base, offsets, and size
63 #ifdef OMAP_2430
64 #define OMAP2_CM_BASE 0x49006000
65 #endif
66 #ifdef OMAP_2420
67 #define OMAP2_CM_BASE 0x48008000
68 #endif
69 #ifdef OMAP_3530
70 #define OMAP2_CM_BASE 0x48004000
71 #endif
73 #define OMAP2_CM_CLKSEL_MPU 0x140
74 #define OMAP2_CM_FCLKEN1_CORE 0x200
75 #define OMAP2_CM_FCLKEN2_CORE 0x204
76 #define OMAP2_CM_ICLKEN1_CORE 0x210
77 #define OMAP2_CM_ICLKEN2_CORE 0x214
78 #define OMAP2_CM_CLKSEL2_CORE 0x244
79 #define OMAP2_CM_SIZE (OMAP2_CM_CLKSEL2_CORE + 4)
83 * bit defines for OMAP2_CM_CLKSEL_MPU
85 #define OMAP2_CM_CLKSEL_MPU_FULLSPEED 1
86 #define OMAP2_CM_CLKSEL_MPU_HALFSPEED 2
89 * bit defines for OMAP2_CM_FCLKEN2_CORE
91 #define OMAP2_CM_FCLKEN1_CORE_EN_DSS1 __BIT(0)
92 #define OMAP2_CM_FCLKEN1_CORE_EN_DSS2 __BIT(1)
93 #define OMAP2_CM_FCLKEN1_CORE_EN_TV __BIT(2)
94 #define OMAP2_CM_FCLKEN1_CORE_RESa __BIT(3)
95 #define OMAP2_CM_FCLKEN1_CORE_EN_GPT2 __BIT(4)
96 #define OMAP2_CM_FCLKEN1_CORE_EN_GPT3 __BIT(5)
97 #define OMAP2_CM_FCLKEN1_CORE_EN_GPT4 __BIT(6)
98 #define OMAP2_CM_FCLKEN1_CORE_EN_GPT5 __BIT(7)
99 #define OMAP2_CM_FCLKEN1_CORE_EN_GPT6 __BIT(8)
100 #define OMAP2_CM_FCLKEN1_CORE_EN_GPT7 __BIT(9)
101 #define OMAP2_CM_FCLKEN1_CORE_EN_GPT8 __BIT(10)
102 #define OMAP2_CM_FCLKEN1_CORE_EN_GPT9 __BIT(11)
103 #define OMAP2_CM_FCLKEN1_CORE_EN_GPT10 __BIT(12)
104 #define OMAP2_CM_FCLKEN1_CORE_EN_GPT11 __BIT(13)
105 #define OMAP2_CM_FCLKEN1_CORE_EN_GPT12 __BIT(14)
106 #define OMAP2_CM_FCLKEN1_CORE_EN_MCBSP1 __BIT(15)
107 #define OMAP2_CM_FCLKEN1_CORE_EN_MCBSP2 __BIT(16)
108 #define OMAP2_CM_FCLKEN1_CORE_EN_MCSPI1 __BIT(17)
109 #define OMAP2_CM_FCLKEN1_CORE_EN_MCSPI2 __BIT(18)
110 #define OMAP2_CM_FCLKEN1_CORE_RESb __BITS(20,19)
111 #define OMAP2_CM_FCLKEN1_CORE_EN_UART1 __BIT(21)
112 #define OMAP2_CM_FCLKEN1_CORE_EN_UART2 __BIT(22)
113 #define OMAP2_CM_FCLKEN1_CORE_EN_HDQ __BIT(23)
114 #define OMAP2_CM_FCLKEN1_CORE_RESc __BIT(24)
115 #define OMAP2_CM_FCLKEN1_CORE_EN_FAC __BIT(25)
116 #define OMAP2_CM_FCLKEN1_CORE_RESd __BIT(26)
117 #define OMAP2_CM_FCLKEN1_CORE_EN_MSPRO __BIT(27)
118 #define OMAP2_CM_FCLKEN1_CORE_RESe __BIT(28)
119 #define OMAP2_CM_FCLKEN1_CORE_EN_WDT4 __BIT(29)
120 #define OMAP2_CM_FCLKEN1_CORE_RESf __BIT(30)
121 #define OMAP2_CM_FCLKEN1_CORE_EN_CAM __BIT(31)
122 #define OMAP2_CM_FCLKEN1_CORE_RESV \
123 (OMAP2_CM_FCLKEN1_CORE_RESa \
124 |OMAP2_CM_FCLKEN1_CORE_RESb \
125 |OMAP2_CM_FCLKEN1_CORE_RESc \
126 |OMAP2_CM_FCLKEN1_CORE_RESd \
127 |OMAP2_CM_FCLKEN1_CORE_RESe \
128 |OMAP2_CM_FCLKEN1_CORE_RESf)
132 * bit defines for OMAP2_CM_FCLKEN2_CORE
134 #define OMAP2_CM_FCLKEN2_CORE_EN_USB __BIT(0)
135 #define OMAP2_CM_FCLKEN2_CORE_EN_SSI __BIT(1)
136 #define OMAP2_CM_FCLKEN2_CORE_EN_UART3 __BIT(2)
137 #define OMAP2_CM_FCLKEN2_CORE_EN_MCBSP3 __BIT(3)
138 #define OMAP2_CM_FCLKEN2_CORE_EN_MCBSP4 __BIT(4)
139 #define OMAP2_CM_FCLKEN2_CORE_EN_MCBSP5 __BIT(5)
140 #define OMAP2_CM_FCLKEN2_CORE_RESa __BIT(6)
141 #define OMAP2_CM_FCLKEN2_CORE_EN_MMCHS1 __BIT(7)
142 #define OMAP2_CM_FCLKEN2_CORE_EN_MMCHS2 __BIT(8)
143 #define OMAP2_CM_FCLKEN2_CORE_EN_NCSPI3 __BIT(9)
144 #define OMAP2_CM_FCLKEN2_CORE_EN_GPIO5 __BIT(10)
145 #define OMAP2_CM_FCLKEN2_CORE_RESb __BITS(15,11)
146 #define OMAP2_CM_FCLKEN2_CORE_EN_MMCHSDB1 __BIT(16)
147 #define OMAP2_CM_FCLKEN2_CORE_EN_MMCHSDB2 __BIT(17)
148 #define OMAP2_CM_FCLKEN2_CORE_RESc __BIT(18)
149 #define OMAP2_CM_FCLKEN2_CORE_I2CHS1 __BIT(19)
150 #define OMAP2_CM_FCLKEN2_CORE_I2CHS2 __BIT(20)
151 #define OMAP2_CM_FCLKEN2_CORE_RESd __BITS(31,21)
152 #define OMAP2_CM_FCLKEN2_CORE_RESV \
153 (OMAP2_CM_FCLKEN2_CORE_RESa \
154 |OMAP2_CM_FCLKEN2_CORE_RESb \
155 |OMAP2_CM_FCLKEN2_CORE_RESc \
156 |OMAP2_CM_FCLKEN2_CORE_RESd)
160 * bit defines for OMAP2_CM_ICLKEN1_CORE
162 #define OMAP2_CM_ICLKEN1_CORE_EN_DSS __BIT(0)
163 #define OMAP2_CM_ICLKEN1_CORE_RESa __BITS(3,1)
164 #define OMAP2_CM_ICLKEN1_CORE_EN_GPT2 __BIT(4)
165 #define OMAP2_CM_ICLKEN1_CORE_EN_GPT3 __BIT(5)
166 #define OMAP2_CM_ICLKEN1_CORE_EN_GPT4 __BIT(6)
167 #define OMAP2_CM_ICLKEN1_CORE_EN_GPT5 __BIT(7)
168 #define OMAP2_CM_ICLKEN1_CORE_EN_GPT6 __BIT(8)
169 #define OMAP2_CM_ICLKEN1_CORE_EN_GPT7 __BIT(9)
170 #define OMAP2_CM_ICLKEN1_CORE_EN_GPT8 __BIT(10)
171 #define OMAP2_CM_ICLKEN1_CORE_EN_GPT9 __BIT(11)
172 #define OMAP2_CM_ICLKEN1_CORE_EN_GPT10 __BIT(12)
173 #define OMAP2_CM_ICLKEN1_CORE_EN_GPT11 __BIT(13)
174 #define OMAP2_CM_ICLKEN1_CORE_EN_GPT12 __BIT(14)
175 #define OMAP2_CM_ICLKEN1_CORE_EN_MCBSP1 __BIT(15)
176 #define OMAP2_CM_ICLKEN1_CORE_EN_MCBSP2 __BIT(16)
177 #define OMAP2_CM_ICLKEN1_CORE_EN_MCSPI1 __BIT(17)
178 #define OMAP2_CM_ICLKEN1_CORE_EN_MCSPI2 __BIT(18)
179 #define OMAP2_CM_ICLKEN1_CORE_EN_I2C1 __BIT(19)
180 #define OMAP2_CM_ICLKEN1_CORE_EN_I2C2 __BIT(20)
181 #define OMAP2_CM_ICLKEN1_CORE_EN_UART1 __BIT(21)
182 #define OMAP2_CM_ICLKEN1_CORE_EN_UART2 __BIT(22)
183 #define OMAP2_CM_ICLKEN1_CORE_EN_HDQ __BIT(23)
184 #define OMAP2_CM_ICLKEN1_CORE_RESb __BIT(24)
185 #define OMAP2_CM_ICLKEN1_CORE_EN_FAC __BIT(25)
186 #define OMAP2_CM_ICLKEN1_CORE_RESc __BIT(26)
187 #define OMAP2_CM_ICLKEN1_CORE_EN_MSPR0 __BIT(27)
188 #define OMAP2_CM_ICLKEN1_CORE_RESd __BIT(28)
189 #define OMAP2_CM_ICLKEN1_CORE_EN_WDT4 __BIT(29)
190 #define OMAP2_CM_ICLKEN1_CORE_EN_MAILBOXES __BIT(30)
191 #define OMAP2_CM_ICLKEN1_CORE_EN_CAM __BIT(31)
192 #define OMAP2_CM_ICLKEN1_CORE_RESV \
193 (OMAP2_CM_ICLKEN1_CORE_RESa \
194 |OMAP2_CM_ICLKEN1_CORE_RESb \
195 |OMAP2_CM_ICLKEN1_CORE_RESc \
196 |OMAP2_CM_ICLKEN1_CORE_RESd)
200 * bit defines for OMAP2_CM_ICLKEN2_CORE
202 #define OMAP2_CM_ICLKEN2_CORE_EN_USB __BIT(0)
203 #define OMAP2_CM_ICLKEN2_CORE_EN_SSI __BIT(1)
204 #define OMAP2_CM_ICLKEN2_CORE_EN_UART3 __BIT(2)
205 #define OMAP2_CM_ICLKEN2_CORE_EN_MCBSP3 __BIT(3)
206 #define OMAP2_CM_ICLKEN2_CORE_EN_MCBSP4 __BIT(4)
207 #define OMAP2_CM_ICLKEN2_CORE_EN_MCBSP5 __BIT(5)
208 #define OMAP2_CM_ICLKEN2_CORE_EN_USBHS __BIT(6)
209 #define OMAP2_CM_ICLKEN2_CORE_EN_MMCHS1 __BIT(7)
210 #define OMAP2_CM_ICLKEN2_CORE_EN_MMCHS2 __BIT(8)
211 #define OMAP2_CM_ICLKEN2_CORE_EN_NCSPI3 __BIT(9)
212 #define OMAP2_CM_ICLKEN2_CORE_EN_GPIO5 __BIT(10)
213 #define OMAP2_CM_ICLKEN2_CORE_EN_MDM_INTC __BIT(11)
214 #define OMAP2_CM_ICLKEN2_CORE_RESV __BIT(31,12)
217 * bit defines for OMAP2_CM_CLKSEL2_CORE
219 #define OMAP2_CM_CLKSEL2_CORE_GPTn(n, v) \
220 (((v) & 0x3) << (2 + ((((n) - 2) << 1))))
221 # define CLKSEL2_CORE_GPT_FUNC_32K_CLK 0x0
222 # define CLKSEL2_CORE_GPT_SYS_CLK 0x1
223 # define CLKSEL2_CORE_GPT_ALT_CLK 0x2
224 # define CLKSEL2_CORE_GPT_ALT_RESV 0x3
226 #define OMAP2_CM_CLKSEL2_CORE_RESa __BITS(1,0)
227 #define OMAP2_CM_CLKSEL2_CORE_RESb __BITS(31,24)
228 #define OMAP2_CM_CLKSEL2_CORE_RESV \
229 (OMAP2_CM_CLKSEL2_CORE_RESa \
230 |OMAP2_CM_CLKSEL2_CORE_RESb)
234 * L3 Interconnect Target Agent Common Registers
236 #define OMAP2_TA_GPMC 0x68002400
237 #define OMAP2_TA_L4_CORE 0x68006800
240 * L3 Interconnect Target Agent Common Register offsets
242 #define OMAP2_TA_COMPONENT 0x00
243 #define OMAP2_TA_CORE 0x18
244 #define OMAP2_TA_AGENT_CONTROL 0x20
245 #define OMAP2_TA_AGENT_STATUS 0x28
246 #define OMAP2_TA_ERROR_LOG 0x58
247 #define OMAP2_TA_ERROR_LOG_ADDR 0x60
250 * OMAP2_TA_COMPONENT bits
252 #define TA_COMPONENT_REV(r) ((r) & __BITS(15,0))
253 #define TA_COMPONENT_CODE(r) (((r) >> 16) & __BITS(15,0))
256 * OMAP2_TA_CORE bits
258 #define TA_AGENT_CORE_REV(r) ((r) & __BITS(15,0))
259 #define TA_AGENT_CORE_CODE(r) (((r) >> 16) & __BITS(15,0))
262 * OMAP2_TA_AGENT_CONTROL bits
264 #define TA_AGENT_CONTROL_CORE_RESET __BIT(0)
265 #define TA_AGENT_CONTROL_CORE_REJECT __BIT(4)
266 #define TA_AGENT_CONTROL_CORE_TIMEOUT_BASE __BITS(10,8)
267 #define TA_AGENT_CONTROL_CORE_TIMEOUT_BASE_SHFT 8
268 #define TA_AGENT_CONTROL_CORE_TIMEOUT_BASE_NONE 0
269 #define TA_AGENT_CONTROL_CORE_TIMEOUT_BASE_1 1
270 #define TA_AGENT_CONTROL_CORE_TIMEOUT_BASE_4 2
271 #define TA_AGENT_CONTROL_CORE_TIMEOUT_BASE_16 3
272 #define TA_AGENT_CONTROL_CORE_TIMEOUT_BASE_64 4
273 #define TA_AGENT_CONTROL_CORE_SERROR_REP __BIT(24)
274 #define TA_AGENT_CONTROL_CORE_REQ_TIMEOUT_REP __BIT(25)
277 * OMAP2_TA_AGENT_STATUS bits
279 #define TA_AGENT_STATUS_CORE_RESET __BIT(0)
280 #define TA_AGENT_STATUS_RESVa __BITS(3,1)
281 #define TA_AGENT_STATUS_REQ_WAITING __BIT(4)
282 #define TA_AGENT_STATUS_RESP_ACTIVE __BIT(5)
283 #define TA_AGENT_STATUS_BURST __BIT(6)
284 #define TA_AGENT_STATUS_READEX __BIT(7)
285 #define TA_AGENT_STATUS_REQ_TIMEOUT __BIT(8)
286 #define TA_AGENT_STATUS_RESVb __BITS(11,9)
287 #define TA_AGENT_STATUS_TIMEBASE __BITS(15,12)
288 #define TA_AGENT_STATUS_BURST_CLOSE __BIT(16)
289 #define TA_AGENT_STATUS_RESVc __BITS(23,17)
290 #define TA_AGENT_STATUS_SERROR __BIT(24) /* XXX */
291 #define TA_AGENT_STATUS_RESVd __BITS(31,25)
294 * OMAP2_TA_ERROR_LOG bits
296 #define TA_ERROR_LOG_CMD __BITS(2,0)
297 #define TA_ERROR_LOG_RESa __BITS(7,3)
298 #define TA_ERROR_LOG_INITID __BITS(15,8) /* initiator */
299 #define TA_ERROR_LOG_RESb __BITS(23,16)
300 #define TA_ERROR_LOG_CODE __BITS(27,24) /* error */
301 #define TA_ERROR_LOG_RESc __BITS(30,28)
302 #define TA_ERROR_LOG_MULTI __BIT(31) /* write to clear */
305 * L4 Interconnect CORE address space
307 #define OMAP2430_L4_S3220_2430_WATCHDOGOCP24 0x48027000
308 #define OMAP2430_L4_S3220_2430_DMTIMER_DMC2 0x4802B000
309 #define OMAP2430_L4_S3220_2430_AP 0x48040000
310 #define OMAP2430_L4_S3220_2430_IA 0x48040800
311 #define OMAP2430_L4_S3220_2430_LA 0x48041000
312 #define OMAP2430_L4_S3220_2430_MPU_SS 0x4804A000
313 #define OMAP2430_L4_S3220_2430_DISPLAY_SUBS 0x48051000
314 #define OMAP2430_L4_S3220_2430_CAMERA_CORE 0x48053000
315 #define OMAP2430_L4_S3220_2430_SDMA 0x48057000
316 #define OMAP2430_L4_S3220_2430_SSI 0x4805C000
317 #define OMAP2430_L4_S3220_2430_USB_OTG_FS 0x4805F000
318 #define OMAP2430_L4_S3220_2430_XTI 0x48069000
319 #define OMAP2430_L4_S3220_2430_UART1 0x4806B000
320 #define OMAP2430_L4_S3220_2430_UART2 0x4806D000
321 #define OMAP2430_L4_S3220_2430_UART3 0x4806F000
322 #define OMAP2430_L4_S3220_2430_MSHSI2C1 0x48071000
323 #define OMAP2430_L4_S3220_2430_MSHSI2C2 0x48073000
324 #define OMAP2430_L4_S3220_2430_MCBSP1 0x48075000
325 #define OMAP2430_L4_S3220_2430_MCBSP2 0x48077000
326 #define OMAP2430_L4_S3220_2430_DMTIMER_DMC3 0x48079000
327 #define OMAP2430_L4_S3220_2430_DMTIMER_DMC4 0x4807B000
328 #define OMAP2430_L4_S3220_2430_DMTIMER_DMC5 0x4807D000
329 #define OMAP2430_L4_S3220_2430_DMTIMER_DMC6 0x4807F000
330 #define OMAP2430_L4_S3220_2430_DMTIMER_DMC7 0x48081000
331 #define OMAP2430_L4_S3220_2430_DMTIMER_DMC8 0x48083000
332 #define OMAP2430_L4_S3220_2430_DMTIMER_DMC9 0x48085000
333 #define OMAP2430_L4_S3220_2430_DMTIMER_DMC10 0x48087000
334 #define OMAP2430_L4_S3220_2430_DMTIMER_DMC11 0x48089000
335 #define OMAP2430_L4_S3220_2430_DMTIMER_DMC12 0x4808B000
336 #define OMAP2430_L4_S3220_2430_MCBSP3 0x4808D000
337 #define OMAP2430_L4_S3220_2430_MCBSP4 0x4808F000
338 #define OMAP2430_L4_S3220_2430_FAC 0x48093000
339 #define OMAP2430_L4_S3220_2430_MAILBOX1 0x48095000
340 #define OMAP2430_L4_S3220_2430_MCBSP5 0x48097000
341 #define OMAP2430_L4_S3220_2430_MCSPI1 0x48099000
342 #define OMAP2430_L4_S3220_2430_MCSPI2 0x4809B000
343 #define OMAP2430_L4_S3220_2430_MMCHS1 0x4809D000
344 #define OMAP2430_L4_S3220_2430_MSPRO 0x4809F000
345 #define OMAP2430_L4_S3220_2430_RNG 0x480A1000
346 #define OMAP2430_L4_S3220_2430_DESOCP 0x480A3000
347 #define OMAP2430_L4_S3220_2430_SHA1MD5OCP 0x480A5000
348 #define OMAP2430_L4_S3220_2430_AESOCP 0x480A7000
349 #define OMAP2430_L4_S3220_2430_PKA 0x480AA000
350 #define OMAP2430_L4_S3220_2430_USBHHCOCP 0x480AE000
351 #define OMAP2430_L4_S3220_2430_MGATE 0x480B1000
352 #define OMAP2430_L4_S3220_2430_HDQ1WOCP 0x480B3000
353 #define OMAP2430_L4_S3220_2430_MMCHS2 0x480B5000
354 #define OMAP2430_L4_S3220_2430_GPIO 0x480B7000
355 #define OMAP2430_L4_S3220_2430_MCSPI3 0x480B9000
356 #define OMAP2430_L4_S3220_2430_MODEM_INTH 0x480C3000
359 * L3 Interconnect Sideband Interconnect register base
361 #define OMAP2_SI_BASE 0x68000400
364 * L3 Interconnect Sideband Interconnect register offsets
366 #define OMAP2_SI_CONTOL 0x0020
367 #define OMAP2_SI_FLAG_STATUS_0 0x0110 /* APE_app */
368 #define OMAP2_SI_FLAG_STATUS_1 0x0130 /* APE_dbg */
369 #define OMAP2_SI_FLAG_STATUS_2 0x0150 /* MODEM_app */
370 #define OMAP2_SI_FLAG_STATUS_3 0x0170 /* MODEM_dbg */
373 * Interrupts
375 #define INTC_BASE 0x480FE000
376 #define INTC_BASE_3530 0x48200000
377 #define INTC_REVISISON 0x0000
378 #define INTC_SYSCONFIG 0x0010
379 #define INTC_SYSSTATUS 0x0014
380 #define INTC_SIR_IRQ 0x0040 /* active IRQ */
381 #define INTC_SIR_FIQ 0x0044 /* active FIQ */
382 #define INTC_CONTROL 0x0048
383 #define INTC_PROTECTION 0x004c
384 #define INTC_IDLE 0x0050
386 #define INTC_ITR 0x0080 /* unmask intr state */
387 #define INTC_MIR 0x0084 /* intr mask */
388 #define INTC_MIR_CLEAR 0x0088 /* clr intr mask bits */
389 #define INTC_MIR_SET 0x008c /* set intr mask bits */
390 #define INTC_ISR_SET 0x0090 /* r/w soft intr mask */
391 #define INTC_ISR_CLEAR 0x0094 /* clr soft intr mask */
392 #define INTC_PENDING_IRQ 0x0098 /* masked irq state */
393 #define INTC_PENDING_FIQ 0x009c /* masked fiq state */
395 #define INTC_ILR 0x0100
397 #define INTC_SYSCONFIG_SOFTRESET 0x2
398 #define INTC_SYSCONFIG_AUTOIDLE 0x1
400 #define INTC_SYSSTATUS_RESETDONE 0x1
402 #define INTC_CONTROL_GLOBALMASK 0x4 /* All IRQ & FIQ are masked */
403 #define INTC_CONTROL_NEWFIQAGR 0x2
404 #define INTC_CONTROL_NEWIRQAGR 0x1
406 #define INTC_PROTECTION_ENABLED 0x1 /* only diddle if prived */
408 #define INTC_IDLE_TURBO 0x2
409 #define INTC_IDLE_FUNCIDLE 0x1
411 #define INTC_ILR_PRIORTY_SHFT 2
412 #define INTC_ILR_FIQNIRQ 0x1 /* intr is a FIQ */
415 * GPT - General Purpose Timers
417 #define GPT1_BASE 0x48028000
418 #define GPT2_BASE 0x4802a000
419 #define GPT3_BASE 0x48078000
420 #define GPT4_BASE 0x4807a000
421 #define GPT5_BASE 0x4807c000
422 #define GPT6_BASE 0x4807e000
423 #define GPT7_BASE 0x48080000
424 #define GPT8_BASE 0x48082000
425 #define GPT9_BASE 0x48084000
426 #define GPT10_BASE 0x48086000
427 #define GPT11_BASE 0x48088000
428 #define GPT12_BASE 0x4808a000
431 * GPIO
433 #define GPIO1_BASE_2430 0x4900c000
434 #define GPIO2_BASE_2430 0x4900e000
435 #define GPIO3_BASE_2430 0x49010000
436 #define GPIO4_BASE_2430 0x49012000
437 #define GPIO5_BASE_2430 0x480b6000
439 #define GPIO1_BASE_2420 0x48018000
440 #define GPIO2_BASE_2420 0x4801a000
441 #define GPIO3_BASE_2420 0x4801c000
442 #define GPIO4_BASE_2420 0x4801e000
444 #define GPIO1_BASE_3530 0x48310000
445 #define GPIO2_BASE_3530 0x49050000
446 #define GPIO3_BASE_3530 0x49052000
447 #define GPIO4_BASE_3530 0x49054000
448 #define GPIO5_BASE_3530 0x49056000
449 #define GPIO6_BASE_3530 0x49058000
451 #define GPIO_IRQSTATUS1 0x018
452 #define GPIO_IRQENABLE1 0x01c
453 #define GPIO_WAKEUPENABLE 0x020
454 #define GPIO_IRQSTATUS2 0x028
455 #define GPIO_IRQENABLE2 0x02c
456 #define GPIO_CTRL 0x030
457 #define GPIO_OE 0x034
458 #define GPIO_DATAIN 0x038
459 #define GPIO_DATAOUT 0x03c
460 #define GPIO_LEVELDETECT0 0x040
461 #define GPIO_LEVELDETECT1 0x044
462 #define GPIO_RISINGDETECT 0x048
463 #define GPIO_FALLINGDETECT 0x04c
464 #define GPIO_DEBOUNCENABLE 0x050
465 #define GPIO_DEBOUNINGTIME 0x054
466 #define GPIO_CLEARIRQENABLE1 0x060
467 #define GPIO_SETIRQENABLE1 0x064
468 #define GPIO_CLEARIRQENABLE2 0x070
469 #define GPIO_SETIRQENABLE2 0x074
470 #define GPIO_CLEANWKUENA 0x080
471 #define GPIO_SETWKUENA 0x084
472 #define GPIO_CLEARDATAOUT 0x090
473 #define GPIO_SETDATAOUT 0x094
475 #endif /* _ARM_OMAP_OMAP2_REG_H_ */