aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/mach-omap2/board-zoom3.c
diff options
context:
space:
mode:
Diffstat (limited to 'arch/arm/mach-omap2/board-zoom3.c')
-rw-r--r--arch/arm/mach-omap2/board-zoom3.c65
1 files changed, 58 insertions, 7 deletions
diff --git a/arch/arm/mach-omap2/board-zoom3.c b/arch/arm/mach-omap2/board-zoom3.c
index 33147042485f..6ca0b8341615 100644
--- a/arch/arm/mach-omap2/board-zoom3.c
+++ b/arch/arm/mach-omap2/board-zoom3.c
@@ -25,15 +25,50 @@
25#include "mux.h" 25#include "mux.h"
26#include "sdram-hynix-h8mbx00u0mer-0em.h" 26#include "sdram-hynix-h8mbx00u0mer-0em.h"
27 27
28static void __init omap_zoom_map_io(void)
29{
30 omap2_set_globals_36xx();
31 omap34xx_map_common_io();
32}
33
34static struct omap_board_config_kernel zoom_config[] __initdata = { 28static struct omap_board_config_kernel zoom_config[] __initdata = {
35}; 29};
36 30
31static struct mtd_partition zoom_nand_partitions[] = {
32 /* All the partition sizes are listed in terms of NAND block size */
33 {
34 .name = "X-Loader-NAND",
35 .offset = 0,
36 .size = 4 * (64 * 2048), /* 512KB, 0x80000 */
37 .mask_flags = MTD_WRITEABLE, /* force read-only */
38 },
39 {
40 .name = "U-Boot-NAND",
41 .offset = MTDPART_OFS_APPEND, /* Offset = 0x80000 */
42 .size = 10 * (64 * 2048), /* 1.25MB, 0x140000 */
43 .mask_flags = MTD_WRITEABLE, /* force read-only */
44 },
45 {
46 .name = "Boot Env-NAND",
47 .offset = MTDPART_OFS_APPEND, /* Offset = 0x1c0000 */
48 .size = 2 * (64 * 2048), /* 256KB, 0x40000 */
49 },
50 {
51 .name = "Kernel-NAND",
52 .offset = MTDPART_OFS_APPEND, /* Offset = 0x0200000*/
53 .size = 240 * (64 * 2048), /* 30M, 0x1E00000 */
54 },
55 {
56 .name = "system",
57 .offset = MTDPART_OFS_APPEND, /* Offset = 0x2000000 */
58 .size = 3328 * (64 * 2048), /* 416M, 0x1A000000 */
59 },
60 {
61 .name = "userdata",
62 .offset = MTDPART_OFS_APPEND, /* Offset = 0x1C000000*/
63 .size = 256 * (64 * 2048), /* 32M, 0x2000000 */
64 },
65 {
66 .name = "cache",
67 .offset = MTDPART_OFS_APPEND, /* Offset = 0x1E000000*/
68 .size = 256 * (64 * 2048), /* 32M, 0x2000000 */
69 },
70};
71
37static void __init omap_zoom_init_irq(void) 72static void __init omap_zoom_init_irq(void)
38{ 73{
39 omap_board_config = zoom_config; 74 omap_board_config = zoom_config;
@@ -46,6 +81,19 @@ static void __init omap_zoom_init_irq(void)
46 81
47#ifdef CONFIG_OMAP_MUX 82#ifdef CONFIG_OMAP_MUX
48static struct omap_board_mux board_mux[] __initdata = { 83static struct omap_board_mux board_mux[] __initdata = {
84 /* WLAN IRQ - GPIO 162 */
85 OMAP3_MUX(MCBSP1_CLKX, OMAP_MUX_MODE4 | OMAP_PIN_INPUT_PULLUP),
86 /* WLAN POWER ENABLE - GPIO 101 */
87 OMAP3_MUX(CAM_D2, OMAP_MUX_MODE4 | OMAP_PIN_OUTPUT),
88 /* WLAN SDIO: MMC3 CMD */
89 OMAP3_MUX(MCSPI1_CS1, OMAP_MUX_MODE3 | OMAP_PIN_INPUT_PULLUP),
90 /* WLAN SDIO: MMC3 CLK */
91 OMAP3_MUX(ETK_CLK, OMAP_MUX_MODE2 | OMAP_PIN_INPUT_PULLUP),
92 /* WLAN SDIO: MMC3 DAT[0-3] */
93 OMAP3_MUX(ETK_D3, OMAP_MUX_MODE2 | OMAP_PIN_INPUT_PULLUP),
94 OMAP3_MUX(ETK_D4, OMAP_MUX_MODE2 | OMAP_PIN_INPUT_PULLUP),
95 OMAP3_MUX(ETK_D5, OMAP_MUX_MODE2 | OMAP_PIN_INPUT_PULLUP),
96 OMAP3_MUX(ETK_D6, OMAP_MUX_MODE2 | OMAP_PIN_INPUT_PULLUP),
49 { .reg_offset = OMAP_MUX_TERMINATOR }, 97 { .reg_offset = OMAP_MUX_TERMINATOR },
50}; 98};
51#else 99#else
@@ -66,6 +114,8 @@ static void __init omap_zoom_init(void)
66{ 114{
67 omap3_mux_init(board_mux, OMAP_PACKAGE_CBP); 115 omap3_mux_init(board_mux, OMAP_PACKAGE_CBP);
68 zoom_peripherals_init(); 116 zoom_peripherals_init();
117 board_nand_init(zoom_nand_partitions,
118 ARRAY_SIZE(zoom_nand_partitions), ZOOM_NAND_CS);
69 zoom_debugboard_init(); 119 zoom_debugboard_init();
70 120
71 omap_mux_init_gpio(64, OMAP_PIN_OUTPUT); 121 omap_mux_init_gpio(64, OMAP_PIN_OUTPUT);
@@ -76,7 +126,8 @@ MACHINE_START(OMAP_ZOOM3, "OMAP Zoom3 board")
76 .phys_io = ZOOM_UART_BASE, 126 .phys_io = ZOOM_UART_BASE,
77 .io_pg_offst = (ZOOM_UART_VIRT >> 18) & 0xfffc, 127 .io_pg_offst = (ZOOM_UART_VIRT >> 18) & 0xfffc,
78 .boot_params = 0x80000100, 128 .boot_params = 0x80000100,
79 .map_io = omap_zoom_map_io, 129 .map_io = omap3_map_io,
130 .reserve = omap_reserve,
80 .init_irq = omap_zoom_init_irq, 131 .init_irq = omap_zoom_init_irq,
81 .init_machine = omap_zoom_init, 132 .init_machine = omap_zoom_init,
82 .timer = &omap_timer, 133 .timer = &omap_timer,