📄 hwapi_hdma.h
字号:
/****************************************************************
Copyright (C) 2007 RockChip All Rights Reserved.
File: hwapi_hdma.h
Desc: HDMA api
Author: LZY
Date: 2007/08/30
note:
$Log: hwapi_hdma.h,v $
Revision 1.6 2007/12/03 07:21:42 Hanjiang
增加dma强制stop接口,修改启动dma接口,系统其他调用的位置已同步更新
Revision 1.5 2007/10/24 07:43:24 Hanjiang
no message
Revision 1.4 2007/10/23 08:23:46 Huangxinyu
调试后修改bug
Revision 1.3 2007/10/15 09:07:59 Huangxinyu
根据RK27提交修改driver
Revision 1.2 2007/10/08 02:38:43 Lingzhaojun
添加版本自动注释脚本
*****************************************************************/
#ifndef _HWAPI_HDMA_H
#define _HWAPI_HDMA_H
//操作模式
#define DmaMode_Slice (1<<22)
#define DMA_CHN_EN (1<<21)
#define DmaMode_Reload (1<<20)
#define DmaMode_Interrupt (1<<18)
#define DmaMode_Polling (0<<18)
#define DmaMode_BurstSignle (0<<13)
#define DmaMode_Burst4 (3<<13)
#define DmaMode_Burst8 (5<<13)
#define DmaMode_Burst16 (7<<13)
#define DmaMode_UART0_RX (0x0<<9)
#define DmaMode_UART0_TX (0x1<<9)
#define DmaMode_UART1_RX (0x2<<9)
#define DmaMode_UART1_TX (0x3<<9)
#define DmaMode_SPI_RX (0x4<<9)
#define DmaMode_SPI_TX (0x5<<9)
#define DmaMode_I2S_TX (0x6<<9)
#define DmaMode_I2S_RX (0x7<<9)
#define DmaMode_RequestNo (0x0<<9)
#define DmaMode_SourceInc (0x00<<7)
#define DmaMode_SourceFix (0x01<<7)
#define DmaMode_DestInc (0x00<<5)
#define DmaMode_DestFix (0x01<<5)
#define DmaMode_width8Bit (0x00<<3)
#define DmaMode_width16Bit (0x01<<3)
#define DmaMode_width32Bit (0x02<<3)
#define DmaMode_SoftwareStar (1<<1)
#define DmaMode_Soft (0x00<<0)
#define DmaMode_Hard (0x01<<0)
typedef enum
{
HDMA_chn0 = 0,
HDMA_chn1 = 1,
HDMA_chnmax
}HDMA_Channel_t;
typedef enum
{
DmaSuccess = 0,
DmaErr = -1,
DmaBusy = -100
}DmaError;
typedef int (*DMACallBack)(void); /*DMA 回调函数*/
typedef struct
{
UINT32 SourceAddr; /*源地址*/
UINT32 DestinAddr; /*目的地址*/
UINT16 Count; /*数目*/
}DmaField;
#define DmaMemIntCopy ( DmaMode_Soft\
|DmaMode_SourceInc\
|DmaMode_DestInc\
|DmaMode_Interrupt\
|DmaMode_width32Bit)
#define DmaMemByteCopy ( DmaMode_Soft\
|DmaMode_SourceInc\
|DmaMode_DestInc\
|DmaMode_Interrupt\
|DmaMode_width16Bit)
#define DmaI2sPlayCopy ( DmaMode_Hard\
|DmaMode_I2S_TX\
|DmaMode_SourceInc\
|DmaMode_DestFix\
|DmaMode_Interrupt\
|DmaMode_width32Bit)
#define DmaI2sRecordCopy ( DmaMode_Hard\
|DmaMode_I2S_RX\
|DmaMode_SourceFix\
|DmaMode_DestInc\
|DmaMode_Interrupt\
|DmaMode_width32Bit)
#define DmaTestCopy ( DmaMode_Soft\
|DmaMode_RequestNo\
|DmaMode_SourceInc\
|DmaMode_DestInc\
|DmaMode_Interrupt\
|DmaMode_width32Bit)
int DmaTransmit(HDMA_Channel_t channel, UINT32 SrcAddr, UINT32 DestinAddr, UINT32 Count, UINT32 Mode, DMACallBack CallBack);
int HDMA_GetStatus(HDMA_Channel_t channel);
void HDMA_PowerOnInit(void);
void HDMA_DeInit(void);
void HDMA_Stop(HDMA_Channel_t channel);
#endif //_HWAPI_HDMA_H
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -