• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * Xilinx DMA Engine drivers support header file
3  *
4  * Copyright (C) 2010-2014 Xilinx, Inc. All rights reserved.
5  *
6  * This is free software; you can redistribute it and/or modify
7  * it under the terms of the GNU General Public License as published by
8  * the Free Software Foundation; either version 2 of the License, or
9  * (at your option) any later version.
10  */
11 
12 #ifndef __DMA_XILINX_DMA_H
13 #define __DMA_XILINX_DMA_H
14 
15 #include <linux/dma-mapping.h>
16 #include <linux/dmaengine.h>
17 
18 /**
19  * struct xilinx_vdma_config - VDMA Configuration structure
20  * @frm_dly: Frame delay
21  * @gen_lock: Whether in gen-lock mode
22  * @master: Master that it syncs to
23  * @frm_cnt_en: Enable frame count enable
24  * @park: Whether wants to park
25  * @park_frm: Frame to park on
26  * @coalesc: Interrupt coalescing threshold
27  * @delay: Delay counter
28  * @reset: Reset Channel
29  * @ext_fsync: External Frame Sync source
30  */
31 struct xilinx_vdma_config {
32 	int frm_dly;
33 	int gen_lock;
34 	int master;
35 	int frm_cnt_en;
36 	int park;
37 	int park_frm;
38 	int coalesc;
39 	int delay;
40 	int reset;
41 	int ext_fsync;
42 };
43 
44 /**
45  * enum xdma_ip_type: DMA IP type.
46  *
47  * XDMA_TYPE_AXIDMA: Axi dma ip.
48  * XDMA_TYPE_CDMA: Axi cdma ip.
49  * XDMA_TYPE_VDMA: Axi vdma ip.
50  *
51  */
52 enum xdma_ip_type {
53 	XDMA_TYPE_AXIDMA = 0,
54 	XDMA_TYPE_CDMA,
55 	XDMA_TYPE_VDMA,
56 };
57 
58 int xilinx_vdma_channel_set_config(struct dma_chan *dchan,
59 					struct xilinx_vdma_config *cfg);
60 
61 #endif
62