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