diff options
| -rw-r--r-- | arch/arm/mach-mx3/armadillo5x0.c | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/arch/arm/mach-mx3/armadillo5x0.c b/arch/arm/mach-mx3/armadillo5x0.c index 541181090b37..38d99e6c9d00 100644 --- a/arch/arm/mach-mx3/armadillo5x0.c +++ b/arch/arm/mach-mx3/armadillo5x0.c | |||
| @@ -31,6 +31,7 @@ | |||
| 31 | #include <linux/smsc911x.h> | 31 | #include <linux/smsc911x.h> |
| 32 | #include <linux/interrupt.h> | 32 | #include <linux/interrupt.h> |
| 33 | #include <linux/irq.h> | 33 | #include <linux/irq.h> |
| 34 | #include <linux/mtd/physmap.h> | ||
| 34 | 35 | ||
| 35 | #include <mach/hardware.h> | 36 | #include <mach/hardware.h> |
| 36 | #include <asm/mach-types.h> | 37 | #include <asm/mach-types.h> |
| @@ -97,6 +98,48 @@ static int armadillo5x0_pins[] = { | |||
| 97 | }; | 98 | }; |
| 98 | 99 | ||
| 99 | /* | 100 | /* |
| 101 | * MTD NOR Flash | ||
| 102 | */ | ||
| 103 | static struct mtd_partition armadillo5x0_nor_flash_partitions[] = { | ||
| 104 | { | ||
| 105 | .name = "nor.bootloader", | ||
| 106 | .offset = 0x00000000, | ||
| 107 | .size = 4*32*1024, | ||
| 108 | }, { | ||
| 109 | .name = "nor.kernel", | ||
| 110 | .offset = MTDPART_OFS_APPEND, | ||
| 111 | .size = 16*128*1024, | ||
| 112 | }, { | ||
| 113 | .name = "nor.userland", | ||
| 114 | .offset = MTDPART_OFS_APPEND, | ||
| 115 | .size = 110*128*1024, | ||
| 116 | }, { | ||
| 117 | .name = "nor.config", | ||
| 118 | .offset = MTDPART_OFS_APPEND, | ||
| 119 | .size = 1*128*1024, | ||
| 120 | }, | ||
| 121 | }; | ||
| 122 | |||
| 123 | static struct physmap_flash_data armadillo5x0_nor_flash_pdata = { | ||
| 124 | .width = 2, | ||
| 125 | .parts = armadillo5x0_nor_flash_partitions, | ||
| 126 | .nr_parts = ARRAY_SIZE(armadillo5x0_nor_flash_partitions), | ||
| 127 | }; | ||
| 128 | |||
| 129 | static struct resource armadillo5x0_nor_flash_resource = { | ||
| 130 | .flags = IORESOURCE_MEM, | ||
| 131 | .start = CS0_BASE_ADDR, | ||
| 132 | .end = CS0_BASE_ADDR + SZ_64M - 1, | ||
| 133 | }; | ||
| 134 | |||
| 135 | static struct platform_device armadillo5x0_nor_flash = { | ||
| 136 | .name = "physmap-flash", | ||
| 137 | .id = -1, | ||
| 138 | .num_resources = 1, | ||
| 139 | .resource = &armadillo5x0_nor_flash_resource, | ||
| 140 | }; | ||
| 141 | |||
| 142 | /* | ||
| 100 | * FB support | 143 | * FB support |
| 101 | */ | 144 | */ |
| 102 | static const struct fb_videomode fb_modedb[] = { | 145 | static const struct fb_videomode fb_modedb[] = { |
| @@ -272,6 +315,10 @@ static void __init armadillo5x0_init(void) | |||
| 272 | /* Register FB */ | 315 | /* Register FB */ |
| 273 | mxc_register_device(&mx3_ipu, &mx3_ipu_data); | 316 | mxc_register_device(&mx3_ipu, &mx3_ipu_data); |
| 274 | mxc_register_device(&mx3_fb, &mx3fb_pdata); | 317 | mxc_register_device(&mx3_fb, &mx3fb_pdata); |
| 318 | |||
| 319 | /* Register NOR Flash */ | ||
| 320 | mxc_register_device(&armadillo5x0_nor_flash, | ||
| 321 | &armadillo5x0_nor_flash_pdata); | ||
| 275 | } | 322 | } |
| 276 | 323 | ||
| 277 | static void __init armadillo5x0_timer_init(void) | 324 | static void __init armadillo5x0_timer_init(void) |
