diff options
Diffstat (limited to 'arch/blackfin')
-rw-r--r-- | arch/blackfin/mach-bf537/boards/cm_bf537.c | 54 |
1 files changed, 54 insertions, 0 deletions
diff --git a/arch/blackfin/mach-bf537/boards/cm_bf537.c b/arch/blackfin/mach-bf537/boards/cm_bf537.c index cb73ed5cc1a4..fa6064f6d575 100644 --- a/arch/blackfin/mach-bf537/boards/cm_bf537.c +++ b/arch/blackfin/mach-bf537/boards/cm_bf537.c | |||
@@ -33,6 +33,7 @@ | |||
33 | #include <linux/platform_device.h> | 33 | #include <linux/platform_device.h> |
34 | #include <linux/mtd/mtd.h> | 34 | #include <linux/mtd/mtd.h> |
35 | #include <linux/mtd/partitions.h> | 35 | #include <linux/mtd/partitions.h> |
36 | #include <linux/mtd/physmap.h> | ||
36 | #include <linux/spi/spi.h> | 37 | #include <linux/spi/spi.h> |
37 | #include <linux/spi/flash.h> | 38 | #include <linux/spi/flash.h> |
38 | #if defined(CONFIG_USB_ISP1362_HCD) || defined(CONFIG_USB_ISP1362_HCD_MODULE) | 39 | #if defined(CONFIG_USB_ISP1362_HCD) || defined(CONFIG_USB_ISP1362_HCD_MODULE) |
@@ -307,6 +308,55 @@ static struct platform_device net2272_bfin_device = { | |||
307 | }; | 308 | }; |
308 | #endif | 309 | #endif |
309 | 310 | ||
311 | #if defined(CONFIG_MTD_GPIO_ADDR) || defined(CONFIG_MTD_GPIO_ADDR_MODULE) | ||
312 | static struct mtd_partition cm_partitions[] = { | ||
313 | { | ||
314 | .name = "bootloader(nor)", | ||
315 | .size = 0x40000, | ||
316 | .offset = 0, | ||
317 | }, { | ||
318 | .name = "linux kernel(nor)", | ||
319 | .size = 0xE0000, | ||
320 | .offset = MTDPART_OFS_APPEND, | ||
321 | }, { | ||
322 | .name = "file system(nor)", | ||
323 | .size = MTDPART_SIZ_FULL, | ||
324 | .offset = MTDPART_OFS_APPEND, | ||
325 | } | ||
326 | }; | ||
327 | |||
328 | static struct physmap_flash_data cm_flash_data = { | ||
329 | .width = 2, | ||
330 | .parts = cm_partitions, | ||
331 | .nr_parts = ARRAY_SIZE(cm_partitions), | ||
332 | }; | ||
333 | |||
334 | static unsigned cm_flash_gpios[] = { GPIO_PF4 }; | ||
335 | |||
336 | static struct resource cm_flash_resource[] = { | ||
337 | { | ||
338 | .name = "cfi_probe", | ||
339 | .start = 0x20000000, | ||
340 | .end = 0x201fffff, | ||
341 | .flags = IORESOURCE_MEM, | ||
342 | }, { | ||
343 | .start = (unsigned long)cm_flash_gpios, | ||
344 | .end = ARRAY_SIZE(cm_flash_gpios), | ||
345 | .flags = IORESOURCE_IRQ, | ||
346 | } | ||
347 | }; | ||
348 | |||
349 | static struct platform_device cm_flash_device = { | ||
350 | .name = "gpio-addr-flash", | ||
351 | .id = 0, | ||
352 | .dev = { | ||
353 | .platform_data = &cm_flash_data, | ||
354 | }, | ||
355 | .num_resources = ARRAY_SIZE(cm_flash_resource), | ||
356 | .resource = cm_flash_resource, | ||
357 | }; | ||
358 | #endif | ||
359 | |||
310 | #if defined(CONFIG_SERIAL_BFIN) || defined(CONFIG_SERIAL_BFIN_MODULE) | 360 | #if defined(CONFIG_SERIAL_BFIN) || defined(CONFIG_SERIAL_BFIN_MODULE) |
311 | static struct resource bfin_uart_resources[] = { | 361 | static struct resource bfin_uart_resources[] = { |
312 | { | 362 | { |
@@ -510,6 +560,10 @@ static struct platform_device *cm_bf537_devices[] __initdata = { | |||
510 | #if defined(CONFIG_PATA_PLATFORM) || defined(CONFIG_PATA_PLATFORM_MODULE) | 560 | #if defined(CONFIG_PATA_PLATFORM) || defined(CONFIG_PATA_PLATFORM_MODULE) |
511 | &bfin_pata_device, | 561 | &bfin_pata_device, |
512 | #endif | 562 | #endif |
563 | |||
564 | #if defined(CONFIG_MTD_GPIO_ADDR) || defined(CONFIG_MTD_GPIO_ADDR_MODULE) | ||
565 | &cm_flash_device, | ||
566 | #endif | ||
513 | }; | 567 | }; |
514 | 568 | ||
515 | static int __init cm_bf537_init(void) | 569 | static int __init cm_bf537_init(void) |