blob: 33ad3b0ab8ea664430c26b6d9e20b8c754196ed7 [file] [log] [blame]
Thomas Gleixner82c29812019-05-28 09:57:05 -07001/* SPDX-License-Identifier: GPL-2.0-only */
Richard Röjforsde5d4452010-03-25 19:44:21 +01002/*
3 * timb_dma.h timberdale FPGA DMA driver defines
4 * Copyright (c) 2010 Intel Corporation
Richard Röjforsde5d4452010-03-25 19:44:21 +01005 */
6
7/* Supports:
8 * Timberdale FPGA DMA engine
9 */
10
11#ifndef _LINUX_TIMB_DMA_H
12#define _LINUX_TIMB_DMA_H
13
14/**
15 * struct timb_dma_platform_data_channel - Description of each individual
16 * DMA channel for the timberdale DMA driver
17 * @rx: true if this channel handles data in the direction to
18 * the CPU.
19 * @bytes_per_line: Number of bytes per line, this is specific for channels
20 * handling video data. For other channels this shall be left to 0.
21 * @descriptors: Number of descriptors to allocate for this channel.
22 * @descriptor_elements: Number of elements in each descriptor.
23 *
24 */
25struct timb_dma_platform_data_channel {
26 bool rx;
27 unsigned int bytes_per_line;
28 unsigned int descriptors;
29 unsigned int descriptor_elements;
30};
31
32/**
33 * struct timb_dma_platform_data - Platform data of the timberdale DMA driver
34 * @nr_channels: Number of defined channels in the channels array.
35 * @channels: Definition of the each channel.
36 *
37 */
38struct timb_dma_platform_data {
39 unsigned nr_channels;
40 struct timb_dma_platform_data_channel channels[32];
41};
42
43#endif