diff options
Diffstat (limited to 'arch/arm/mach-omap2/board-zoom3.c')
-rw-r--r-- | arch/arm/mach-omap2/board-zoom3.c | 64 |
1 files changed, 57 insertions, 7 deletions
diff --git a/arch/arm/mach-omap2/board-zoom3.c b/arch/arm/mach-omap2/board-zoom3.c index 5b605eba3e7b..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 | ||
28 | static void __init omap_zoom_map_io(void) | ||
29 | { | ||
30 | omap2_set_globals_36xx(); | ||
31 | omap34xx_map_common_io(); | ||
32 | } | ||
33 | |||
34 | static struct omap_board_config_kernel zoom_config[] __initdata = { | 28 | static struct omap_board_config_kernel zoom_config[] __initdata = { |
35 | }; | 29 | }; |
36 | 30 | ||
31 | static 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 | |||
37 | static void __init omap_zoom_init_irq(void) | 72 | static 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 |
48 | static struct omap_board_mux board_mux[] __initdata = { | 83 | static 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,7 @@ 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, |
80 | .reserve = omap_reserve, | 130 | .reserve = omap_reserve, |
81 | .init_irq = omap_zoom_init_irq, | 131 | .init_irq = omap_zoom_init_irq, |
82 | .init_machine = omap_zoom_init, | 132 | .init_machine = omap_zoom_init, |