/* * RTEMS generic MCF548x BSP * * This file contains glue functions to the Freescale MC_DMA API */ /* * Copyright (c) 2004-2009 embedded brains GmbH. All rights reserved. * * The license and distribution terms for this file may be * found in the file LICENSE in this distribution or at * http://www.rtems.org/license/LICENSE. */ #include #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<