diff options
author | Daniel Mack <daniel@caiaq.de> | 2009-11-19 06:02:11 -0500 |
---|---|---|
committer | Sascha Hauer <s.hauer@pengutronix.de> | 2009-11-19 11:11:02 -0500 |
commit | 6d3e6601ba0ff6ca804d3c103164624618cab4a9 (patch) | |
tree | fab38a8782be6b46d8ae48619a0c225a28fb8b9d /arch/arm/mach-mx3/mx31lite.c | |
parent | 81057f328618181f87b25571dd9f623c86fe960e (diff) |
ARM: MX3: add NOR flash support via physmap mtd driver
Signed-off-by: Daniel Mack <daniel@caiaq.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Diffstat (limited to 'arch/arm/mach-mx3/mx31lite.c')
-rw-r--r-- | arch/arm/mach-mx3/mx31lite.c | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/arch/arm/mach-mx3/mx31lite.c b/arch/arm/mach-mx3/mx31lite.c index 4651e2376a71..def6b6736594 100644 --- a/arch/arm/mach-mx3/mx31lite.c +++ b/arch/arm/mach-mx3/mx31lite.c | |||
@@ -30,6 +30,7 @@ | |||
30 | #include <linux/spi/spi.h> | 30 | #include <linux/spi/spi.h> |
31 | #include <linux/usb/otg.h> | 31 | #include <linux/usb/otg.h> |
32 | #include <linux/usb/ulpi.h> | 32 | #include <linux/usb/ulpi.h> |
33 | #include <linux/mtd/physmap.h> | ||
33 | 34 | ||
34 | #include <asm/mach-types.h> | 35 | #include <asm/mach-types.h> |
35 | #include <asm/mach/arch.h> | 36 | #include <asm/mach/arch.h> |
@@ -181,6 +182,32 @@ static struct mxc_usbh_platform_data usbh2_pdata = { | |||
181 | }; | 182 | }; |
182 | 183 | ||
183 | /* | 184 | /* |
185 | * NOR flash | ||
186 | */ | ||
187 | |||
188 | static struct physmap_flash_data nor_flash_data = { | ||
189 | .width = 2, | ||
190 | }; | ||
191 | |||
192 | static struct resource nor_flash_resource = { | ||
193 | .start = 0xa0000000, | ||
194 | .end = 0xa1ffffff, | ||
195 | .flags = IORESOURCE_MEM, | ||
196 | }; | ||
197 | |||
198 | static struct platform_device physmap_flash_device = { | ||
199 | .name = "physmap-flash", | ||
200 | .id = 0, | ||
201 | .dev = { | ||
202 | .platform_data = &nor_flash_data, | ||
203 | }, | ||
204 | .resource = &nor_flash_resource, | ||
205 | .num_resources = 1, | ||
206 | }; | ||
207 | |||
208 | |||
209 | |||
210 | /* | ||
184 | * This structure defines the MX31 memory map. | 211 | * This structure defines the MX31 memory map. |
185 | */ | 212 | */ |
186 | static struct map_desc mx31lite_io_desc[] __initdata = { | 213 | static struct map_desc mx31lite_io_desc[] __initdata = { |
@@ -227,7 +254,10 @@ static void __init mxc_board_init(void) | |||
227 | mxc_iomux_setup_multiple_pins(mx31lite_pins, ARRAY_SIZE(mx31lite_pins), | 254 | mxc_iomux_setup_multiple_pins(mx31lite_pins, ARRAY_SIZE(mx31lite_pins), |
228 | "mx31lite"); | 255 | "mx31lite"); |
229 | 256 | ||
257 | /* NOR and NAND flash */ | ||
258 | platform_device_register(&physmap_flash_device); | ||
230 | mxc_register_device(&mxc_nand_device, &mx31lite_nand_board_info); | 259 | mxc_register_device(&mxc_nand_device, &mx31lite_nand_board_info); |
260 | |||
231 | mxc_register_device(&mxc_spi_device1, &spi1_pdata); | 261 | mxc_register_device(&mxc_spi_device1, &spi1_pdata); |
232 | spi_register_board_info(&mc13783_spi_dev, 1); | 262 | spi_register_board_info(&mc13783_spi_dev, 1); |
233 | 263 | ||