Merge tag 'pinctrl-v3.14-3' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw...
[platform/adaptation/renesas_rcar/renesas_kernel.git] / include / linux / timb_dma.h
1 /*
2  * timb_dma.h timberdale FPGA DMA driver defines
3  * Copyright (c) 2010 Intel Corporation
4  *
5  * This program is free software; you can redistribute it and/or modify
6  * it under the terms of the GNU General Public License version 2 as
7  * published by the Free Software Foundation.
8  *
9  * This program is distributed in the hope that it will be useful,
10  * but WITHOUT ANY WARRANTY; without even the implied warranty of
11  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
12  * GNU General Public License for more details.
13  *
14  * You should have received a copy of the GNU General Public License
15  * along with this program; if not, write to the Free Software
16  * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
17  */
18
19 /* Supports:
20  * Timberdale FPGA DMA engine
21  */
22
23 #ifndef _LINUX_TIMB_DMA_H
24 #define _LINUX_TIMB_DMA_H
25
26 /**
27  * struct timb_dma_platform_data_channel - Description of each individual
28  *      DMA channel for the timberdale DMA driver
29  * @rx:                 true if this channel handles data in the direction to
30  *      the CPU.
31  * @bytes_per_line:     Number of bytes per line, this is specific for channels
32  *      handling video data. For other channels this shall be left to 0.
33  * @descriptors:        Number of descriptors to allocate for this channel.
34  * @descriptor_elements: Number of elements in each descriptor.
35  *
36  */
37 struct timb_dma_platform_data_channel {
38         bool rx;
39         unsigned int bytes_per_line;
40         unsigned int descriptors;
41         unsigned int descriptor_elements;
42 };
43
44 /**
45  * struct timb_dma_platform_data - Platform data of the timberdale DMA driver
46  * @nr_channels:        Number of defined channels in the channels array.
47  * @channels:           Definition of the each channel.
48  *
49  */
50 struct timb_dma_platform_data {
51         unsigned nr_channels;
52         struct timb_dma_platform_data_channel channels[32];
53 };
54
55 #endif