forked from Imagelibrary/rtems
bsp/genmcf548x: Use bsp_interrupt_vector_enable()
This commit is contained in:
@@ -50,12 +50,13 @@
|
|||||||
|
|
||||||
#include <rtems.h>
|
#include <rtems.h>
|
||||||
#include <bsp.h>
|
#include <bsp.h>
|
||||||
|
#include <bsp/irq-generic.h>
|
||||||
#include <mcf548x/mcf548x.h>
|
#include <mcf548x/mcf548x.h>
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Use SLT 0
|
* Use SLT 0
|
||||||
*/
|
*/
|
||||||
#define CLOCK_VECTOR (64+54)
|
#define CLOCK_IRQ MCF548X_IRQ_SLT0
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Periodic interval timer interrupt handler
|
* Periodic interval timer interrupt handler
|
||||||
@@ -70,7 +71,7 @@
|
|||||||
*/
|
*/
|
||||||
#define Clock_driver_support_install_isr( _new, _old ) \
|
#define Clock_driver_support_install_isr( _new, _old ) \
|
||||||
do { \
|
do { \
|
||||||
_old = (rtems_isr_entry)set_vector(_new, CLOCK_VECTOR, 1); \
|
_old = (rtems_isr_entry)set_vector(_new, CLOCK_IRQ + 64, 1); \
|
||||||
} while(0)
|
} while(0)
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@@ -89,10 +90,7 @@
|
|||||||
*/
|
*/
|
||||||
#define Clock_driver_support_initialize_hardware() \
|
#define Clock_driver_support_initialize_hardware() \
|
||||||
do { \
|
do { \
|
||||||
int level; \
|
bsp_interrupt_vector_enable(CLOCK_IRQ); \
|
||||||
rtems_interrupt_disable( level ); \
|
|
||||||
MCF548X_INTC_IMRH &= ~(MCF548X_INTC_IMRH_INT_MASK54); \
|
|
||||||
rtems_interrupt_enable( level ); \
|
|
||||||
MCF548X_SLT_SLTCNT0 = get_CPU_clock_speed() \
|
MCF548X_SLT_SLTCNT0 = get_CPU_clock_speed() \
|
||||||
/ 1000 \
|
/ 1000 \
|
||||||
* rtems_configuration_get_microseconds_per_tick() \
|
* rtems_configuration_get_microseconds_per_tick() \
|
||||||
|
|||||||
@@ -56,6 +56,7 @@
|
|||||||
#include <rtems/termiostypes.h>
|
#include <rtems/termiostypes.h>
|
||||||
#include <termios.h>
|
#include <termios.h>
|
||||||
#include <bsp.h>
|
#include <bsp.h>
|
||||||
|
#include <bsp/irq-generic.h>
|
||||||
#include <malloc.h>
|
#include <malloc.h>
|
||||||
#include <rtems/mw_uid.h>
|
#include <rtems/mw_uid.h>
|
||||||
|
|
||||||
@@ -484,26 +485,7 @@ IntUartInitialize(void)
|
|||||||
IntUartSetAttributes(chan, NULL);
|
IntUartSetAttributes(chan, NULL);
|
||||||
|
|
||||||
/* unmask interrupt */
|
/* unmask interrupt */
|
||||||
rtems_interrupt_disable(level);
|
bsp_interrupt_vector_enable(MCF548X_IRQ_PSC(chan));
|
||||||
switch(chan) {
|
|
||||||
case 0:
|
|
||||||
MCF548X_INTC_IMRH &= ~(MCF548X_INTC_IMRH_INT_MASK35);
|
|
||||||
break;
|
|
||||||
|
|
||||||
case 1:
|
|
||||||
MCF548X_INTC_IMRH &= ~(MCF548X_INTC_IMRH_INT_MASK34);
|
|
||||||
break;
|
|
||||||
|
|
||||||
case 2:
|
|
||||||
MCF548X_INTC_IMRH &= ~(MCF548X_INTC_IMRH_INT_MASK33);
|
|
||||||
break;
|
|
||||||
|
|
||||||
case 3:
|
|
||||||
MCF548X_INTC_IMRH &= ~(MCF548X_INTC_IMRH_INT_MASK32);
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
rtems_interrupt_enable(level);
|
|
||||||
|
|
||||||
} /* of chan loop */
|
} /* of chan loop */
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -50,6 +50,7 @@
|
|||||||
#include <net/if_var.h>
|
#include <net/if_var.h>
|
||||||
|
|
||||||
#include <bsp.h>
|
#include <bsp.h>
|
||||||
|
#include <bsp/irq-generic.h>
|
||||||
#include <mcf548x/mcf548x.h>
|
#include <mcf548x/mcf548x.h>
|
||||||
#include <rtems/rtems_mii_ioctl.h>
|
#include <rtems/rtems_mii_ioctl.h>
|
||||||
#include <errno.h>
|
#include <errno.h>
|
||||||
@@ -1288,7 +1289,7 @@ static void mcf548x_fec_init(void *arg)
|
|||||||
rtems_panic ("Can't attach MFC54xx FEX interrupt handler\n");
|
rtems_panic ("Can't attach MFC54xx FEX interrupt handler\n");
|
||||||
}
|
}
|
||||||
|
|
||||||
MCF548X_INTC_IMRH &= ~(1 << (MCF548X_FEC_IRQ_VECTOR(chan) % 32));
|
bsp_interrupt_vector_enable(MCF548X_IRQ_FEC(chan));
|
||||||
|
|
||||||
MCF548X_FEC_EIMR(chan) = FEC_INTR_MASK_USED;
|
MCF548X_FEC_EIMR(chan) = FEC_INTR_MASK_USED;
|
||||||
mcf548x_fec_rx_bd_init(sc);
|
mcf548x_fec_rx_bd_init(sc);
|
||||||
|
|||||||
Reference in New Issue
Block a user