diff options
author | Stefan Nilsson XK <stefan.xk.nilsson@stericsson.com> | 2011-10-26 04:50:42 -0400 |
---|---|---|
committer | Linus Walleij <linus.walleij@linaro.org> | 2011-12-12 03:48:31 -0500 |
commit | 76d6717bce0e725b280ca18b42725421774eb554 (patch) | |
tree | 83b6ce801bd8c5b293fd064afb8a27892bafaff2 /arch/arm/mach-ux500 | |
parent | 559f7a0346a48af91f6127677c843d0182ac0715 (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/arm/mach-ux500')
-rw-r--r-- | arch/arm/mach-ux500/board-mop500-sdi.c | 38 |
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 | ||
138 | static 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 | |||
147 | static 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 | |||
157 | static 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 | } |