diff options
Diffstat (limited to 'arch/blackfin/mach-bf533')
-rw-r--r-- | arch/blackfin/mach-bf533/boards/cm_bf533.c | 114 |
1 files changed, 112 insertions, 2 deletions
diff --git a/arch/blackfin/mach-bf533/boards/cm_bf533.c b/arch/blackfin/mach-bf533/boards/cm_bf533.c index ef31bc5fb1c4..7443b26c80c5 100644 --- a/arch/blackfin/mach-bf533/boards/cm_bf533.c +++ b/arch/blackfin/mach-bf533/boards/cm_bf533.c | |||
@@ -31,8 +31,10 @@ | |||
31 | #include <linux/platform_device.h> | 31 | #include <linux/platform_device.h> |
32 | #include <linux/mtd/mtd.h> | 32 | #include <linux/mtd/mtd.h> |
33 | #include <linux/mtd/partitions.h> | 33 | #include <linux/mtd/partitions.h> |
34 | #include <linux/mtd/physmap.h> | ||
34 | #include <linux/spi/spi.h> | 35 | #include <linux/spi/spi.h> |
35 | #include <linux/spi/flash.h> | 36 | #include <linux/spi/flash.h> |
37 | #include <linux/spi/mmc_spi.h> | ||
36 | #if defined(CONFIG_USB_ISP1362_HCD) || defined(CONFIG_USB_ISP1362_HCD_MODULE) | 38 | #if defined(CONFIG_USB_ISP1362_HCD) || defined(CONFIG_USB_ISP1362_HCD_MODULE) |
37 | #include <linux/usb/isp1362.h> | 39 | #include <linux/usb/isp1362.h> |
38 | #endif | 40 | #endif |
@@ -141,9 +143,9 @@ static struct spi_board_info bfin_spi_board_info[] __initdata = { | |||
141 | #if defined(CONFIG_MMC_SPI) || defined(CONFIG_MMC_SPI_MODULE) | 143 | #if defined(CONFIG_MMC_SPI) || defined(CONFIG_MMC_SPI_MODULE) |
142 | { | 144 | { |
143 | .modalias = "mmc_spi", | 145 | .modalias = "mmc_spi", |
144 | .max_speed_hz = 25000000, /* max spi clock (SCK) speed in HZ */ | 146 | .max_speed_hz = 20000000, /* max spi clock (SCK) speed in HZ */ |
145 | .bus_num = 0, | 147 | .bus_num = 0, |
146 | .chip_select = 5, | 148 | .chip_select = 1, |
147 | .controller_data = &mmc_spi_chip_info, | 149 | .controller_data = &mmc_spi_chip_info, |
148 | .mode = SPI_MODE_3, | 150 | .mode = SPI_MODE_3, |
149 | }, | 151 | }, |
@@ -225,6 +227,40 @@ static struct platform_device smc91x_device = { | |||
225 | }; | 227 | }; |
226 | #endif | 228 | #endif |
227 | 229 | ||
230 | #if defined(CONFIG_SMSC911X) || defined(CONFIG_SMSC911X_MODULE) | ||
231 | #include <linux/smsc911x.h> | ||
232 | |||
233 | static struct resource smsc911x_resources[] = { | ||
234 | { | ||
235 | .name = "smsc911x-memory", | ||
236 | .start = 0x20308000, | ||
237 | .end = 0x20308000 + 0xFF, | ||
238 | .flags = IORESOURCE_MEM, | ||
239 | }, { | ||
240 | .start = IRQ_PF8, | ||
241 | .end = IRQ_PF8, | ||
242 | .flags = IORESOURCE_IRQ | IORESOURCE_IRQ_LOWLEVEL, | ||
243 | }, | ||
244 | }; | ||
245 | |||
246 | static struct smsc911x_platform_config smsc911x_config = { | ||
247 | .flags = SMSC911X_USE_16BIT, | ||
248 | .irq_polarity = SMSC911X_IRQ_POLARITY_ACTIVE_LOW, | ||
249 | .irq_type = SMSC911X_IRQ_TYPE_OPEN_DRAIN, | ||
250 | .phy_interface = PHY_INTERFACE_MODE_MII, | ||
251 | }; | ||
252 | |||
253 | static struct platform_device smsc911x_device = { | ||
254 | .name = "smsc911x", | ||
255 | .id = 0, | ||
256 | .num_resources = ARRAY_SIZE(smsc911x_resources), | ||
257 | .resource = smsc911x_resources, | ||
258 | .dev = { | ||
259 | .platform_data = &smsc911x_config, | ||
260 | }, | ||
261 | }; | ||
262 | #endif | ||
263 | |||
228 | static struct resource bfin_gpios_resources = { | 264 | static struct resource bfin_gpios_resources = { |
229 | .start = 0, | 265 | .start = 0, |
230 | .end = MAX_BLACKFIN_GPIOS - 1, | 266 | .end = MAX_BLACKFIN_GPIOS - 1, |
@@ -335,6 +371,68 @@ static struct platform_device isp1362_hcd_device = { | |||
335 | }; | 371 | }; |
336 | #endif | 372 | #endif |
337 | 373 | ||
374 | |||
375 | #if defined(CONFIG_USB_NET2272) || defined(CONFIG_USB_NET2272_MODULE) | ||
376 | static struct resource net2272_bfin_resources[] = { | ||
377 | { | ||
378 | .start = 0x20300000, | ||
379 | .end = 0x20300000 + 0x100, | ||
380 | .flags = IORESOURCE_MEM, | ||
381 | }, { | ||
382 | .start = IRQ_PF6, | ||
383 | .end = IRQ_PF6, | ||
384 | .flags = IORESOURCE_IRQ | IORESOURCE_IRQ_HIGHLEVEL, | ||
385 | }, | ||
386 | }; | ||
387 | |||
388 | static struct platform_device net2272_bfin_device = { | ||
389 | .name = "net2272", | ||
390 | .id = -1, | ||
391 | .num_resources = ARRAY_SIZE(net2272_bfin_resources), | ||
392 | .resource = net2272_bfin_resources, | ||
393 | }; | ||
394 | #endif | ||
395 | |||
396 | |||
397 | |||
398 | #if defined(CONFIG_MTD_PHYSMAP) || defined(CONFIG_MTD_PHYSMAP_MODULE) | ||
399 | static struct mtd_partition para_partitions[] = { | ||
400 | { | ||
401 | .name = "bootloader(nor)", | ||
402 | .size = 0x40000, | ||
403 | .offset = 0, | ||
404 | }, { | ||
405 | .name = "linux+rootfs(nor)", | ||
406 | .size = MTDPART_SIZ_FULL, | ||
407 | .offset = MTDPART_OFS_APPEND, | ||
408 | }, | ||
409 | }; | ||
410 | |||
411 | static struct physmap_flash_data para_flash_data = { | ||
412 | .width = 2, | ||
413 | .parts = para_partitions, | ||
414 | .nr_parts = ARRAY_SIZE(para_partitions), | ||
415 | }; | ||
416 | |||
417 | static struct resource para_flash_resource = { | ||
418 | .start = 0x20000000, | ||
419 | .end = 0x201fffff, | ||
420 | .flags = IORESOURCE_MEM, | ||
421 | }; | ||
422 | |||
423 | static struct platform_device para_flash_device = { | ||
424 | .name = "physmap-flash", | ||
425 | .id = 0, | ||
426 | .dev = { | ||
427 | .platform_data = ¶_flash_data, | ||
428 | }, | ||
429 | .num_resources = 1, | ||
430 | .resource = ¶_flash_resource, | ||
431 | }; | ||
432 | #endif | ||
433 | |||
434 | |||
435 | |||
338 | static const unsigned int cclk_vlev_datasheet[] = | 436 | static const unsigned int cclk_vlev_datasheet[] = |
339 | { | 437 | { |
340 | VRPAIR(VLEV_085, 250000000), | 438 | VRPAIR(VLEV_085, 250000000), |
@@ -393,10 +491,22 @@ static struct platform_device *cm_bf533_devices[] __initdata = { | |||
393 | &smc91x_device, | 491 | &smc91x_device, |
394 | #endif | 492 | #endif |
395 | 493 | ||
494 | #if defined(CONFIG_SMSC911X) || defined(CONFIG_SMSC911X_MODULE) | ||
495 | &smsc911x_device, | ||
496 | #endif | ||
497 | |||
498 | #if defined(CONFIG_USB_NET2272) || defined(CONFIG_USB_NET2272_MODULE) | ||
499 | &net2272_bfin_device, | ||
500 | #endif | ||
501 | |||
396 | #if defined(CONFIG_SPI_BFIN) || defined(CONFIG_SPI_BFIN_MODULE) | 502 | #if defined(CONFIG_SPI_BFIN) || defined(CONFIG_SPI_BFIN_MODULE) |
397 | &bfin_spi0_device, | 503 | &bfin_spi0_device, |
398 | #endif | 504 | #endif |
399 | 505 | ||
506 | #if defined(CONFIG_MTD_PHYSMAP) || defined(CONFIG_MTD_PHYSMAP_MODULE) | ||
507 | ¶_flash_device, | ||
508 | #endif | ||
509 | |||
400 | &bfin_gpios_device, | 510 | &bfin_gpios_device, |
401 | }; | 511 | }; |
402 | 512 | ||