2012-04-20 09:32:59 +00: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-10 12:27:58 +00:00
|
|
|
#include <linux/platform_data/pinctrl-nomadik.h>
|
2012-10-18 12:20:16 +00:00
|
|
|
#include <linux/platform_data/dma-ste-dma40.h>
|
2012-04-20 09:32:59 +00:00
|
|
|
|
2013-03-21 21:51:12 +00:00
|
|
|
#include "devices.h"
|
2013-03-21 21:51:08 +00:00
|
|
|
#include "irqs.h"
|
2013-03-21 21:51:06 +00:00
|
|
|
#include <linux/platform_data/asoc-ux500-msp.h>
|
2012-04-20 09:32:59 +00:00
|
|
|
|
2012-05-07 08:34:16 +00:00
|
|
|
#include "ste-dma40-db8500.h"
|
2012-04-20 09:32:59 +00:00
|
|
|
#include "board-mop500.h"
|
|
|
|
#include "devices-db8500.h"
|
|
|
|
|
|
|
|
static struct stedma40_chan_cfg msp0_dma_rx = {
|
|
|
|
.high_priority = true,
|
2013-05-15 09:51:53 +00:00
|
|
|
.dir = DMA_DEV_TO_MEM,
|
2013-05-03 14:31:56 +00:00
|
|
|
.dev_type = DB8500_DMA_DEV31_MSP0_SLIM0_CH0,
|
2012-04-20 09:32:59 +00:00
|
|
|
};
|
|
|
|
|
|
|
|
static struct stedma40_chan_cfg msp0_dma_tx = {
|
|
|
|
.high_priority = true,
|
2013-05-15 09:51:53 +00:00
|
|
|
.dir = DMA_MEM_TO_DEV,
|
2013-05-03 14:31:56 +00:00
|
|
|
.dev_type = DB8500_DMA_DEV31_MSP0_SLIM0_CH0,
|
2012-04-20 09:32:59 +00:00
|
|
|
};
|
|
|
|
|
2012-07-25 12:58:36 +00:00
|
|
|
struct msp_i2s_platform_data msp0_platform_data = {
|
2012-04-20 09:32:59 +00: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 09:51:53 +00:00
|
|
|
.dir = DMA_DEV_TO_MEM,
|
2013-05-03 14:31:56 +00:00
|
|
|
.dev_type = DB8500_DMA_DEV30_MSP3,
|
2012-04-20 09:32:59 +00:00
|
|
|
};
|
|
|
|
|
|
|
|
static struct stedma40_chan_cfg msp1_dma_tx = {
|
|
|
|
.high_priority = true,
|
2013-05-15 09:51:53 +00:00
|
|
|
.dir = DMA_MEM_TO_DEV,
|
2013-05-03 14:31:56 +00:00
|
|
|
.dev_type = DB8500_DMA_DEV30_MSP1,
|
2012-04-20 09:32:59 +00:00
|
|
|
};
|
|
|
|
|
2012-07-25 12:58:36 +00:00
|
|
|
struct msp_i2s_platform_data msp1_platform_data = {
|
2012-04-20 09:32:59 +00: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 09:51:53 +00:00
|
|
|
.dir = DMA_DEV_TO_MEM,
|
2013-05-03 14:31:56 +00:00
|
|
|
.dev_type = DB8500_DMA_DEV14_MSP2,
|
2012-04-20 09:32:59 +00:00
|
|
|
};
|
|
|
|
|
|
|
|
static struct stedma40_chan_cfg msp2_dma_tx = {
|
|
|
|
.high_priority = true,
|
2013-05-15 09:51:53 +00:00
|
|
|
.dir = DMA_MEM_TO_DEV,
|
2013-05-03 14:31:56 +00:00
|
|
|
.dev_type = DB8500_DMA_DEV14_MSP2,
|
2012-04-20 09:32:59 +00:00
|
|
|
.use_fixed_channel = true,
|
|
|
|
.phy_channel = 1,
|
|
|
|
};
|
|
|
|
|
2012-07-25 12:58:36 +00:00
|
|
|
struct msp_i2s_platform_data msp2_platform_data = {
|
2012-04-20 09:32:59 +00:00
|
|
|
.id = MSP_I2S_2,
|
|
|
|
.msp_i2s_dma_rx = &msp2_dma_rx,
|
|
|
|
.msp_i2s_dma_tx = &msp2_dma_tx,
|
|
|
|
};
|
|
|
|
|
2012-07-25 12:58:36 +00:00
|
|
|
struct msp_i2s_platform_data msp3_platform_data = {
|
2012-04-20 09:32:59 +00:00
|
|
|
.id = MSP_I2S_3,
|
|
|
|
.msp_i2s_dma_rx = &msp1_dma_rx,
|
|
|
|
.msp_i2s_dma_tx = NULL,
|
|
|
|
};
|