⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 dma.h

📁 手机GSM TI 平台 dma 驱动 源代码
💻 H
字号:
/******************************************************************************            TEXAS INSTRUMENTS INCORPORATED PROPRIETARY INFORMATION   Property of Texas Instruments -- For  Unrestricted  Internal  Use  Only   Unauthorized reproduction and/or distribution is strictly prohibited.  This   product  is  protected  under  copyright  law  and  trade  secret law as an   unpublished work.  Created 1987, (C) Copyright 1997 Texas Instruments.  All   rights reserved.   Filename         : dma.h   Description      : DMA    Project          : drivers   Author           : pmonteil@tif.ti.com  Patrice Monteil.   Version number   : 1.12   Date             : 05/23/03   Previous delta   : 12/08/00 11:22:15   SCCS file        : /db/gsm_asp/db_ht96/dsp_0/gsw/rel_0/mcu_l1/release_gprs/RELEASE_GPRS/drivers1/common/SCCS/s.dma.h   Sccs Id  (SID)       : '@(#) dma.h 1.6 01/30/01 10:22:23 '*****************************************************************************/#include "chipset.cfg" /**** DMA configuration register ****/#if (CHIPSET != 12)// CONTROLLER_CONFIG register//---------------------------#if ((CHIPSET == 4) || (CHIPSET == 7) || (CHIPSET == 8) || (CHIPSET == 10) || (CHIPSET == 11))  #define DMA_CONFIG_ADDR    MEM_DMA_ADDR#else  #define DMA_CONFIG_ADDR    (MEM_DMA_ADDR + 0x20)#endif#define DMA_CONFIG_BURST     0x1c  /* length of burst */// ALLOC_CONFIG register//---------------------------#if ((CHIPSET == 4) || (CHIPSET == 7) || (CHIPSET == 8) || (CHIPSET == 10) || (CHIPSET == 11))  #define DMA_ALLOC_CONFIG_ADDR (MEM_DMA_ADDR + 0x02)#endif#define DMA_CONFIG_ALLOC1     0x01  /* allocation for channel 1 */#define DMA_CONFIG_ALLOC2     0x02  /* allocation for channel 2 */// DMA Channel 1 configuration//---------------------------// DMA1_RAD register//---------------------------#if ((CHIPSET == 4) || (CHIPSET == 7) || (CHIPSET == 8) || (CHIPSET == 10) || (CHIPSET == 11))  #define DMA1_RAD_ADDR   (MEM_DMA_ADDR + 0x10)#else  #define DMA1_RAD_ADDR   MEM_DMA_ADDR#endif#define DMA_RHEA_ADDR     0x07ff  /* rhea start address */#define DMA_RHEA_CS       0xf800  /* rhea chip select */// DMA1_RDPTH register//---------------------------#if ((CHIPSET == 4) || (CHIPSET == 7) || (CHIPSET == 8) || (CHIPSET == 10) || (CHIPSET == 11))  #define DMA1_RDPTH_ADDR    (MEM_DMA_ADDR + 0x12)#else  #define DMA1_RDPTH_ADDR    (MEM_DMA_ADDR + 0x02)#endif#define DMA_RHEA_LENGTH       0x07ff    /* rhea buffer length */// DMA1_AAD register//---------------------------#if ((CHIPSET == 4) || (CHIPSET == 7) || (CHIPSET == 8) || (CHIPSET == 10) || (CHIPSET == 11))  #define DMA1_AAD_ADDR    (MEM_DMA_ADDR + 0x14)#else  #define DMA1_AAD_ADDR    (MEM_DMA_ADDR + 0x04)#endif#define DMA_API_ADDR       0x0fff  /* API start address */// DMA1_ALGTH register//---------------------------#if ((CHIPSET == 4) || (CHIPSET == 7) || (CHIPSET == 8) || (CHIPSET == 10) || (CHIPSET == 11))  #define DMA1_ALGTH_ADDR  (MEM_DMA_ADDR + 0x16)#else  #define DMA1_ALGTH_ADDR  (MEM_DMA_ADDR + 0x06)#endif#define DMA_API_LENGTH     0x0fff  /* API page length */// DMA1_CTRL register//---------------------------#if ((CHIPSET == 4) || (CHIPSET == 7) || (CHIPSET == 8) || (CHIPSET == 10) || (CHIPSET == 11))  #define DMA1_CTRL_ADDR   (MEM_DMA_ADDR + 0x18)#else  #define DMA1_CTRL_ADDR   (MEM_DMA_ADDR + 0x08)#endif#define DMA_CTRL_ENABLE     0x0001  /* DMA enable */#define DMA_CTRL_IDLE       0x0002  /* idle */#define DMA_CTRL_ONE_SHOT   0x0004#define DMA_CTRL_FIFO_MODE  0x0008#define DMA_CTRL_CUR_PAGE   0x0010  /* current page # */#define DMA_CTRL_MAS        0x0020#define DMA_CTRL_START      0x0040  /* DMA start */#define DMA_CTRL_IRQ_MODE   0x0080#define DMA_CTRL_IRQ_STATE  0x0100#define DMA_CTRL_RHEA_ABORT 0x0200#if ((CHIPSET == 4) || (CHIPSET == 7) || (CHIPSET == 8) || (CHIPSET == 10) || (CHIPSET == 11))  #define DMA_CTRL_PRIORITY     0x1800  /* Number of additional reading on the bus */#endif// DMA1_CUR_OFFSET_API register//---------------------------#if ((CHIPSET == 4) || (CHIPSET == 7) || (CHIPSET == 8) || (CHIPSET == 10) || (CHIPSET == 11))  #define DMA1_OFFSET_ADDR (MEM_DMA_ADDR + 0x1A)#else  #define DMA1_OFFSET_ADDR (MEM_DMA_ADDR + 0x0A)#endif // DMA Channel 2 configuration//--------------------------- #if ((CHIPSET == 4) || (CHIPSET == 7) || (CHIPSET == 8) || (CHIPSET == 10) || (CHIPSET == 11))  #define DMA2_RAD_ADDR         (MEM_DMA_ADDR + 0x20)  #define DMA2_RDPTH_ADDR       (MEM_DMA_ADDR + 0x22)  #define DMA2_AAD_ADDR         (MEM_DMA_ADDR + 0x24)  #define DMA2_ALGTH_ADDR       (MEM_DMA_ADDR + 0x26)  #define DMA2_CTRL_ADDR        (MEM_DMA_ADDR + 0x28)  #define DMA2_OFFSET_ADDR      (MEM_DMA_ADDR + 0x2A)#else  #define DMA2_RAD_ADDR         (MEM_DMA_ADDR + 0x10)  #define DMA2_RDPTH_ADDR       (MEM_DMA_ADDR + 0x12)  #define DMA2_AAD_ADDR         (MEM_DMA_ADDR + 0x14)  #define DMA2_ALGTH_ADDR       (MEM_DMA_ADDR + 0x16)  #define DMA2_CTRL_ADDR        (MEM_DMA_ADDR + 0x18)  #define DMA2_OFFSET_ADDR      (MEM_DMA_ADDR + 0x1A)#endif#if ((CHIPSET == 4) || (CHIPSET == 7) || (CHIPSET == 8) || (CHIPSET == 10) || (CHIPSET == 11))  // DMA Channel 3 configuration  //---------------------------  #define DMA3_RAD_ADDR     (MEM_DMA_ADDR + 0x30)  #define DMA3_RDPTH_ADDR   (MEM_DMA_ADDR + 0x32)  #define DMA3_AAD_ADDR     (MEM_DMA_ADDR + 0x34)  #define DMA3_ALGTH_ADDR   (MEM_DMA_ADDR + 0x36)  #define DMA3_CTRL_ADDR    (MEM_DMA_ADDR + 0x38)  #define DMA3_OFFSET_ADDR  (MEM_DMA_ADDR + 0x3A)  // DMA Channel 4 configuration  //---------------------------  #define DMA4_RAD_ADDR     (MEM_DMA_ADDR + 0x40)  #define DMA4_RDPTH_ADDR   (MEM_DMA_ADDR + 0x42)  #define DMA4_AAD_ADDR     (MEM_DMA_ADDR + 0x44)  #define DMA4_ALGTH_ADDR   (MEM_DMA_ADDR + 0x46)  #define DMA4_CTRL_ADDR    (MEM_DMA_ADDR + 0x48)  #define DMA4_OFFSET_ADDR  (MEM_DMA_ADDR + 0x4A)#endif/*--------------------------------------------------------------*//* DMA_ALLOCDMA()                                               *//*--------------------------------------------------------------*//* Parameters : none                                            *//* Return     : none                                            *//* Functionality : alloc DMA channel                            *//*--------------------------------------------------------------*/#if ((CHIPSET == 4) || (CHIPSET == 7) || (CHIPSET == 8) || (CHIPSET == 10) || (CHIPSET == 11))  // WARNING :  // Only the first two channels can be configured and the last two channels are forced to be controlled by the ARM  #define DMA_ALLOCDMA(channel0, channel1, dma_burst,priority) { \    * (volatile unsigned short *) DMA_CONFIG_ADDR = (dma_burst << 2) | (priority << 5); \    * (volatile unsigned short *) DMA_ALLOC_CONFIG_ADDR = channel0 | (channel1 << 1) | 0x000C; \    }#else  #define DMA_ALLOCDMA(channel0, channel1,dma_burst,priority) (* (volatile unsigned short *) DMA_CONFIG_ADDR = channel0 | channel1 << 1 | dma_burst << 2 | priority << 5)#endif#endif /* (CHIPSET != 12)*/

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -