📄 edma3_c642x_cfg.c
字号:
/******************************************************************************
**+-------------------------------------------------------------------------+**
**| **** |**
**| **** |**
**| ******o*** |**
**| ********_///_**** |**
**| ***** /_//_/ **** |**
**| ** ** (__/ **** |**
**| ********* |**
**| **** |**
**| *** |**
**| |**
**| Copyright (c) 1998-2006 Texas Instruments Incorporated |**
**| ALL RIGHTS RESERVED |**
**| |**
**| Permission is hereby granted to licensees of Texas Instruments |**
**| Incorporated (TI) products to use this computer program for the sole |**
**| purpose of implementing a licensee product based on TI products. |**
**| No other rights to reproduce, use, or disseminate this computer |**
**| program, whether in part or in whole, are granted. |**
**| |**
**| TI makes no representation or warranties with respect to the |**
**| performance of this computer program, and specifically disclaims |**
**| any responsibility for any damages, special or consequential, |**
**| connected with the use of this program. |**
**| |**
**+-------------------------------------------------------------------------+**
******************************************************************************/
/** \file edma3_c642x_cfg.c
* \brief EDMA3 Driver Adaptation Configuration File (Soc Specific) for c642x
* platform.
*
* This file contains configuration data for adaptation of EDMA3 RM
*
* (C) Copyright 2006, Texas Instruments, Inc
*
* \version 0.1 Anuj Aggarwal - Created
*/
#include <ti/sdo/edma3/rm/edma3_rm.h>
/** Total number of DMA Channels supported by the EDMA3 Controller */
#define NUM_DMA_CHANNELS (64u)
/** Total number of QDMA Channels supported by the EDMA3 Controller */
#define NUM_QDMA_CHANNELS (8u)
/** Total number of TCCs supported by the EDMA3 Controller */
#define NUM_TCC (64u)
/** Total number of PaRAM Sets supported by the EDMA3 Controller */
#define NUM_PARAM_SETS (128u)
/** Total number of Event Queues in the EDMA3 Controller */
#define NUM_EVENT_QUEUE (3u)
/** Total number of Transfer Controllers (TCs) in the EDMA3 Controller */
#define NUM_TC (3u)
/** Number of Regions on this EDMA3 controller */
#define NUM_REGION (4u)
/**
* \brief Channel mapping existence
* A value of 0 (No channel mapping) implies that there is fixed association
* for a channel number to a parameter entry number or, in other words,
* PaRAM entry n corresponds to channel n.
*/
#define CHANNEL_MAPPING_EXISTENCE (0u)
/** Existence of memory protection feature */
#define MEM_PROTECTION_EXISTENCE (0u)
/** Global Register Region of CC Registers */
#define CC_BASE_ADDRESS (0x01C00000u)
/** Transfer Controller 0 Registers */
#define TC0_BASE_ADDRESS (0x01C10000u)
/** Transfer Controller 1 Registers */
#define TC1_BASE_ADDRESS (0x01C10400u)
/** Transfer Controller 2 Registers */
#define TC2_BASE_ADDRESS (0x01C10800u)
/** Transfer Controller 3 Registers */
#define TC3_BASE_ADDRESS NULL
/** Transfer Controller 4 Registers */
#define TC4_BASE_ADDRESS NULL
/** Transfer Controller 5 Registers */
#define TC5_BASE_ADDRESS NULL
/** Transfer Controller 6 Registers */
#define TC6_BASE_ADDRESS NULL
/** Transfer Controller 7 Registers */
#define TC7_BASE_ADDRESS NULL
/** Interrupt no. for Transfer Completion */
#define XFER_COMPLETION_INT (36u)
/** Interrupt no. for CC Error */
#define CC_ERROR_INT (37u)
/** Interrupt no. for TC 0 Error */
#define TC0_ERROR_INT (38u)
/** Interrupt no. for TC 1 Error */
#define TC1_ERROR_INT (39u)
/** Interrupt no. for TC 2 Error */
#define TC2_ERROR_INT (40u)
/** Interrupt no. for TC 3 Error */
#define TC3_ERROR_INT (0u)
/** Interrupt no. for TC 4 Error */
#define TC4_ERROR_INT (0u)
/** Interrupt no. for TC 5 Error */
#define TC5_ERROR_INT (0u)
/** Interrupt no. for TC 6 Error */
#define TC6_ERROR_INT (0u)
/** Interrupt no. for TC 7 Error */
#define TC7_ERROR_INT (0u)
/**
* \brief Mapping of DMA channels 0-31 to Hardware Events from
* various peripherals, which use EDMA for data transfer.
* All channels need not be mapped, some can be free also.
* 1: Mapped
* 0: Not mapped
*
* This mapping will be used to allocate DMA channels when user passes
* EDMA3_RM_DMA_CHANNEL_ANY as dma channel id (for eg to do memory-to-memory
* copy). The same mapping is used to allocate the TCC when user passes
* EDMA3_RM_TCC_ANY as tcc id (for eg to do memory-to-memory copy).
*
* To allocate more DMA channels or TCCs, one has to modify the event mapping.
*/
#define DMA_CHANNEL_TO_EVENT_MAPPING_0 (0x33FFFFFCu)
/**
* \brief Mapping of DMA channels 32-63 to Hardware Events from
* various peripherals, which use EDMA for data transfer.
* All channels need not be mapped, some can be free also.
* 1: Mapped
* 0: Not mapped
*
* This mapping will be used to allocate DMA channels when user passes
* EDMA3_RM_DMA_CHANNEL_ANY as dma channel id (for eg to do memory-to-memory
* copy). The same mapping is used to allocate the TCC when user passes
* EDMA3_RM_TCC_ANY as tcc id (for eg to do memory-to-memory copy).
*
* To allocate more DMA channels or TCCs, one has to modify the event mapping.
*/
#define DMA_CHANNEL_TO_EVENT_MAPPING_1 (0x007F7FFFu)
EDMA3_RM_GblConfigParams edma3GblCfgParams [EDMA3_MAX_EDMA3_INSTANCES] =
{
{
/** Total number of DMA Channels supported by the EDMA3 Controller */
NUM_DMA_CHANNELS,
/** Total number of QDMA Channels supported by the EDMA3 Controller */
NUM_QDMA_CHANNELS,
/** Total number of TCCs supported by the EDMA3 Controller */
NUM_TCC,
/** Total number of PaRAM Sets supported by the EDMA3 Controller */
NUM_PARAM_SETS,
/** Total number of Event Queues in the EDMA3 Controller */
NUM_EVENT_QUEUE,
/** Total number of Transfer Controllers (TCs) in the EDMA3 Controller */
NUM_TC,
/** Number of Regions on this EDMA3 controller */
NUM_REGION,
/**
* \brief Channel mapping existence
* A value of 0 (No channel mapping) implies that there is fixed association
* for a channel number to a parameter entry number or, in other words,
* PaRAM entry n corresponds to channel n.
*/
CHANNEL_MAPPING_EXISTENCE,
/** Existence of memory protection feature */
MEM_PROTECTION_EXISTENCE,
/** Global Register Region of CC Registers */
(void *)(CC_BASE_ADDRESS),
/** Transfer Controller (TC) Registers */
{
(void *)(TC0_BASE_ADDRESS),
(void *)(TC1_BASE_ADDRESS),
(void *)(TC2_BASE_ADDRESS),
(void *)(TC3_BASE_ADDRESS),
(void *)(TC4_BASE_ADDRESS),
(void *)(TC5_BASE_ADDRESS),
(void *)(TC6_BASE_ADDRESS),
(void *)(TC7_BASE_ADDRESS)
},
/** Interrupt no. for Transfer Completion */
XFER_COMPLETION_INT,
/** Interrupt no. for CC Error */
CC_ERROR_INT,
/** Interrupt no. for TCs Error */
{
TC0_ERROR_INT,
TC1_ERROR_INT,
TC2_ERROR_INT,
TC3_ERROR_INT,
TC4_ERROR_INT,
TC5_ERROR_INT,
TC6_ERROR_INT,
TC7_ERROR_INT
},
/**
* \brief EDMA3 TC priority setting
*
* User can program the priority of the Event Queues
* at a system-wide level. This means that the user can set the
* priority of an IO initiated by either of the TCs (Transfer Controllers)
* relative to IO initiated by the other bus masters on the
* device (ARM, DSP, USB, etc)
*/
{
0u,
1u,
2u,
0u,
0u,
0u,
0u,
0u
},
/**
* \brief To Configure the Threshold level of number of events
* that can be queued up in the Event queues. EDMA3CC error register
* (CCERR) will indicate whether or not at any instant of time the
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -