diff options
Diffstat (limited to 'arch/blackfin/mach-bf533/boards/stamp.c')
-rw-r--r-- | arch/blackfin/mach-bf533/boards/stamp.c | 47 |
1 files changed, 44 insertions, 3 deletions
diff --git a/arch/blackfin/mach-bf533/boards/stamp.c b/arch/blackfin/mach-bf533/boards/stamp.c index d7b3a5d74e8c..9a472fe15833 100644 --- a/arch/blackfin/mach-bf533/boards/stamp.c +++ b/arch/blackfin/mach-bf533/boards/stamp.c | |||
@@ -164,6 +164,13 @@ static struct bfin5xx_spi_chip ad5304_chip_info = { | |||
164 | }; | 164 | }; |
165 | #endif | 165 | #endif |
166 | 166 | ||
167 | #if defined(CONFIG_SPI_MMC) || defined(CONFIG_SPI_MMC_MODULE) | ||
168 | static struct bfin5xx_spi_chip spi_mmc_chip_info = { | ||
169 | .enable_dma = 1, | ||
170 | .bits_per_word = 8, | ||
171 | }; | ||
172 | #endif | ||
173 | |||
167 | static struct spi_board_info bfin_spi_board_info[] __initdata = { | 174 | static struct spi_board_info bfin_spi_board_info[] __initdata = { |
168 | #if defined(CONFIG_MTD_M25P80) || defined(CONFIG_MTD_M25P80_MODULE) | 175 | #if defined(CONFIG_MTD_M25P80) || defined(CONFIG_MTD_M25P80_MODULE) |
169 | { | 176 | { |
@@ -199,6 +206,27 @@ static struct spi_board_info bfin_spi_board_info[] __initdata = { | |||
199 | }, | 206 | }, |
200 | #endif | 207 | #endif |
201 | 208 | ||
209 | #if defined(CONFIG_SPI_MMC) || defined(CONFIG_SPI_MMC_MODULE) | ||
210 | { | ||
211 | .modalias = "spi_mmc_dummy", | ||
212 | .max_speed_hz = 25000000, /* max spi clock (SCK) speed in HZ */ | ||
213 | .bus_num = 1, | ||
214 | .chip_select = 0, | ||
215 | .platform_data = NULL, | ||
216 | .controller_data = &spi_mmc_chip_info, | ||
217 | .mode = SPI_MODE_3, | ||
218 | }, | ||
219 | { | ||
220 | .modalias = "spi_mmc", | ||
221 | .max_speed_hz = 25000000, /* max spi clock (SCK) speed in HZ */ | ||
222 | .bus_num = 1, | ||
223 | .chip_select = CONFIG_SPI_MMC_CS_CHAN, | ||
224 | .platform_data = NULL, | ||
225 | .controller_data = &spi_mmc_chip_info, | ||
226 | .mode = SPI_MODE_3, | ||
227 | }, | ||
228 | #endif | ||
229 | |||
202 | #if defined(CONFIG_PBX) | 230 | #if defined(CONFIG_PBX) |
203 | { | 231 | { |
204 | .modalias = "fxs-spi", | 232 | .modalias = "fxs-spi", |
@@ -310,12 +338,25 @@ static struct platform_device *stamp_devices[] __initdata = { | |||
310 | 338 | ||
311 | static int __init stamp_init(void) | 339 | static int __init stamp_init(void) |
312 | { | 340 | { |
341 | int ret; | ||
342 | |||
313 | printk(KERN_INFO "%s(): registering device resources\n", __FUNCTION__); | 343 | printk(KERN_INFO "%s(): registering device resources\n", __FUNCTION__); |
314 | platform_add_devices(stamp_devices, ARRAY_SIZE(stamp_devices)); | 344 | ret = platform_add_devices(stamp_devices, ARRAY_SIZE(stamp_devices)); |
345 | if (ret < 0) | ||
346 | return ret; | ||
347 | |||
348 | #if defined(CONFIG_SMC91X) || defined(CONFIG_SMC91X_MODULE) | ||
349 | # if defined(CONFIG_BFIN_SHARED_FLASH_ENET) | ||
350 | /* setup BF533_STAMP CPLD to route AMS3 to Ethernet MAC */ | ||
351 | bfin_write_FIO_DIR(bfin_read_FIO_DIR() | (1 << CONFIG_ENET_FLASH_PIN)); | ||
352 | bfin_write_FIO_FLAG_S(1 << CONFIG_ENET_FLASH_PIN); | ||
353 | SSYNC(); | ||
354 | # endif | ||
355 | #endif | ||
356 | |||
315 | #if defined(CONFIG_SPI_BFIN) || defined(CONFIG_SPI_BFIN_MODULE) | 357 | #if defined(CONFIG_SPI_BFIN) || defined(CONFIG_SPI_BFIN_MODULE) |
316 | spi_register_board_info(bfin_spi_board_info, ARRAY_SIZE(bfin_spi_board_info)); | 358 | return spi_register_board_info(bfin_spi_board_info, ARRAY_SIZE(bfin_spi_board_info)); |
317 | #endif | 359 | #endif |
318 | return 0; | ||
319 | } | 360 | } |
320 | 361 | ||
321 | arch_initcall(stamp_init); | 362 | arch_initcall(stamp_init); |