diff options
author | Mike Frysinger <michael.frysinger@analog.com> | 2008-01-24 04:14:04 -0500 |
---|---|---|
committer | Bryan Wu <bryan.wu@analog.com> | 2008-01-24 04:14:04 -0500 |
commit | de8c43f2fca9bb06f3ee87b38a61d5d9966ce221 (patch) | |
tree | c39c995e31e29703056cd547f5aa4e3a967ba9ab /arch/blackfin/mach-bf533/boards/stamp.c | |
parent | 96a5c6f9bef027e1187b2f168bb3e08ef21d0b6f (diff) |
[Blackfin] arch: use common flash driver to setup partitions rather than the bf5xx-flash driver
Signed-off-by: Mike Frysinger <michael.frysinger@analog.com>
Signed-off-by: Bryan Wu <bryan.wu@analog.com>
Diffstat (limited to 'arch/blackfin/mach-bf533/boards/stamp.c')
-rw-r--r-- | arch/blackfin/mach-bf533/boards/stamp.c | 52 |
1 files changed, 47 insertions, 5 deletions
diff --git a/arch/blackfin/mach-bf533/boards/stamp.c b/arch/blackfin/mach-bf533/boards/stamp.c index cd87df730ef5..ac52b040b336 100644 --- a/arch/blackfin/mach-bf533/boards/stamp.c +++ b/arch/blackfin/mach-bf533/boards/stamp.c | |||
@@ -32,6 +32,7 @@ | |||
32 | #include <linux/platform_device.h> | 32 | #include <linux/platform_device.h> |
33 | #include <linux/mtd/mtd.h> | 33 | #include <linux/mtd/mtd.h> |
34 | #include <linux/mtd/partitions.h> | 34 | #include <linux/mtd/partitions.h> |
35 | #include <linux/mtd/physmap.h> | ||
35 | #include <linux/spi/spi.h> | 36 | #include <linux/spi/spi.h> |
36 | #include <linux/spi/flash.h> | 37 | #include <linux/spi/flash.h> |
37 | #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) |
@@ -108,6 +109,50 @@ static struct platform_device net2272_bfin_device = { | |||
108 | }; | 109 | }; |
109 | #endif | 110 | #endif |
110 | 111 | ||
112 | static struct mtd_partition stamp_partitions[] = { | ||
113 | { | ||
114 | .name = "Bootloader", | ||
115 | .size = 0x20000, | ||
116 | .offset = 0, | ||
117 | }, { | ||
118 | .name = "Kernel", | ||
119 | .size = 0xE0000, | ||
120 | .offset = MTDPART_OFS_APPEND, | ||
121 | }, { | ||
122 | .name = "RootFS", | ||
123 | .size = MTDPART_SIZ_FULL, | ||
124 | .offset = MTDPART_OFS_APPEND, | ||
125 | } | ||
126 | }; | ||
127 | |||
128 | static struct physmap_flash_data stamp_flash_data = { | ||
129 | .width = 2, | ||
130 | .parts = stamp_partitions, | ||
131 | .nr_parts = ARRAY_SIZE(stamp_partitions), | ||
132 | }; | ||
133 | |||
134 | static struct resource stamp_flash_resource[] = { | ||
135 | { | ||
136 | .name = "cfi_probe", | ||
137 | .start = 0x20000000, | ||
138 | .end = 0x203fffff, | ||
139 | .flags = IORESOURCE_MEM, | ||
140 | }, { | ||
141 | .start = CONFIG_ENET_FLASH_PIN, | ||
142 | .flags = IORESOURCE_IRQ, | ||
143 | } | ||
144 | }; | ||
145 | |||
146 | static struct platform_device stamp_flash_device = { | ||
147 | .name = "BF5xx-Flash", | ||
148 | .id = 0, | ||
149 | .dev = { | ||
150 | .platform_data = &stamp_flash_data, | ||
151 | }, | ||
152 | .num_resources = ARRAY_SIZE(stamp_flash_resource), | ||
153 | .resource = stamp_flash_resource, | ||
154 | }; | ||
155 | |||
111 | #if defined(CONFIG_SPI_BFIN) || defined(CONFIG_SPI_BFIN_MODULE) | 156 | #if defined(CONFIG_SPI_BFIN) || defined(CONFIG_SPI_BFIN_MODULE) |
112 | /* all SPI peripherals info goes here */ | 157 | /* all SPI peripherals info goes here */ |
113 | 158 | ||
@@ -457,6 +502,7 @@ static struct platform_device *stamp_devices[] __initdata = { | |||
457 | #if defined(CONFIG_I2C_GPIO) || defined(CONFIG_I2C_GPIO_MODULE) | 502 | #if defined(CONFIG_I2C_GPIO) || defined(CONFIG_I2C_GPIO_MODULE) |
458 | &i2c_gpio_device, | 503 | &i2c_gpio_device, |
459 | #endif | 504 | #endif |
505 | &stamp_flash_device, | ||
460 | }; | 506 | }; |
461 | 507 | ||
462 | static int __init stamp_init(void) | 508 | static int __init stamp_init(void) |
@@ -469,12 +515,10 @@ static int __init stamp_init(void) | |||
469 | return ret; | 515 | return ret; |
470 | 516 | ||
471 | #if defined(CONFIG_SMC91X) || defined(CONFIG_SMC91X_MODULE) | 517 | #if defined(CONFIG_SMC91X) || defined(CONFIG_SMC91X_MODULE) |
472 | # if defined(CONFIG_BFIN_SHARED_FLASH_ENET) | ||
473 | /* setup BF533_STAMP CPLD to route AMS3 to Ethernet MAC */ | 518 | /* setup BF533_STAMP CPLD to route AMS3 to Ethernet MAC */ |
474 | bfin_write_FIO_DIR(bfin_read_FIO_DIR() | (1 << CONFIG_ENET_FLASH_PIN)); | 519 | bfin_write_FIO_DIR(bfin_read_FIO_DIR() | (1 << CONFIG_ENET_FLASH_PIN)); |
475 | bfin_write_FIO_FLAG_S(1 << CONFIG_ENET_FLASH_PIN); | 520 | bfin_write_FIO_FLAG_S(1 << CONFIG_ENET_FLASH_PIN); |
476 | SSYNC(); | 521 | SSYNC(); |
477 | # endif | ||
478 | #endif | 522 | #endif |
479 | 523 | ||
480 | #if defined(CONFIG_SPI_BFIN) || defined(CONFIG_SPI_BFIN_MODULE) | 524 | #if defined(CONFIG_SPI_BFIN) || defined(CONFIG_SPI_BFIN_MODULE) |
@@ -491,10 +535,8 @@ arch_initcall(stamp_init); | |||
491 | 535 | ||
492 | void native_machine_restart(char *cmd) | 536 | void native_machine_restart(char *cmd) |
493 | { | 537 | { |
494 | #if defined(CONFIG_BFIN_SHARED_FLASH_ENET) | 538 | #define BIT_TO_SET (1 << CONFIG_ENET_FLASH_PIN) |
495 | # define BIT_TO_SET (1 << CONFIG_ENET_FLASH_PIN) | ||
496 | bfin_write_FIO_INEN(~BIT_TO_SET); | 539 | bfin_write_FIO_INEN(~BIT_TO_SET); |
497 | bfin_write_FIO_DIR(BIT_TO_SET); | 540 | bfin_write_FIO_DIR(BIT_TO_SET); |
498 | bfin_write_FIO_FLAG_C(BIT_TO_SET); | 541 | bfin_write_FIO_FLAG_C(BIT_TO_SET); |
499 | #endif | ||
500 | } | 542 | } |