diff options
Diffstat (limited to 'arch/arm/mach-integrator')
-rw-r--r-- | arch/arm/mach-integrator/include/mach/irqs.h | 109 | ||||
-rw-r--r-- | arch/arm/mach-integrator/integrator_ap.c | 5 | ||||
-rw-r--r-- | arch/arm/mach-integrator/integrator_cp.c | 6 |
3 files changed, 57 insertions, 63 deletions
diff --git a/arch/arm/mach-integrator/include/mach/irqs.h b/arch/arm/mach-integrator/include/mach/irqs.h index 7371018455d2..eff0adad9ae3 100644 --- a/arch/arm/mach-integrator/include/mach/irqs.h +++ b/arch/arm/mach-integrator/include/mach/irqs.h | |||
@@ -19,64 +19,63 @@ | |||
19 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | 19 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA |
20 | */ | 20 | */ |
21 | 21 | ||
22 | /* | 22 | /* |
23 | * Interrupt numbers | 23 | * Interrupt numbers, all of the above are just static reservations |
24 | * used so they can be encoded into device resources. They will finally | ||
25 | * be done away with when switching to device tree. | ||
24 | */ | 26 | */ |
25 | #define IRQ_PIC_START 1 | 27 | #define IRQ_PIC_START 64 |
26 | #define IRQ_SOFTINT 1 | 28 | #define IRQ_SOFTINT (IRQ_PIC_START+0) |
27 | #define IRQ_UARTINT0 2 | 29 | #define IRQ_UARTINT0 (IRQ_PIC_START+1) |
28 | #define IRQ_UARTINT1 3 | 30 | #define IRQ_UARTINT1 (IRQ_PIC_START+2) |
29 | #define IRQ_KMIINT0 4 | 31 | #define IRQ_KMIINT0 (IRQ_PIC_START+3) |
30 | #define IRQ_KMIINT1 5 | 32 | #define IRQ_KMIINT1 (IRQ_PIC_START+4) |
31 | #define IRQ_TIMERINT0 6 | 33 | #define IRQ_TIMERINT0 (IRQ_PIC_START+5) |
32 | #define IRQ_TIMERINT1 7 | 34 | #define IRQ_TIMERINT1 (IRQ_PIC_START+6) |
33 | #define IRQ_TIMERINT2 8 | 35 | #define IRQ_TIMERINT2 (IRQ_PIC_START+7) |
34 | #define IRQ_RTCINT 9 | 36 | #define IRQ_RTCINT (IRQ_PIC_START+8) |
35 | #define IRQ_AP_EXPINT0 10 | 37 | #define IRQ_AP_EXPINT0 (IRQ_PIC_START+9) |
36 | #define IRQ_AP_EXPINT1 11 | 38 | #define IRQ_AP_EXPINT1 (IRQ_PIC_START+10) |
37 | #define IRQ_AP_EXPINT2 12 | 39 | #define IRQ_AP_EXPINT2 (IRQ_PIC_START+11) |
38 | #define IRQ_AP_EXPINT3 13 | 40 | #define IRQ_AP_EXPINT3 (IRQ_PIC_START+12) |
39 | #define IRQ_AP_PCIINT0 14 | 41 | #define IRQ_AP_PCIINT0 (IRQ_PIC_START+13) |
40 | #define IRQ_AP_PCIINT1 15 | 42 | #define IRQ_AP_PCIINT1 (IRQ_PIC_START+14) |
41 | #define IRQ_AP_PCIINT2 16 | 43 | #define IRQ_AP_PCIINT2 (IRQ_PIC_START+15) |
42 | #define IRQ_AP_PCIINT3 17 | 44 | #define IRQ_AP_PCIINT3 (IRQ_PIC_START+16) |
43 | #define IRQ_AP_V3INT 18 | 45 | #define IRQ_AP_V3INT (IRQ_PIC_START+17) |
44 | #define IRQ_AP_CPINT0 19 | 46 | #define IRQ_AP_CPINT0 (IRQ_PIC_START+18) |
45 | #define IRQ_AP_CPINT1 20 | 47 | #define IRQ_AP_CPINT1 (IRQ_PIC_START+19) |
46 | #define IRQ_AP_LBUSTIMEOUT 21 | 48 | #define IRQ_AP_LBUSTIMEOUT (IRQ_PIC_START+20) |
47 | #define IRQ_AP_APCINT 22 | 49 | #define IRQ_AP_APCINT (IRQ_PIC_START+21) |
48 | #define IRQ_CP_CLCDCINT 23 | 50 | #define IRQ_CP_CLCDCINT (IRQ_PIC_START+22) |
49 | #define IRQ_CP_MMCIINT0 24 | 51 | #define IRQ_CP_MMCIINT0 (IRQ_PIC_START+23) |
50 | #define IRQ_CP_MMCIINT1 25 | 52 | #define IRQ_CP_MMCIINT1 (IRQ_PIC_START+24) |
51 | #define IRQ_CP_AACIINT 26 | 53 | #define IRQ_CP_AACIINT (IRQ_PIC_START+25) |
52 | #define IRQ_CP_CPPLDINT 27 | 54 | #define IRQ_CP_CPPLDINT (IRQ_PIC_START+26) |
53 | #define IRQ_CP_ETHINT 28 | 55 | #define IRQ_CP_ETHINT (IRQ_PIC_START+27) |
54 | #define IRQ_CP_TSPENINT 29 | 56 | #define IRQ_CP_TSPENINT (IRQ_PIC_START+28) |
55 | #define IRQ_PIC_END 29 | 57 | #define IRQ_PIC_END (IRQ_PIC_START+28) |
56 | 58 | ||
57 | #define IRQ_CIC_START 32 | 59 | #define IRQ_CIC_START (IRQ_PIC_END+1) |
58 | #define IRQ_CM_SOFTINT 32 | 60 | #define IRQ_CM_SOFTINT (IRQ_CIC_START+0) |
59 | #define IRQ_CM_COMMRX 33 | 61 | #define IRQ_CM_COMMRX (IRQ_CIC_START+1) |
60 | #define IRQ_CM_COMMTX 34 | 62 | #define IRQ_CM_COMMTX (IRQ_CIC_START+2) |
61 | #define IRQ_CIC_END 34 | 63 | #define IRQ_CIC_END (IRQ_CIC_START+2) |
62 | 64 | ||
63 | /* | 65 | /* |
64 | * IntegratorCP only | 66 | * IntegratorCP only |
65 | */ | 67 | */ |
66 | #define IRQ_SIC_START 35 | 68 | #define IRQ_SIC_START (IRQ_CIC_END+1) |
67 | #define IRQ_SIC_CP_SOFTINT 35 | 69 | #define IRQ_SIC_CP_SOFTINT (IRQ_SIC_START+0) |
68 | #define IRQ_SIC_CP_RI0 36 | 70 | #define IRQ_SIC_CP_RI0 (IRQ_SIC_START+1) |
69 | #define IRQ_SIC_CP_RI1 37 | 71 | #define IRQ_SIC_CP_RI1 (IRQ_SIC_START+2) |
70 | #define IRQ_SIC_CP_CARDIN 38 | 72 | #define IRQ_SIC_CP_CARDIN (IRQ_SIC_START+3) |
71 | #define IRQ_SIC_CP_LMINT0 39 | 73 | #define IRQ_SIC_CP_LMINT0 (IRQ_SIC_START+4) |
72 | #define IRQ_SIC_CP_LMINT1 40 | 74 | #define IRQ_SIC_CP_LMINT1 (IRQ_SIC_START+5) |
73 | #define IRQ_SIC_CP_LMINT2 41 | 75 | #define IRQ_SIC_CP_LMINT2 (IRQ_SIC_START+6) |
74 | #define IRQ_SIC_CP_LMINT3 42 | 76 | #define IRQ_SIC_CP_LMINT3 (IRQ_SIC_START+7) |
75 | #define IRQ_SIC_CP_LMINT4 43 | 77 | #define IRQ_SIC_CP_LMINT4 (IRQ_SIC_START+8) |
76 | #define IRQ_SIC_CP_LMINT5 44 | 78 | #define IRQ_SIC_CP_LMINT5 (IRQ_SIC_START+9) |
77 | #define IRQ_SIC_CP_LMINT6 45 | 79 | #define IRQ_SIC_CP_LMINT6 (IRQ_SIC_START+10) |
78 | #define IRQ_SIC_CP_LMINT7 46 | 80 | #define IRQ_SIC_CP_LMINT7 (IRQ_SIC_START+11) |
79 | #define IRQ_SIC_END 46 | 81 | #define IRQ_SIC_END (IRQ_SIC_START+11) |
80 | |||
81 | #define NR_IRQS_INTEGRATOR_AP 34 | ||
82 | #define NR_IRQS_INTEGRATOR_CP 47 | ||
diff --git a/arch/arm/mach-integrator/integrator_ap.c b/arch/arm/mach-integrator/integrator_ap.c index a0a7cbbb7a70..11e2a4145807 100644 --- a/arch/arm/mach-integrator/integrator_ap.c +++ b/arch/arm/mach-integrator/integrator_ap.c | |||
@@ -31,6 +31,7 @@ | |||
31 | #include <linux/clockchips.h> | 31 | #include <linux/clockchips.h> |
32 | #include <linux/interrupt.h> | 32 | #include <linux/interrupt.h> |
33 | #include <linux/io.h> | 33 | #include <linux/io.h> |
34 | #include <linux/irqchip/versatile-fpga.h> | ||
34 | #include <linux/mtd/physmap.h> | 35 | #include <linux/mtd/physmap.h> |
35 | #include <linux/clk.h> | 36 | #include <linux/clk.h> |
36 | #include <linux/platform_data/clk-integrator.h> | 37 | #include <linux/platform_data/clk-integrator.h> |
@@ -59,8 +60,6 @@ | |||
59 | #include <asm/mach/pci.h> | 60 | #include <asm/mach/pci.h> |
60 | #include <asm/mach/time.h> | 61 | #include <asm/mach/time.h> |
61 | 62 | ||
62 | #include <plat/fpga-irq.h> | ||
63 | |||
64 | #include "common.h" | 63 | #include "common.h" |
65 | 64 | ||
66 | /* Base address to the AP system controller */ | 65 | /* Base address to the AP system controller */ |
@@ -584,7 +583,6 @@ static const char * ap_dt_board_compat[] = { | |||
584 | DT_MACHINE_START(INTEGRATOR_AP_DT, "ARM Integrator/AP (Device Tree)") | 583 | DT_MACHINE_START(INTEGRATOR_AP_DT, "ARM Integrator/AP (Device Tree)") |
585 | .reserve = integrator_reserve, | 584 | .reserve = integrator_reserve, |
586 | .map_io = ap_map_io, | 585 | .map_io = ap_map_io, |
587 | .nr_irqs = NR_IRQS_INTEGRATOR_AP, | ||
588 | .init_early = ap_init_early, | 586 | .init_early = ap_init_early, |
589 | .init_irq = ap_init_irq_of, | 587 | .init_irq = ap_init_irq_of, |
590 | .handle_irq = fpga_handle_irq, | 588 | .handle_irq = fpga_handle_irq, |
@@ -715,7 +713,6 @@ MACHINE_START(INTEGRATOR, "ARM-Integrator") | |||
715 | .atag_offset = 0x100, | 713 | .atag_offset = 0x100, |
716 | .reserve = integrator_reserve, | 714 | .reserve = integrator_reserve, |
717 | .map_io = ap_map_io_atag, | 715 | .map_io = ap_map_io_atag, |
718 | .nr_irqs = NR_IRQS_INTEGRATOR_AP, | ||
719 | .init_early = ap_init_early, | 716 | .init_early = ap_init_early, |
720 | .init_irq = ap_init_irq, | 717 | .init_irq = ap_init_irq, |
721 | .handle_irq = fpga_handle_irq, | 718 | .handle_irq = fpga_handle_irq, |
diff --git a/arch/arm/mach-integrator/integrator_cp.c b/arch/arm/mach-integrator/integrator_cp.c index 29df06b35d0d..7322838c0447 100644 --- a/arch/arm/mach-integrator/integrator_cp.c +++ b/arch/arm/mach-integrator/integrator_cp.c | |||
@@ -20,6 +20,7 @@ | |||
20 | #include <linux/amba/clcd.h> | 20 | #include <linux/amba/clcd.h> |
21 | #include <linux/amba/mmci.h> | 21 | #include <linux/amba/mmci.h> |
22 | #include <linux/io.h> | 22 | #include <linux/io.h> |
23 | #include <linux/irqchip/versatile-fpga.h> | ||
23 | #include <linux/gfp.h> | 24 | #include <linux/gfp.h> |
24 | #include <linux/mtd/physmap.h> | 25 | #include <linux/mtd/physmap.h> |
25 | #include <linux/platform_data/clk-integrator.h> | 26 | #include <linux/platform_data/clk-integrator.h> |
@@ -47,7 +48,6 @@ | |||
47 | #include <asm/hardware/timer-sp.h> | 48 | #include <asm/hardware/timer-sp.h> |
48 | 49 | ||
49 | #include <plat/clcd.h> | 50 | #include <plat/clcd.h> |
50 | #include <plat/fpga-irq.h> | ||
51 | #include <plat/sched_clock.h> | 51 | #include <plat/sched_clock.h> |
52 | 52 | ||
53 | #include "common.h" | 53 | #include "common.h" |
@@ -387,7 +387,6 @@ static const char * intcp_dt_board_compat[] = { | |||
387 | DT_MACHINE_START(INTEGRATOR_CP_DT, "ARM Integrator/CP (Device Tree)") | 387 | DT_MACHINE_START(INTEGRATOR_CP_DT, "ARM Integrator/CP (Device Tree)") |
388 | .reserve = integrator_reserve, | 388 | .reserve = integrator_reserve, |
389 | .map_io = intcp_map_io, | 389 | .map_io = intcp_map_io, |
390 | .nr_irqs = NR_IRQS_INTEGRATOR_CP, | ||
391 | .init_early = intcp_init_early, | 390 | .init_early = intcp_init_early, |
392 | .init_irq = intcp_init_irq_of, | 391 | .init_irq = intcp_init_irq_of, |
393 | .handle_irq = fpga_handle_irq, | 392 | .handle_irq = fpga_handle_irq, |
@@ -482,7 +481,7 @@ static void __init intcp_init_irq(void) | |||
482 | u32 pic_mask, cic_mask, sic_mask; | 481 | u32 pic_mask, cic_mask, sic_mask; |
483 | 482 | ||
484 | /* These masks are for the HW IRQ registers */ | 483 | /* These masks are for the HW IRQ registers */ |
485 | pic_mask = ~((~0u) << (11 - IRQ_PIC_START)); | 484 | pic_mask = ~((~0u) << (11 - 0)); |
486 | pic_mask |= (~((~0u) << (29 - 22))) << 22; | 485 | pic_mask |= (~((~0u) << (29 - 22))) << 22; |
487 | cic_mask = ~((~0u) << (1 + IRQ_CIC_END - IRQ_CIC_START)); | 486 | cic_mask = ~((~0u) << (1 + IRQ_CIC_END - IRQ_CIC_START)); |
488 | sic_mask = ~((~0u) << (1 + IRQ_SIC_END - IRQ_SIC_START)); | 487 | sic_mask = ~((~0u) << (1 + IRQ_SIC_END - IRQ_SIC_START)); |
@@ -563,7 +562,6 @@ MACHINE_START(CINTEGRATOR, "ARM-IntegratorCP") | |||
563 | .atag_offset = 0x100, | 562 | .atag_offset = 0x100, |
564 | .reserve = integrator_reserve, | 563 | .reserve = integrator_reserve, |
565 | .map_io = intcp_map_io_atag, | 564 | .map_io = intcp_map_io_atag, |
566 | .nr_irqs = NR_IRQS_INTEGRATOR_CP, | ||
567 | .init_early = intcp_init_early, | 565 | .init_early = intcp_init_early, |
568 | .init_irq = intcp_init_irq, | 566 | .init_irq = intcp_init_irq, |
569 | .handle_irq = fpga_handle_irq, | 567 | .handle_irq = fpga_handle_irq, |