aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/mach-omap2/board-zoom3.c
diff options
context:
space:
mode:
authorSukumar Ghorai <s-ghorai@ti.com>2010-07-09 10:27:49 -0400
committerTony Lindgren <tony@atomide.com>2010-08-02 08:46:29 -0400
commite08b105ecdec0bfc8b9bb4d98bc2fc6cc7526938 (patch)
treec92a17a78518806fcf39bd0102398e3e80b43232 /arch/arm/mach-omap2/board-zoom3.c
parent7e7eb4263ee1f041a9f1b48738b98ef99ef73995 (diff)
omap3: add support for NAND on zoom3 board
patch adds NAND support to zoom3 board. Signed-off-by: Sukumar Ghorai <s-ghorai@ti.com> Signed-off-by: Vimal Singh <vimalsingh@ti.com> Signed-off-by: Tony Lindgren <tony@atomide.com>
Diffstat (limited to 'arch/arm/mach-omap2/board-zoom3.c')
-rw-r--r--arch/arm/mach-omap2/board-zoom3.c43
1 files changed, 43 insertions, 0 deletions
diff --git a/arch/arm/mach-omap2/board-zoom3.c b/arch/arm/mach-omap2/board-zoom3.c
index 7d1704693acb..79fcad655677 100644
--- a/arch/arm/mach-omap2/board-zoom3.c
+++ b/arch/arm/mach-omap2/board-zoom3.c
@@ -34,6 +34,47 @@ static void __init omap_zoom_map_io(void)
34static struct omap_board_config_kernel zoom_config[] __initdata = { 34static struct omap_board_config_kernel zoom_config[] __initdata = {
35}; 35};
36 36
37static struct mtd_partition zoom_nand_partitions[] = {
38 /* All the partition sizes are listed in terms of NAND block size */
39 {
40 .name = "X-Loader-NAND",
41 .offset = 0,
42 .size = 4 * (64 * 2048), /* 512KB, 0x80000 */
43 .mask_flags = MTD_WRITEABLE, /* force read-only */
44 },
45 {
46 .name = "U-Boot-NAND",
47 .offset = MTDPART_OFS_APPEND, /* Offset = 0x80000 */
48 .size = 10 * (64 * 2048), /* 1.25MB, 0x140000 */
49 .mask_flags = MTD_WRITEABLE, /* force read-only */
50 },
51 {
52 .name = "Boot Env-NAND",
53 .offset = MTDPART_OFS_APPEND, /* Offset = 0x1c0000 */
54 .size = 2 * (64 * 2048), /* 256KB, 0x40000 */
55 },
56 {
57 .name = "Kernel-NAND",
58 .offset = MTDPART_OFS_APPEND, /* Offset = 0x0200000*/
59 .size = 240 * (64 * 2048), /* 30M, 0x1E00000 */
60 },
61 {
62 .name = "system",
63 .offset = MTDPART_OFS_APPEND, /* Offset = 0x2000000 */
64 .size = 3328 * (64 * 2048), /* 416M, 0x1A000000 */
65 },
66 {
67 .name = "userdata",
68 .offset = MTDPART_OFS_APPEND, /* Offset = 0x1C000000*/
69 .size = 256 * (64 * 2048), /* 32M, 0x2000000 */
70 },
71 {
72 .name = "cache",
73 .offset = MTDPART_OFS_APPEND, /* Offset = 0x1E000000*/
74 .size = 256 * (64 * 2048), /* 32M, 0x2000000 */
75 },
76};
77
37static void __init omap_zoom_init_irq(void) 78static void __init omap_zoom_init_irq(void)
38{ 79{
39 omap_board_config = zoom_config; 80 omap_board_config = zoom_config;
@@ -79,6 +120,8 @@ static void __init omap_zoom_init(void)
79{ 120{
80 omap3_mux_init(board_mux, OMAP_PACKAGE_CBP); 121 omap3_mux_init(board_mux, OMAP_PACKAGE_CBP);
81 zoom_peripherals_init(); 122 zoom_peripherals_init();
123 board_nand_init(zoom_nand_partitions,
124 ARRAY_SIZE(zoom_nand_partitions), ZOOM_NAND_CS);
82 zoom_debugboard_init(); 125 zoom_debugboard_init();
83 126
84 omap_mux_init_gpio(64, OMAP_PIN_OUTPUT); 127 omap_mux_init_gpio(64, OMAP_PIN_OUTPUT);