From: Vimal Singh <vimalsi...@ti.com>

This patch adds NAND support to ZOOM3 board.

Signed-off-by: Vimal Singh <vimalsi...@ti.com>
---
 arch/arm/mach-omap2/Makefile      |    1 +
 arch/arm/mach-omap2/board-zoom3.c |   49 +++++++++++++++++++++++++++++++++++++
 2 files changed, 50 insertions(+), 0 deletions(-)

diff --git a/arch/arm/mach-omap2/Makefile b/arch/arm/mach-omap2/Makefile
index bd37d6e..556e62f 100644
--- a/arch/arm/mach-omap2/Makefile
+++ b/arch/arm/mach-omap2/Makefile
@@ -115,6 +115,7 @@ obj-$(CONFIG_MACH_OMAP_ZOOM2)               += 
board-zoom2.o \
                                           hsmmc.o \
                                           board-zoom-debugboard.o
 obj-$(CONFIG_MACH_OMAP_ZOOM3)          += board-zoom3.o \
+                                          board-zoom-flash.o \
                                           board-zoom-peripherals.o \
                                           hsmmc.o \
                                           board-zoom-debugboard.o
diff --git a/arch/arm/mach-omap2/board-zoom3.c
b/arch/arm/mach-omap2/board-zoom3.c
index d3e3cd5..fcd0c0d 100644
--- a/arch/arm/mach-omap2/board-zoom3.c
+++ b/arch/arm/mach-omap2/board-zoom3.c
@@ -34,6 +34,54 @@ static void __init omap_zoom_map_io(void)
 static struct omap_board_config_kernel zoom_config[] __initdata = {
 };

+static struct mtd_partition zoom_nand_partitions[] = {
+       /* All the partition sizes are listed in terms of NAND block size */
+       {
+               .name           = "X-Loader-NAND",
+               .offset         = 0,
+               .size           = 4 * (64 * 2048),      /* 512KB, 0x80000 */
+               .mask_flags     = MTD_WRITEABLE,        /* force read-only */
+       },
+       {
+               .name           = "U-Boot-NAND",
+               .offset         = MTDPART_OFS_APPEND,   /* Offset = 0x80000 */
+               .size           = 10 * (64 * 2048),     /* 1.25MB, 0x140000 */
+               .mask_flags     = MTD_WRITEABLE,        /* force read-only */
+       },
+       {
+               .name           = "Boot Env-NAND",
+               .offset         = MTDPART_OFS_APPEND,   /* Offset = 0x1c0000 */
+               .size           = 2 * (64 * 2048),      /* 256KB, 0x40000 */
+       },
+       {
+               .name           = "Kernel-NAND",
+               .offset         = MTDPART_OFS_APPEND,   /* Offset = 0x0200000*/
+               .size           = 240 * (64 * 2048),    /* 30M, 0x1E00000 */
+       },
+       {
+               .name           = "system",
+               .offset         = MTDPART_OFS_APPEND,   /* Offset = 0x2000000 */
+               .size           = 1280 * (64 * 2048),   /* 160M, 0xA000000 */
+       },
+       {
+               .name           = "userdata",
+               .offset         = MTDPART_OFS_APPEND,   /* Offset = 0xC000000 */
+               .size           = 256 * (64 * 2048),    /* 32M, 0x2000000 */
+       },
+       {
+               .name           = "cache",
+               .offset         = MTDPART_OFS_APPEND,   /* Offset = 0xE000000 */
+               .size           = 256 * (64 * 2048),    /* 32M, 0x2000000 */
+       },
+};
+
+static struct flash_partitions zoom_flash_partitions[] = {
+       {
+               .parts = zoom_nand_partitions,
+               .nr_parts = ARRAY_SIZE(zoom_nand_partitions),
+       },
+};
+
 static void __init omap_zoom_init_irq(void)
 {
        omap_board_config = zoom_config;
@@ -66,6 +114,7 @@ static void __init omap_zoom_init(void)
 {
        omap3_mux_init(board_mux, OMAP_PACKAGE_CBP);
        zoom_peripherals_init();
+       zoom_flash_init(zoom_flash_partitions, ZOOM_NAND_CS);
        zoom_debugboard_init();

        omap_mux_init_gpio(64, OMAP_PIN_OUTPUT);
-- 
1.6.3.3
--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to