/*==========================================================================*/
/*      Copyright (C) 2009-2012 Texas Instruments Incorporated.             */
/*                      All Rights Reserved                                 */
/*==========================================================================*/


#ifndef _EVE_EDMA_H_
#define _EVE_EDMA_H_
/*****************************************************************************/
 /** \file eve_edma.h
 * 
 * \brief This file contains the EDMA details for EVE
 * 
 *****************************************************************************/
/**************************************************************************\
* EVE EDMA file
\**************************************************************************/

/**************************************************************************\
*  EVE Configuration 
*  
\**************************************************************************/
#define CSL_EDMA_NUM_DMACH             16        /**< Number of DMA channels */
#define CSL_EDMA_NUM_QDMACH            8         /**< Number of Q-DMA channels */
#define CSL_EDMA_NUM_PARAMENTRY        64        /**< Number of Params */
#define CSL_EDMA_NUM_EVQUE             2         /**< Number of Queues */
#define CSL_EDMA_CHMAPEXIST            1         /**< Indicates if channel mapping exist */
#define CSL_EDMA_NUMINTCH              64        /**< Number of internal channels */  
#define CSL_EDMA_NUM_REGIONS           8         /**< Number of regions */
#define CSL_EDMA_MEMPROTECT            0         /**< Memory protection configuration */

/** @brief Number of Generic Channel instances */
#define CSL_EDMA_CHA_CNT              24




/** @brief Enumerations for EDMA channels
*
*  There are 24 EDMA channels - 16 EDMA Channels and 8 QDMA Channels. 
*  The enum values indicate the number of the channel.  
*  This is passed as a parameter in @a CSL_dmaOpen() to indicate the
*  channel instance that the user wants to acquire.  The CSL_DMA_CHA_ANY
*  indicates the user is willing to use any available generic channel.
*  
*
*/

/* From EVE Event Mapping spread sheet */


/** @brief Enumerations for EDMA Event Queues
*
*  4 Event Queues
*
*/
typedef enum {
     CSL_EDMA_EVT_QUE_DEFAULT   =    0, /**< Queue 0 is default */  
     CSL_EDMA_EVT_QUE0          =    0, /**< Queue 0 */  
     CSL_EDMA_EVT_QUE1          =    1, /**< Queue 1 */
     CSL_EDMA_EVT_QUE2          =    2, /**< Queue 2 */
     CSL_EDMA_EVT_QUE3          =    3  /**< Queue 3 */  
} CSL_EdmaEventQueue;
/** @brief Enumerations for EDMA Transfer Controllers
*
*  4 Transfer Controllers. One to one mapping exists
*  between Event Queues and Transfer Controllers.
*
*/
typedef enum {
     CSL_EDMA_TC0    =    0, /**< TC 0 */  
     CSL_EDMA_TC1    =    1, /**< TC 1 */
     CSL_EDMA_TC2    =    2, /**< TC 2 */
     CSL_EDMA_TC3    =    3  /**< TC 3 */  
} CSL_EdmaTc;

/** @brief Enumeration for EDMA Regions 
*
*  8 Regions.
*  
*/

#define CSL_EDMA_REGION_GLOBAL  -1         /**< Global Region */
#define CSL_EDMA_REGION_0        0         /**< EDMA Region 0 : Shadow Region for ARM */
#define CSL_EDMA_REGION_1        1         /**< EDMA Region 1 : Shadow Region for GEM */
#define CSL_EDMA_REGION_2        2         /**< EDMA Region 2 : Shadow Region for HD-ImComp0 */
#define CSL_EDMA_REGION_3        3         /**< EDMA Region 3 : Shadow Region for HD-ImComp0 */
#define CSL_EDMA_REGION_4        4         /**< EDMA Region 4 : Shadow Region for HD-ImComp1 */
#define CSL_EDMA_REGION_5        5         /**< EDMA Region 5 : Shadow Region for HD-ImComp1 */
#define CSL_EDMA_REGION_6        6         /**< EDMA Region 6: Unused Shadow Region / Might take off from PDK CSL */
#define CSL_EDMA_REGION_7        7         /**< EDMA Region 7: Unused Shadow Region / Might take off from PDK CSL */

#endif  /* _EVE_EDMA_H_ */


