linux/include/linux/dma/xilinx_dma.h
<<
>>
Prefs
   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