aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/mach-davinci/include/mach/irqs.h
diff options
context:
space:
mode:
authorMark A. Greer <mgreer@mvista.com>2009-06-03 21:36:54 -0400
committerKevin Hilman <khilman@deeprootsystems.com>2009-08-26 03:56:59 -0400
commit55c79a40e34566e9d198f6205b0cf06e3d89ac0a (patch)
treedb18d12effb87c61cfe4d14635feb7807dd0be42 /arch/arm/mach-davinci/include/mach/irqs.h
parentff255c6caa389c90c68f5421f60ebfc40b68ea1b (diff)
davinci: da8xx: Add base DA830/OMAP-L137 SoC support
The da830/omap l137 is a new SoC from TI that is similar to the davinci line. Since its so similar to davinci, put the support for the da830 in the same directory as the davinci code. There are differences, however. Some of those differences prevent support for davinci and da830 platforms to work in the same kernel binary. Those differences are: 1) Different physical address for RAM. This is relevant to Makefile.boot addresses and PHYS_OFFSET. The Makefile.boot issue isn't truly a kernel issue but it means u-boot won't work with a uImage including both architectures. The PHYS_OFFSET issue is addressed by the "Allow for runtime-determined PHYS_OFFSET" patch by Lennert Buytenhek but it hasn't been accepted yet. 2) Different uart addresses. This is only an issue for the 'addruart' assembly macro when CONFIG_DEBUG_LL is enabled. Since the code in that macro is called so early (e.g., by _error_p in kernel/head.S when the processor lookup fails), we can't determine what platform the kernel is running on at runtime to use the correct uart address. These areas have compile errors intentionally inserted to indicate to the builder they're doing something wrong. A new config variable, CONFIG_ARCH_DAVINCI_DMx, is added to distinguish between a true davinci architecture and the da830 architecture. Note that the da830 currently has an issue with writeback data cache so CONFIG_CPU_DCACHE_WRITETHROUGH should be enabled when building a da830 kernel. Additional generalizations for future SoCs in the da8xx family done by Sudhakar Rajashekhara and Sekhar Nori. Signed-off-by: Steve Chen <schen@mvista.com> Signed-off-by: Mikhail Cherkashin <mcherkashin@ru.mvista.com> Signed-off-by: Mark A. Greer <mgreer@mvista.com> Cc: Sudhakar Rajashekhara <sudhakar.raj@ti.com> Cc: Sekhar Nori <nsekhar@ti.com> Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
Diffstat (limited to 'arch/arm/mach-davinci/include/mach/irqs.h')
-rw-r--r--arch/arm/mach-davinci/include/mach/irqs.h109
1 files changed, 106 insertions, 3 deletions
diff --git a/arch/arm/mach-davinci/include/mach/irqs.h b/arch/arm/mach-davinci/include/mach/irqs.h
index 0d34f2fb0993..735e378d27ee 100644
--- a/arch/arm/mach-davinci/include/mach/irqs.h
+++ b/arch/arm/mach-davinci/include/mach/irqs.h
@@ -99,9 +99,6 @@
99#define IRQ_EMUINT 63 99#define IRQ_EMUINT 63
100 100
101#define DAVINCI_N_AINTC_IRQ 64 101#define DAVINCI_N_AINTC_IRQ 64
102#define DAVINCI_N_GPIO 104
103
104#define NR_IRQS (DAVINCI_N_AINTC_IRQ + DAVINCI_N_GPIO)
105 102
106#define ARCH_TIMER_IRQ IRQ_TINT1_TINT34 103#define ARCH_TIMER_IRQ IRQ_TINT1_TINT34
107 104
@@ -242,4 +239,110 @@
242#define IRQ_DM365_TCERRINT3 62 239#define IRQ_DM365_TCERRINT3 62
243#define IRQ_DM365_EMUINT 63 240#define IRQ_DM365_EMUINT 63
244 241
242/* DA8XX interrupts */
243#define IRQ_DA8XX_COMMTX 0
244#define IRQ_DA8XX_COMMRX 1
245#define IRQ_DA8XX_NINT 2
246#define IRQ_DA8XX_EVTOUT0 3
247#define IRQ_DA8XX_EVTOUT1 4
248#define IRQ_DA8XX_EVTOUT2 5
249#define IRQ_DA8XX_EVTOUT3 6
250#define IRQ_DA8XX_EVTOUT4 7
251#define IRQ_DA8XX_EVTOUT5 8
252#define IRQ_DA8XX_EVTOUT6 9
253#define IRQ_DA8XX_EVTOUT7 10
254#define IRQ_DA8XX_CCINT0 11
255#define IRQ_DA8XX_CCERRINT 12
256#define IRQ_DA8XX_TCERRINT0 13
257#define IRQ_DA8XX_AEMIFINT 14
258#define IRQ_DA8XX_I2CINT0 15
259#define IRQ_DA8XX_MMCSDINT0 16
260#define IRQ_DA8XX_MMCSDINT1 17
261#define IRQ_DA8XX_ALLINT0 18
262#define IRQ_DA8XX_RTC 19
263#define IRQ_DA8XX_SPINT0 20
264#define IRQ_DA8XX_TINT12_0 21
265#define IRQ_DA8XX_TINT34_0 22
266#define IRQ_DA8XX_TINT12_1 23
267#define IRQ_DA8XX_TINT34_1 24
268#define IRQ_DA8XX_UARTINT0 25
269#define IRQ_DA8XX_KEYMGRINT 26
270#define IRQ_DA8XX_SECINT 26
271#define IRQ_DA8XX_SECKEYERR 26
272#define IRQ_DA8XX_CHIPINT0 28
273#define IRQ_DA8XX_CHIPINT1 29
274#define IRQ_DA8XX_CHIPINT2 30
275#define IRQ_DA8XX_CHIPINT3 31
276#define IRQ_DA8XX_TCERRINT1 32
277#define IRQ_DA8XX_C0_RX_THRESH_PULSE 33
278#define IRQ_DA8XX_C0_RX_PULSE 34
279#define IRQ_DA8XX_C0_TX_PULSE 35
280#define IRQ_DA8XX_C0_MISC_PULSE 36
281#define IRQ_DA8XX_C1_RX_THRESH_PULSE 37
282#define IRQ_DA8XX_C1_RX_PULSE 38
283#define IRQ_DA8XX_C1_TX_PULSE 39
284#define IRQ_DA8XX_C1_MISC_PULSE 40
285#define IRQ_DA8XX_MEMERR 41
286#define IRQ_DA8XX_GPIO0 42
287#define IRQ_DA8XX_GPIO1 43
288#define IRQ_DA8XX_GPIO2 44
289#define IRQ_DA8XX_GPIO3 45
290#define IRQ_DA8XX_GPIO4 46
291#define IRQ_DA8XX_GPIO5 47
292#define IRQ_DA8XX_GPIO6 48
293#define IRQ_DA8XX_GPIO7 49
294#define IRQ_DA8XX_GPIO8 50
295#define IRQ_DA8XX_I2CINT1 51
296#define IRQ_DA8XX_LCDINT 52
297#define IRQ_DA8XX_UARTINT1 53
298#define IRQ_DA8XX_MCASPINT 54
299#define IRQ_DA8XX_ALLINT1 55
300#define IRQ_DA8XX_SPINT1 56
301#define IRQ_DA8XX_UHPI_INT1 57
302#define IRQ_DA8XX_USB_INT 58
303#define IRQ_DA8XX_IRQN 59
304#define IRQ_DA8XX_RWAKEUP 60
305#define IRQ_DA8XX_UARTINT2 61
306#define IRQ_DA8XX_DFTSSINT 62
307#define IRQ_DA8XX_EHRPWM0 63
308#define IRQ_DA8XX_EHRPWM0TZ 64
309#define IRQ_DA8XX_EHRPWM1 65
310#define IRQ_DA8XX_EHRPWM1TZ 66
311#define IRQ_DA8XX_ECAP0 69
312#define IRQ_DA8XX_ECAP1 70
313#define IRQ_DA8XX_ECAP2 71
314#define IRQ_DA8XX_ARMCLKSTOPREQ 90
315
316/* DA830 specific interrupts */
317#define IRQ_DA830_MPUERR 27
318#define IRQ_DA830_IOPUERR 27
319#define IRQ_DA830_BOOTCFGERR 27
320#define IRQ_DA830_EHRPWM2 67
321#define IRQ_DA830_EHRPWM2TZ 68
322#define IRQ_DA830_EQEP0 72
323#define IRQ_DA830_EQEP1 73
324#define IRQ_DA830_T12CMPINT0_0 74
325#define IRQ_DA830_T12CMPINT1_0 75
326#define IRQ_DA830_T12CMPINT2_0 76
327#define IRQ_DA830_T12CMPINT3_0 77
328#define IRQ_DA830_T12CMPINT4_0 78
329#define IRQ_DA830_T12CMPINT5_0 79
330#define IRQ_DA830_T12CMPINT6_0 80
331#define IRQ_DA830_T12CMPINT7_0 81
332#define IRQ_DA830_T12CMPINT0_1 82
333#define IRQ_DA830_T12CMPINT1_1 83
334#define IRQ_DA830_T12CMPINT2_1 84
335#define IRQ_DA830_T12CMPINT3_1 85
336#define IRQ_DA830_T12CMPINT4_1 86
337#define IRQ_DA830_T12CMPINT5_1 87
338#define IRQ_DA830_T12CMPINT6_1 88
339#define IRQ_DA830_T12CMPINT7_1 89
340
341#define DA830_N_CP_INTC_IRQ 96
342
343/* da830 currently has the most gpio pins (128) */
344#define DAVINCI_N_GPIO 128
345/* da830 currently has the most irqs so use DA830_N_CP_INTC_IRQ */
346#define NR_IRQS (DA830_N_CP_INTC_IRQ + DAVINCI_N_GPIO)
347
245#endif /* __ASM_ARCH_IRQS_H */ 348#endif /* __ASM_ARCH_IRQS_H */