1/*
2 * Platform data for the COH901318 DMA controller
3 * Copyright (C) 2007-2013 ST-Ericsson
4 * License terms: GNU General Public License (GPL) version 2
5 */
6
7#ifndef PLAT_COH901318_H
8#define PLAT_COH901318_H
9
10#ifdef CONFIG_COH901318
11
12/* We only support the U300 DMA channels */
13#define U300_DMA_MSL_TX_0		0
14#define U300_DMA_MSL_TX_1		1
15#define U300_DMA_MSL_TX_2		2
16#define U300_DMA_MSL_TX_3		3
17#define U300_DMA_MSL_TX_4		4
18#define U300_DMA_MSL_TX_5		5
19#define U300_DMA_MSL_TX_6		6
20#define U300_DMA_MSL_RX_0		7
21#define U300_DMA_MSL_RX_1		8
22#define U300_DMA_MSL_RX_2		9
23#define U300_DMA_MSL_RX_3		10
24#define U300_DMA_MSL_RX_4		11
25#define U300_DMA_MSL_RX_5		12
26#define U300_DMA_MSL_RX_6		13
27#define U300_DMA_MMCSD_RX_TX		14
28#define U300_DMA_MSPRO_TX		15
29#define U300_DMA_MSPRO_RX		16
30#define U300_DMA_UART0_TX		17
31#define U300_DMA_UART0_RX		18
32#define U300_DMA_APEX_TX		19
33#define U300_DMA_APEX_RX		20
34#define U300_DMA_PCM_I2S0_TX		21
35#define U300_DMA_PCM_I2S0_RX		22
36#define U300_DMA_PCM_I2S1_TX		23
37#define U300_DMA_PCM_I2S1_RX		24
38#define U300_DMA_XGAM_CDI		25
39#define U300_DMA_XGAM_PDI		26
40#define U300_DMA_SPI_TX			27
41#define U300_DMA_SPI_RX			28
42#define U300_DMA_GENERAL_PURPOSE_0	29
43#define U300_DMA_GENERAL_PURPOSE_1	30
44#define U300_DMA_GENERAL_PURPOSE_2	31
45#define U300_DMA_GENERAL_PURPOSE_3	32
46#define U300_DMA_GENERAL_PURPOSE_4	33
47#define U300_DMA_GENERAL_PURPOSE_5	34
48#define U300_DMA_GENERAL_PURPOSE_6	35
49#define U300_DMA_GENERAL_PURPOSE_7	36
50#define U300_DMA_GENERAL_PURPOSE_8	37
51#define U300_DMA_UART1_TX		38
52#define U300_DMA_UART1_RX		39
53
54#define U300_DMA_DEVICE_CHANNELS	32
55#define U300_DMA_CHANNELS		40
56
57/**
58 * coh901318_filter_id() - DMA channel filter function
59 * @chan: dma channel handle
60 * @chan_id: id of dma channel to be filter out
61 *
62 * In dma_request_channel() it specifies what channel id to be requested
63 */
64bool coh901318_filter_id(struct dma_chan *chan, void *chan_id);
65#else
66static inline bool coh901318_filter_id(struct dma_chan *chan, void *chan_id)
67{
68	return false;
69}
70#endif
71
72#endif /* PLAT_COH901318_H */
73