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 17 static 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 23 static 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 29 struct 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 35 static 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 41 static 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 47 struct 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 53 static 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 59 static 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 67 struct 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 73 struct 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