2012-04-20 13:32:59 +04:00
|
|
|
/*
|
|
|
|
* Copyright (C) ST-Ericsson SA 2010
|
|
|
|
*
|
|
|
|
* License terms: GNU General Public License (GPL), version 2
|
|
|
|
*/
|
|
|
|
|
|
|
|
#include <linux/platform_device.h>
|
|
|
|
#include <linux/init.h>
|
|
|
|
#include <linux/gpio.h>
|
2012-10-18 16:20:16 +04:00
|
|
|
#include <linux/platform_data/dma-ste-dma40.h>
|
2012-04-20 13:32:59 +04:00
|
|
|
|
2013-03-22 01:51:08 +04:00
|
|
|
#include "irqs.h"
|
2013-03-22 01:51:06 +04:00
|
|
|
#include <linux/platform_data/asoc-ux500-msp.h>
|
2012-04-20 13:32:59 +04:00
|
|
|
|
2012-05-07 12:34:16 +04:00
|
|
|
#include "ste-dma40-db8500.h"
|
2012-04-20 13:32:59 +04:00
|
|
|
#include "board-mop500.h"
|
|
|
|
|
|
|
|
static struct stedma40_chan_cfg msp0_dma_rx = {
|
|
|
|
.high_priority = true,
|
2013-05-15 13:51:53 +04:00
|
|
|
.dir = DMA_DEV_TO_MEM,
|
2013-05-03 18:31:56 +04:00
|
|
|
.dev_type = DB8500_DMA_DEV31_MSP0_SLIM0_CH0,
|
2012-04-20 13:32:59 +04:00
|
|
|
};
|
|
|
|
|
|
|
|
static struct stedma40_chan_cfg msp0_dma_tx = {
|
|
|
|
.high_priority = true,
|
2013-05-15 13:51:53 +04:00
|
|
|
.dir = DMA_MEM_TO_DEV,
|
2013-05-03 18:31:56 +04:00
|
|
|
.dev_type = DB8500_DMA_DEV31_MSP0_SLIM0_CH0,
|
2012-04-20 13:32:59 +04:00
|
|
|
};
|
|
|
|
|
2012-07-25 16:58:36 +04:00
|
|
|
struct msp_i2s_platform_data msp0_platform_data = {
|
2012-04-20 13:32:59 +04:00
|
|
|
.id = MSP_I2S_0,
|
|
|
|
.msp_i2s_dma_rx = &msp0_dma_rx,
|
|
|
|
.msp_i2s_dma_tx = &msp0_dma_tx,
|
|
|
|
};
|
|
|
|
|
|
|
|
static struct stedma40_chan_cfg msp1_dma_rx = {
|
|
|
|
.high_priority = true,
|
2013-05-15 13:51:53 +04:00
|
|
|
.dir = DMA_DEV_TO_MEM,
|
2013-05-03 18:31:56 +04:00
|
|
|
.dev_type = DB8500_DMA_DEV30_MSP3,
|
2012-04-20 13:32:59 +04:00
|
|
|
};
|
|
|
|
|
|
|
|
static struct stedma40_chan_cfg msp1_dma_tx = {
|
|
|
|
.high_priority = true,
|
2013-05-15 13:51:53 +04:00
|
|
|
.dir = DMA_MEM_TO_DEV,
|
2013-05-03 18:31:56 +04:00
|
|
|
.dev_type = DB8500_DMA_DEV30_MSP1,
|
2012-04-20 13:32:59 +04:00
|
|
|
};
|
|
|
|
|
2012-07-25 16:58:36 +04:00
|
|
|
struct msp_i2s_platform_data msp1_platform_data = {
|
2012-04-20 13:32:59 +04:00
|
|
|
.id = MSP_I2S_1,
|
|
|
|
.msp_i2s_dma_rx = NULL,
|
|
|
|
.msp_i2s_dma_tx = &msp1_dma_tx,
|
|
|
|
};
|
|
|
|
|
|
|
|
static struct stedma40_chan_cfg msp2_dma_rx = {
|
|
|
|
.high_priority = true,
|
2013-05-15 13:51:53 +04:00
|
|
|
.dir = DMA_DEV_TO_MEM,
|
2013-05-03 18:31:56 +04:00
|
|
|
.dev_type = DB8500_DMA_DEV14_MSP2,
|
2012-04-20 13:32:59 +04:00
|
|
|
};
|
|
|
|
|
|
|
|
static struct stedma40_chan_cfg msp2_dma_tx = {
|
|
|
|
.high_priority = true,
|
2013-05-15 13:51:53 +04:00
|
|
|
.dir = DMA_MEM_TO_DEV,
|
2013-05-03 18:31:56 +04:00
|
|
|
.dev_type = DB8500_DMA_DEV14_MSP2,
|
2012-04-20 13:32:59 +04:00
|
|
|
.use_fixed_channel = true,
|
|
|
|
.phy_channel = 1,
|
|
|
|
};
|
|
|
|
|
2012-07-25 16:58:36 +04:00
|
|
|
struct msp_i2s_platform_data msp2_platform_data = {
|
2012-04-20 13:32:59 +04:00
|
|
|
.id = MSP_I2S_2,
|
|
|
|
.msp_i2s_dma_rx = &msp2_dma_rx,
|
|
|
|
.msp_i2s_dma_tx = &msp2_dma_tx,
|
|
|
|
};
|
|
|
|
|
2012-07-25 16:58:36 +04:00
|
|
|
struct msp_i2s_platform_data msp3_platform_data = {
|
2012-04-20 13:32:59 +04:00
|
|
|
.id = MSP_I2S_3,
|
|
|
|
.msp_i2s_dma_rx = &msp1_dma_rx,
|
|
|
|
.msp_i2s_dma_tx = NULL,
|
|
|
|
};
|