/******************************************************************************
**
**
** COPYRIGHT (C) 2000, 2001 Intel Corporation.
**
** This software as well as the software described in it is furnished under
** license and may only be used or copied in accordance with the terms of the
** license. The information in this file is furnished for informational use
** only, is subject to change without notice, and should not be construed as
** a commitment by Intel Corporation. Intel Corporation assumes no
** responsibility or liability for any errors or inaccuracies that may appear
** in this document or any software that may be provided in association with
** this document.
** Except as permitted by such license, no part of this document may be
** reproduced, stored in a retrieval system, or transmitted in any form or by
** any means without the express written consent of Intel Corporation.
**
** FILENAME: xsdma.c
**
** PURPOSE: Contains the API implementation for the DMA controller
** driver.
**
** Valid for : Cotulla processor
**
** EAS VERSION :
**
** LAST MODIFIED: $Modtime: 7/17/03 1:01p $
******************************************************************************/
/*******************************************************************************
* HEADER FILES
*******************************************************************************/
#include <string.h>
#include <stdio.h>
#include "systypes.h"
#include "XsIntCtrlApi.h"
#include "XsDmaApi.h"
#include "xsdma.h"
#include "dm_errors.h"
#include "mallocx.h"
#include "cotulla.h"
#include "DM_Debug.h"
//#include "serialCommon.h"
#include "timedelays.h"
/*******************************************************************************
* MACRO DEFINITIONS
*******************************************************************************/
#define DM_ReturnMem(virtualAddr) free(virtualAddr)
/*******************************************************************************
* GLOBAL DEFINITIONS
*******************************************************************************/
volatile XsDmaCtrlT *XsDmaControlRegsP = (XsDmaCtrlT *)DMA_REGISTER_BASE;
static UINT XsDmaChannelsUsedWord = 0;
/*******************************************************************************
This table contains the DMA specific data for the peripheral devices.
Refer to table 6-4 in the Cotulla EAS August, 2000.
*******************************************************************************/
XsDmaToDeviceT DmaDeviceTable[] = {
/* Name receive transmit width burst */
{XSDMA_DN_MEMORY, 0, 0, DCMD_WIDTH_4, 0},
{XSDMA_DN_I2S, 0x40400080, 0x40400080, DCMD_WIDTH_4, DCMD_SIZE_32},
{XSDMA_DN_BTUART, 0x40200000, 0x40200000, DCMD_WIDTH_1, DCMD_SIZE_32},
{XSDMA_DN_FFUART, 0x40100000, 0x40100000, DCMD_WIDTH_1, DCMD_SIZE_32},
{XSDMA_DN_AC97_MIC, 0x40500060, 0, DCMD_WIDTH_4, DCMD_SIZE_32},
{XSDMA_DN_AC97_MODEM, 0x40500140, 0x40500140, DCMD_WIDTH_4, DCMD_SIZE_32},
{XSDMA_DN_AC97_AUDIO, 0x40500040, 0x40500040, DCMD_WIDTH_4, DCMD_SIZE_32},
{XSDMA_DN_SSP1, 0x41000010, 0x41000010, DCMD_WIDTH_2, DCMD_SIZE_16},
{XSDMA_DN_ICP, 0x4080000C, 0x4080000C, DCMD_WIDTH_1, DCMD_SIZE_8},
{XSDMA_DN_STUART, 0x40700000, 0x40700000, DCMD_WIDTH_1, DCMD_SIZE_32},
{XSDMA_DN_MMC, 0x41100040, 0x41100044, DCMD_WIDTH_1, DCMD_SIZE_32},
{XSDMA_DN_USB_EP_0, 0x40600300, 0x40600300, DCMD_WIDTH_4, DCMD_SIZE_32},
{XSDMA_DN_USB_EP_A, 0x40600304, 0x40600304, DCMD_WIDTH_4, DCMD_SIZE_32},
{XSDMA_DN_USB_EP_B, 0x40600308, 0x40600308, DCMD_WIDTH_4, DCMD_SIZE_32},
{XSDMA_DN_USB_EP_C, 0x4060030C, 0x4060030C, DCMD_WIDTH_4, DCMD_SIZE_32},
{XSDMA_DN_USB_EP_D, 0x40600310, 0x40600310, DCMD_WIDTH_4, DCMD_SIZE_32},
{XSDMA_DN_USB_EP_E, 0x40600314, 0x40600314, DCMD_WIDTH_4, DCMD_SIZE_32},
{XSDMA_DN_USB_EP_F, 0x40600318, 0x40600318, DCMD_WIDTH_4, DCMD_SIZE_32},
{XSDMA_DN_USB_EP_G, 0x4060031C, 0x4060031C, DCMD_WIDTH_4, DCMD_SIZE_32},
{XSDMA_DN_USB_EP_H, 0x40600320, 0x40600320, DCMD_WIDTH_4, DCMD_SIZE_32},
{XSDMA_DN_USB_EP_I, 0x40600324, 0x40600324, DCMD_WIDTH_4, DCMD_SIZE_32},
{XSDMA_DN_USB_EP_J, 0x40600328, 0x40600328, DCMD_WIDTH_4, DCMD_SIZE_32},
{XSDMA_DN_USB_EP_K, 0x4060032C, 0x4060032C, DCMD_WIDTH_4, DCMD_SIZE_32},
{XSDMA_DN_USB_EP_L, 0x40600330, 0x40600330, DCMD_WIDTH_4, DCMD_SIZE_32},
{XSDMA_DN_USB_EP_M, 0x40600334, 0x40600334, DCMD_WIDTH_4, DCMD_SIZE_32},
{XSDMA_DN_USB_EP_N, 0x40600338, 0x40600338, DCMD_WIDTH_4, DCMD_SIZE_32},
{XSDMA_DN_USB_EP_P, 0x4060033C, 0x4060033C, DCMD_WIDTH_4, DCMD_SIZE_32},
{XSDMA_DN_USB_EP_Q, 0x40600340, 0x40600340, DCMD_WIDTH_4, DCMD_SIZE_32},
{XSDMA_DN_USB_EP_R, 0x40600344, 0x40600344, DCMD_WIDTH_4, DCMD_SIZE_32},
{XSDMA_DN_USB_EP_S, 0x40600348, 0x40600348, DCMD_WIDTH_4, DCMD_SIZE_32},
{XSDMA_DN_USB_EP_T, 0x4060034C, 0x4060034C, DCMD_WIDTH_4, DCMD_SIZE_32},
{XSDMA_DN_USB_EP_U, 0x40600350, 0x40600350, DCMD_WIDTH_4, DCMD_SIZE_32},
{XSDMA_DN_USB_EP_V, 0x40600354, 0x40600354, DCMD_WIDTH_4, DCMD_SIZE_32},
{XSDMA_DN_USB_EP_W, 0x40600358, 0x40600358, DCMD_WIDTH_4, DCMD_SIZE_32},
{XSDMA_DN_USB_EP_X, 0x4060035C, 0x4060035C, DCMD_WIDTH_4, DCMD_SIZE_32},
//SHAWN- DCMD_WIDTH from 1 to 4 now.. any issues?
{XSDMA_DN_BASEBAND_1, 0x41400004, 0x41400004, DCMD_WIDTH_4, DCMD_SIZE_32},
{XSDMA_DN_BASEBAND_2, 0x41400008, 0x41400008, DCMD_WIDTH_4, DCMD_SIZE_32},
{XSDMA_DN_BASEBAND_3, 0x4140000C, 0x4140000C, DCMD_WIDTH_4, DCMD_SIZE_32},
{XSDMA_DN_BASEBAND_4, 0x41400010, 0x41400010, DCMD_WIDTH_4, DCMD_SIZE_32},
{XSDMA_DN_BASEBAND_5, 0x41400014, 0x41400014, DCMD_WIDTH_4, DCMD_SIZE_32},
{XSDMA_DN_BASEBAND_6, 0x41400018, 0x41400018, DCMD_WIDTH_4, DCMD_SIZE_32},
{XSDMA_DN_BASEBAND_7, 0x4140001C, 0x4140001C, DCMD_WIDTH_4, DCMD_SIZE_32},
{XSDMA_DN_USIM, 0x41600000, 0x41600004, DCMD_WIDTH_1, DCMD_SIZE_32},
{XSDMA_DN_SSP2, 0x41700010, 0x41700010, DCMD_WIDTH_2, DCMD_SIZE_16},
{XSDMA_DN_MEM_STICK, 0x41800018, 0x4180001C, DCMD_WIDTH_1, DCMD_SIZE_8},
{XSDMA_DN_SSP3, 0x41900010, 0x41900010, DCMD_WIDTH_2, DCMD_SIZE_16}
};
/*******************************************************************************
* FUNCTION DEFINITIONS
*******************************************************************************/
/*
*******************************************************************************
*
* FUNCTION: DM_GetDmaDescriptorAlignedBlock
*
* DESCRIPTION: Get a single block of memory that is the size of a DMA
* descriptor structure, with the appropriate alignment.
*
* INPUT PARAMETERS:
* XsDmaDescriptorElementsTPT* virtualPP:
* Address of a pointer to the new descriptor block.
* PUINT32 physicalAddrP:
* Address of a variable to hold the new descriptor block's
* physical address.
*
* RETURNS: UINT32
* Success: ERR_NONE (0)
* Failure: Anything other than ERR_NONE. Memory not allocated.
*
*
* GLOBAL EFFECTS: None
*
* ASSUMPTIONS: malloc() provides allocates memory units that are
* DMA descriptor-aligned.
*
* CALLS: malloc
*
* CALLED BY: Anyone
*
* PROTOTYPE: UINT32 DM_GetDmaDescriptorAlignedBlock
* (XsDmaDescriptorElementsTPT*,
*
没有合适的资源?快使用搜索试试~ 我知道了~
GPRS.rar_pxa270
共83个文件
h:32个
c:20个
inc:13个
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 143 浏览量
2022-09-21
04:20:39
上传
评论
收藏 232KB RAR 举报
温馨提示
ylpxa270 GPRS 通信代码,270平台,参考价值蛮大的
资源推荐
资源详情
资源评论
收起资源包目录
GPRS.rar (83个子文件)
GPRS
GPRS_GPS_Data
CWSettingsWindows.stg 3KB
Debug
inc
platform.mac 2KB
main.mac 3KB
systypes.h 4KB
DM_Errors.h 16KB
ROS.h 219B
regBase.inc 7KB
cp15.mac 25KB
map.inc 4KB
cp15.inc 3KB
regsdef.h 6KB
xllp_defs.h 5KB
xlli_Bulverde_defs.inc 16KB
boardControl.h 24KB
DM_Debug.h 8KB
ROS.c 170B
main.inc 3KB
xllp_Pm_SleepContext.inc 8KB
utils.h 810B
xlli_LowLev_mac.mac 5KB
common.inc 3KB
xlli_Mainstone_defs.inc 22KB
xsuart.h 9KB
regOst.inc 1KB
ostInit.mac 6KB
platform.inc 827B
globals.h 814B
error.inc 1KB
Drivers
Timers
XsOstDCS.h 3KB
XsOstApi.h 2KB
xsrtc.c 12KB
vssver.scc 128B
xsrtc.h 4KB
xsost.c 32KB
xsost.h 4KB
cotulla.c 24KB
ClkMgr
XsClkMgr.c 6KB
xsClkMgr.h 5KB
vssver.scc 64B
Ssp
xsssp.h 17KB
vssver.scc 64B
xsssp.c 31KB
Dma
xsdma.c 138KB
XsDmaApi.h 22KB
vssver.scc 80B
xsdma.h 13KB
platform.h 2KB
IntCtrl
XsIntCtrl.c 28KB
XsIntCtrl.h 7KB
XsIntCtrlApi.h 6KB
XsIntCtrla.s 7KB
Uarts
xsbtuart.c 17KB
xsbtuart.h 1KB
xsffuart.h 1KB
xsstuart.c 19KB
xsffuart.c 17KB
vssver.scc 144B
xsstuart.h 2KB
xsuart.h 9KB
cotulla.h 7KB
XsCp.inc 742B
Gpio
XsGpio.h 7KB
XsGpioApi.h 14KB
vssver.scc 96B
XsGpio.c 51KB
XsGpioPlatform.h 30KB
GPRS_GPS.mcp 115KB
src
XsCp15.h 3KB
Timer_Interrupt_Main.c 2KB
TestGps.c 641B
XsCp15.s 45KB
xlli_LowLev_Init.s 114KB
boardControl.h 24KB
utils.c 9KB
main.s 40KB
mallocx.c 11KB
boardIntCtrl.c 20KB
TestTimer.c 3KB
mallocx.h 2KB
GPRS_Main.c 2KB
XsCp15.inc 36KB
TestGprs.c 7KB
www.pudn.com.txt 218B
共 83 条
- 1
资源评论
邓凌佳
- 粉丝: 65
- 资源: 1万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功