summaryrefslogtreecommitdiffstats
path: root/bsps/powerpc/shared/irq/irq_init.c
diff options
context:
space:
mode:
Diffstat (limited to 'bsps/powerpc/shared/irq/irq_init.c')
-rw-r--r--bsps/powerpc/shared/irq/irq_init.c17
1 files changed, 15 insertions, 2 deletions
diff --git a/bsps/powerpc/shared/irq/irq_init.c b/bsps/powerpc/shared/irq/irq_init.c
index 1a44992a5b..233c659b85 100644
--- a/bsps/powerpc/shared/irq/irq_init.c
+++ b/bsps/powerpc/shared/irq/irq_init.c
@@ -280,6 +280,7 @@ void BSP_rtems_irq_mng_init(unsigned cpuId)
int known_cpi_isa_bridge = 0;
#endif
int i;
+ int r;
/*
* First initialize the Interrupt management hardware
@@ -310,7 +311,7 @@ void BSP_rtems_irq_mng_init(unsigned cpuId)
#endif
known_cpi_isa_bridge = 1;
}
- if ( currentBoard == MVME_2300 ) {
+ if ( currentBoard == MVME_2300 || currentBoard == MVME_2600_2700_W_MVME761 ) {
/* nothing to do for W83C553 bridge */
known_cpi_isa_bridge = 1;
}
@@ -351,7 +352,19 @@ void BSP_rtems_irq_mng_init(unsigned cpuId)
initial_config.irqBase = BSP_LOWEST_OFFSET;
initial_config.irqPrioTbl = irqPrioTable;
- if (!BSP_rtems_irq_mngt_set(&initial_config)) {
+#ifdef BSP_POWERPC_IRQ_GENERIC_SUPPORT
+#ifdef TRACE_IRQ_INIT
+ printk("RTEMS IRQ management: irq-generic\n");
+#endif
+ r = BSP_rtems_irq_generic_set(&initial_config);
+#else
+#ifdef TRACE_IRQ_INIT
+ printk("RTEMS IRQ management: legacy\n");
+#endif
+ r = BSP_rtems_irq_mngt_set(&initial_config);
+#endif
+
+ if (!r) {
/*
* put something here that will show the failure...
*/