1/*
2 * Copyright (C) ST-Ericsson SA 2010
3 *
4 * License terms: GNU General Public License (GPL), version 2
5 */
6
7#include <linux/platform_device.h>
8#include <linux/init.h>
9#include <linux/gpio.h>
10#include <linux/platform_data/dma-ste-dma40.h>
11
12#include <linux/platform_data/asoc-ux500-msp.h>
13
14#include "ste-dma40-db8500.h"
15#include "board-mop500.h"
16
17static struct stedma40_chan_cfg msp0_dma_rx = {
18	.high_priority = true,
19	.dir = DMA_DEV_TO_MEM,
20	.dev_type = DB8500_DMA_DEV31_MSP0_SLIM0_CH0,
21};
22
23static struct stedma40_chan_cfg msp0_dma_tx = {
24	.high_priority = true,
25	.dir = DMA_MEM_TO_DEV,
26	.dev_type = DB8500_DMA_DEV31_MSP0_SLIM0_CH0,
27};
28
29struct msp_i2s_platform_data msp0_platform_data = {
30	.id = 0,
31	.msp_i2s_dma_rx = &msp0_dma_rx,
32	.msp_i2s_dma_tx = &msp0_dma_tx,
33};
34
35static struct stedma40_chan_cfg msp1_dma_rx = {
36	.high_priority = true,
37	.dir = DMA_DEV_TO_MEM,
38	.dev_type = DB8500_DMA_DEV30_MSP3,
39};
40
41static struct stedma40_chan_cfg msp1_dma_tx = {
42	.high_priority = true,
43	.dir = DMA_MEM_TO_DEV,
44	.dev_type = DB8500_DMA_DEV30_MSP1,
45};
46
47struct msp_i2s_platform_data msp1_platform_data = {
48	.id = 1,
49	.msp_i2s_dma_rx = NULL,
50	.msp_i2s_dma_tx = &msp1_dma_tx,
51};
52
53static struct stedma40_chan_cfg msp2_dma_rx = {
54	.high_priority = true,
55	.dir = DMA_DEV_TO_MEM,
56	.dev_type = DB8500_DMA_DEV14_MSP2,
57};
58
59static struct stedma40_chan_cfg msp2_dma_tx = {
60	.high_priority = true,
61	.dir = DMA_MEM_TO_DEV,
62	.dev_type = DB8500_DMA_DEV14_MSP2,
63	.use_fixed_channel = true,
64	.phy_channel = 1,
65};
66
67struct msp_i2s_platform_data msp2_platform_data = {
68	.id = 2,
69	.msp_i2s_dma_rx = &msp2_dma_rx,
70	.msp_i2s_dma_tx = &msp2_dma_tx,
71};
72
73struct msp_i2s_platform_data msp3_platform_data = {
74	.id		= 3,
75	.msp_i2s_dma_rx	= &msp1_dma_rx,
76	.msp_i2s_dma_tx	= NULL,
77};
78