aboutsummaryrefslogtreecommitdiffstats
path: root/arch/blackfin/mach-bf533/boards/stamp.c
diff options
context:
space:
mode:
Diffstat (limited to 'arch/blackfin/mach-bf533/boards/stamp.c')
-rw-r--r--arch/blackfin/mach-bf533/boards/stamp.c47
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)
168static struct bfin5xx_spi_chip spi_mmc_chip_info = {
169 .enable_dma = 1,
170 .bits_per_word = 8,
171};
172#endif
173
167static struct spi_board_info bfin_spi_board_info[] __initdata = { 174static 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
311static int __init stamp_init(void) 339static 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
321arch_initcall(stamp_init); 362arch_initcall(stamp_init);