aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--arch/arm/mach-ux500/board-mop500-sdi.c38
1 files changed, 38 insertions, 0 deletions
diff --git a/arch/arm/mach-ux500/board-mop500-sdi.c b/arch/arm/mach-ux500/board-mop500-sdi.c
index 6826faeecc68..cf93dca97b9a 100644
--- a/arch/arm/mach-ux500/board-mop500-sdi.c
+++ b/arch/arm/mach-ux500/board-mop500-sdi.c
@@ -132,6 +132,42 @@ void mop500_sdi_tc35892_init(void)
132} 132}
133 133
134/* 134/*
135 * SDI1 (SDIO WLAN)
136 */
137#ifdef CONFIG_STE_DMA40
138static struct stedma40_chan_cfg sdi1_dma_cfg_rx = {
139 .mode = STEDMA40_MODE_LOGICAL,
140 .dir = STEDMA40_PERIPH_TO_MEM,
141 .src_dev_type = DB8500_DMA_DEV32_SD_MM1_RX,
142 .dst_dev_type = STEDMA40_DEV_DST_MEMORY,
143 .src_info.data_width = STEDMA40_WORD_WIDTH,
144 .dst_info.data_width = STEDMA40_WORD_WIDTH,
145};
146
147static struct stedma40_chan_cfg sdi1_dma_cfg_tx = {
148 .mode = STEDMA40_MODE_LOGICAL,
149 .dir = STEDMA40_MEM_TO_PERIPH,
150 .src_dev_type = STEDMA40_DEV_SRC_MEMORY,
151 .dst_dev_type = DB8500_DMA_DEV32_SD_MM1_TX,
152 .src_info.data_width = STEDMA40_WORD_WIDTH,
153 .dst_info.data_width = STEDMA40_WORD_WIDTH,
154};
155#endif
156
157static struct mmci_platform_data mop500_sdi1_data = {
158 .ocr_mask = MMC_VDD_29_30,
159 .f_max = 50000000,
160 .capabilities = MMC_CAP_4_BIT_DATA,
161 .gpio_cd = -1,
162 .gpio_wp = -1,
163#ifdef CONFIG_STE_DMA40
164 .dma_filter = stedma40_filter,
165 .dma_rx_param = &sdi1_dma_cfg_rx,
166 .dma_tx_param = &sdi1_dma_cfg_tx,
167#endif
168};
169
170/*
135 * SDI 2 (POP eMMC, not on DB8500ed) 171 * SDI 2 (POP eMMC, not on DB8500ed)
136 */ 172 */
137 173
@@ -260,4 +296,6 @@ void __init hrefv60_sdi_init(void)
260 sdi0_en = HREFV60_SDMMC_EN_GPIO; 296 sdi0_en = HREFV60_SDMMC_EN_GPIO;
261 sdi0_vsel = HREFV60_SDMMC_1V8_3V_GPIO; 297 sdi0_vsel = HREFV60_SDMMC_1V8_3V_GPIO;
262 sdi0_configure(); 298 sdi0_configure();
299
300 db8500_add_sdi1(&mop500_sdi1_data, periphid);
263} 301}