OpenCores
URL https://opencores.org/ocsvn/c0or1k/c0or1k/trunk

Subversion Repositories c0or1k

[/] [c0or1k/] [trunk/] [include/] [l4/] [platform/] [eb/] [irq.h] - Blame information for rev 6

Go to most recent revision | Details | Compare with Previous | View Log

Line No. Rev Author Line
1 2 drasko
/*
2
 * Copyright (C) 2009 B Labs Ltd.
3
 */
4
 
5
#ifndef __PLATFORM_IRQ_H__
6
#define __PLATFORM_IRQ_H__
7
 
8
/* Actually there are 4 GIC's on the EB, only 2 are used for tile site 1 */
9
#define IRQ_CHIPS_MAX           2
10
 
11
#if defined(CONFIG_CPU_ARM11MPCORE) || defined (CONFIG_CPU_CORTEXA9)
12
#define IRQS_MAX                64
13
#else
14
#define IRQS_MAX                96
15
#endif
16
 
17
/*
18
 * Interrupt Distribution:
19
 * 0-31: Used as SI provided by distributed interrupt controller
20
 * 32-63: Externel Peripheral Interrupts
21
 * 64-71: Interrupts from tile site 1
22
 * 72-79: Interrupts from tile site 2
23
 * 80-95: PCI and reserved Interrupts
24
 */
25
#define EB_GIC_IRQ_OFFSET          32
26
#define EB_IRQ_WATCHDOG         (EB_GIC_IRQ_OFFSET + 0)
27
#define EB_IRQ_SOFTINT          (EB_GIC_IRQ_OFFSET + 1)
28
#define EB_IRQ_COMRX            (EB_GIC_IRQ_OFFSET + 2)
29
#define EB_IRQ_COMTX            (EB_GIC_IRQ_OFFSET + 3)
30
#define EB_IRQ_TIMER01          (EB_GIC_IRQ_OFFSET + 4)
31
#define EB_IRQ_TIMER23          (EB_GIC_IRQ_OFFSET + 5)
32
#define EB_IRQ_GPIO0            (EB_GIC_IRQ_OFFSET + 6)
33
#define EB_IRQ_GPIO1            (EB_GIC_IRQ_OFFSET + 7)
34
#define EB_IRQ_GPIO2            (EB_GIC_IRQ_OFFSET + 8)
35
 
36
#define EB_IRQ_RTC              (EB_GIC_IRQ_OFFSET + 10)
37
#define EB_IRQ_UART0            (EB_GIC_IRQ_OFFSET + 12)
38
#define EB_IRQ_UART1            (EB_GIC_IRQ_OFFSET + 13)
39
#define EB_IRQ_UART2            (EB_GIC_IRQ_OFFSET + 14)
40
#define EB_IRQ_UART3            (EB_GIC_IRQ_OFFSET + 15)
41
#define EB_IRQ_SCI              (EB_GIC_IRQ_OFFSET + 16) /* Smart Card Interface */
42
#define EB_IRQ_MCI0             (EB_GIC_IRQ_OFFSET + 17)
43
#define EB_IRQ_MCI1             (EB_GIC_IRQ_OFFSET + 18)
44
#define EB_IRQ_AACI             (EB_GIC_IRQ_OFFSET + 19) /* Advanced Audio codec */
45
#define EB_IRQ_KMI0             (EB_GIC_IRQ_OFFSET + 20) /* Keyboard */
46
#define EB_IRQ_KMI1             (EB_GIC_IRQ_OFFSET + 21) /* Mouse */
47
#define EB_IRQ_LCD              (EB_GIC_IRQ_OFFSET + 20) /* Character LCD */
48
#define EB_IRQ_DMAC             (EB_GIC_IRQ_OFFSET + 20) /* DMA Controller */
49
 
50
 
51
/* Interrupt Sources to ARM 11 MPCore or EB+A9 MPCore GIC */
52
#define MPCORE_GIC_IRQ_AACI             (EB_GIC_IRQ_OFFSET + 0)
53
#define MPCORE_GIC_IRQ_TIMER01          (EB_GIC_IRQ_OFFSET + 1)
54
#define MPCORE_GIC_IRQ_TIMER23          (EB_GIC_IRQ_OFFSET + 2)
55
#define MPCORE_GIC_IRQ_USB              (EB_GIC_IRQ_OFFSET + 3)
56
#define MPCORE_GIC_IRQ_UART0            (EB_GIC_IRQ_OFFSET + 4)
57
#define MPCORE_GIC_IRQ_UART1            (EB_GIC_IRQ_OFFSET + 5)
58
#define MPCORE_GIC_IRQ_RTC              (EB_GIC_IRQ_OFFSET + 6)
59
#define MPCORE_GIC_IRQ_KMI0             (EB_GIC_IRQ_OFFSET + 7)
60
#define MPCORE_GIC_IRQ_KMI1             (EB_GIC_IRQ_OFFSET + 8)
61
#define MPCORE_GIC_IRQ_ETH              (EB_GIC_IRQ_OFFSET + 9)
62
 
63
/* Interrupt from GIC1 on Base board */
64
#define MPCORE_GIC_IRQ_EB_GIC1          (EB_GIC_IRQ_OFFSET + 10)
65
#define MPCORE_GIC_IRQ_EB_GIC2          (EB_GIC_IRQ_OFFSET + 11)
66
#define MPCORE_GIC_IRQ_EB_GIC3          (EB_GIC_IRQ_OFFSET + 12)
67
#define MPCORE_GIC_IRQ_EB_GIC4          (EB_GIC_IRQ_OFFSET + 13)
68
 
69
#if defined (CONFIG_CPU_ARM11MPCORE) || defined (CONFIG_CPU_CORTEXA9)
70
#define IRQ_TIMER0      MPCORE_GIC_IRQ_TIMER01
71
#define IRQ_TIMER1      MPCORE_GIC_IRQ_TIMER23
72
#define IRQ_KEYBOARD0   MPCORE_GIC_IRQ_TIMER01
73
#define IRQ_MOUSE0      MPCORE_GIC_IRQ_KMI1
74
#else
75
#define IRQ_TIMER0      EB_IRQ_TIMER01
76
#define IRQ_TIMER1      EB_IRQ_TIMER23
77
#define IRQ_KEYBOARD0   EB_IRQ_KMI0
78
#define IRQ_MOUSE0      EB_IRQ_KMI1
79
#endif
80
 
81
#endif /* __PLATFORM_IRQ_H__ */

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.