aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/mach-mx3
diff options
context:
space:
mode:
authorDaniel Mack <daniel@caiaq.de>2009-11-19 06:02:11 -0500
committerSascha Hauer <s.hauer@pengutronix.de>2009-11-19 11:11:02 -0500
commit6d3e6601ba0ff6ca804d3c103164624618cab4a9 (patch)
treefab38a8782be6b46d8ae48619a0c225a28fb8b9d /arch/arm/mach-mx3
parent81057f328618181f87b25571dd9f623c86fe960e (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')
-rw-r--r--arch/arm/mach-mx3/mx31lite.c30
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
188static struct physmap_flash_data nor_flash_data = {
189 .width = 2,
190};
191
192static struct resource nor_flash_resource = {
193 .start = 0xa0000000,
194 .end = 0xa1ffffff,
195 .flags = IORESOURCE_MEM,
196};
197
198static 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 */
186static struct map_desc mx31lite_io_desc[] __initdata = { 213static 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