/*===============================================================*\ | Project: RTEMS generic MCF548x BSP | +-----------------------------------------------------------------+ | Copyright (c) 2004-2009 | | Embedded Brains GmbH | | Obere Lagerstr. 30 | | D-82178 Puchheim | | Germany | | rtems@embedded-brains.de | +-----------------------------------------------------------------+ | The license and distribution terms for this file may be | | found in the file LICENSE in this distribution or at | | | | http://www.rtems.com/license/LICENSE. | | | +-----------------------------------------------------------------+ | this file contains glue functions to the Freescale MC_DMA API | \*===============================================================*/ #include #include #include #include #include #define MCDMA_INT_ENABLE(reg,chan) (reg &= ~(1 << (chan))) #define MCDMA_INT_DISABLE(reg,chan) (reg |= (1 << (chan))) #define MCDMA_CLEAR_IEVENT(reg,chan) (reg = (1 << (chan))) #define MCDMA_INT_BIT_IMPL 0x0000FFFF /* implemented IRQ sources (bitmask for IPEND... */ #define MCDMA_IRQ_VECTOR (48+64) #define MCDMA_IRQ_LEVEL (2) #define MCDMA_IRQ_PRIORITY (2) /*=========================================================================*\ | Function: | \*-------------------------------------------------------------------------*/ void mcdma_glue_irq_enable ( /*-------------------------------------------------------------------------*\ | Purpose: | | enable interrupt for given task number | +---------------------------------------------------------------------------+ | Input Parameters: | \*-------------------------------------------------------------------------*/ int mcdma_channo /* task number to enable */ ) /*-------------------------------------------------------------------------*\ | Return Value: | | none | \*=========================================================================*/ { rtems_interrupt_level level; if (0 != ((1UL<