aboutsummaryrefslogtreecommitdiffstats
path: root/arch
diff options
context:
space:
mode:
authorStefan Nilsson XK <stefan.xk.nilsson@stericsson.com>2011-10-26 04:50:42 -0400
committerLinus Walleij <linus.walleij@linaro.org>2011-12-12 03:48:31 -0500
commit76d6717bce0e725b280ca18b42725421774eb554 (patch)
tree83b6ce801bd8c5b293fd064afb8a27892bafaff2 /arch
parent559f7a0346a48af91f6127677c843d0182ac0715 (diff)
ARM: ux500: add device sdi1 for SDIO
Adds device sdi1 for ST-Ericsson HREFv60 and later to enable the possiblity of using the onboard CW1200 chip for WLAN. Signed-off-by: Stefan Nilsson XK <stefan.xk.nilsson@stericsson.com> Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Diffstat (limited to 'arch')
-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}