www.pudn.com > drivers.rar > dma_pc_i.h


/** 
 * @file	dma_pc_i.h 
 * 
 * Internal definitions for DMA pc. 
 * 
 * @author	 () 
 * @version 0.1 
 */ 
 
/* 
 * History: 
 * 
 *	Date       	Author					Modification 
 *	------------------------------------------------------------------- 
 *	7/2/2003	 ()		Create. 
 * 
 * (C) Copyright 2003 by Texas Instruments Incorporated, All Rights Reserved 
 */ 
 
#ifndef __DMA_PC_I_H_ 
#define __DMA_PC_I_H_ 
 
 
#include "rv/rv_general.h" 
#include "rvf/rvf_api.h" 
#include "rvm/rvm_gen.h" 
#include "rvm/rvm_use_id_list.h" 
#include "rvm/rvm_ext_use_id_list.h" 
 
#include "dma/dma_cfg.h" 
#include "dma/dma_api.h" 
 
#include "dma/dma_state_i.h" 
 
#ifndef _WINDOWS 
#include "nucleus.h" 
#include "inth/iq.h" 
#endif 
 
#ifdef __cplusplus 
extern "C" 
{ 
#endif 
 
typedef  UINT8	T_DMA_TYPE_CHANNEL_NUMBER; 
 
typedef struct { 
  UINT16 d_dma_channel_number;		/* channel parameter */ 
  UINT16 d_dma_channel_secured; 
  UINT16 d_dma_channel_data_type;	/* type of element to be transfered */ 
 
  UINT16 d_dma_channel_src_port;		/* source port parameter */ 
  UINT16 d_dma_src_channel_packed; 
  UINT16 d_dma_src_channel_burst_en; 
 
  UINT16 d_dma_channel_dst_port;		/* destination port parameter */ 
  UINT16 d_dma_dst_channel_packed; 
  UINT16 d_dma_dst_channel_burst_en; 
 
  UINT16 d_dma_channel_hw_synch;		/* channel parameter */ 
  UINT16 d_dma_channel_priority; 
  UINT16 d_dma_channel_auto_init; 
  UINT16 d_dma_channel_fifo_flush; 
 
  UINT16 d_dma_src_channel_addr_mode;	/* source addressing mode */ 
  UINT16 d_dma_dst_channel_addr_mode;	/* destination addressinf mode */ 
 
  UINT16 d_dma_channel_it_time_out;		/* channel interrupt setting */ 
  UINT16 d_dma_channel_it_drop;	 
  UINT16 d_dma_channel_it_frame; 
  UINT16 d_dma_channel_it_block;	 
  UINT16 d_dma_channel_it_half_block; 
 
  UINT32 d_dma_channel_src_address;		/* source address */ 
  UINT32 d_dma_channel_dst_address;		/* destination address */ 
 
  UINT16 d_dma_channel_element_number;	/* number of element per frame */ 
  UINT16 d_dma_channel_frame_number;		/* number of frame to be transfered */ 
} T_DMA_TYPE_CHANNEL_PARAMETER; 
 
 
void f_dma_channel_disable(T_DMA_TYPE_CHANNEL_NUMBER d_dma_channel_number); 
void f_dma_channel_soft_reset (T_DMA_TYPE_CHANNEL_NUMBER channel); 
void f_dma_channel_enable (T_DMA_TYPE_CHANNEL_NUMBER d_dma_channel_number); 
void f_dma_channel_parameter_set(T_DMA_TYPE_CHANNEL_PARAMETER *p_dma_channel_parameter); 
void dma_hisr_pc (T_DMA_TYPE_CHANNEL_NUMBER d_dma_channel_number); 
 
 
#ifdef __cplusplus 
} 
#endif 
 
 
#endif /* __DMA_PC_I_H_ */