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 */ 31struct 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 */ 52enum xdma_ip_type { 53 XDMA_TYPE_AXIDMA = 0, 54 XDMA_TYPE_CDMA, 55 XDMA_TYPE_VDMA, 56}; 57 58int xilinx_vdma_channel_set_config(struct dma_chan *dchan, 59 struct xilinx_vdma_config *cfg); 60 61#endif 62