diff options
author | vikram pandita <vikram.pandita@ti.com> | 2009-11-22 13:11:32 -0500 |
---|---|---|
committer | Tony Lindgren <tony@atomide.com> | 2009-11-22 13:24:33 -0500 |
commit | 5f35fbe8b8a05743fb9686e33194a126cd4273f6 (patch) | |
tree | 815c2428deabf4fed11b55f97578735f667173ef | |
parent | 6b61a83b31744d143b0e7bc92f463d831319eabc (diff) |
omap3: zoom: Introduce zoom3 board support
Zoom3 is the next version of Zoom2 board.
There has been a silicon update from zoom2 to zoom3.
Zoom2 has OMAP34xx
Zoom3 has OMAP3630 [1]
Zoom3 = OMAP3630 SOM board [2] + same zoom2 main board [3] + same debugboard
Zoom3 has a SDRAM part from Hynix
Zoom2 had SDRAM part from micron
Hynix memory timings are contributed by:
Chalhoub, Nicole and Bour, Vincent
Reuse the zoom2 files as much for zoom3, as at board level,
there is no change at all.
References: (courtesy Nishant Menon)
[1] OMAP3630
http://focus.ti.com/general/docs/wtbu/wtbuproductcontent.tsp?templateId=6123&navigationId=12836&contentId=52606
[2] SOM boards
http://logicpd.com/products/system-modules/texas-instruments-omap35x-som-lv
[3] Zoom2 boards
http://logicpd.com/products/development-kits/texas-instruments-zoom%E2%84%A2-omap34x-ii-mdp
OMAP3630:
Signed-off-by: Vikram Pandita <vikram.pandita@ti.com>
Cc: Nicole Chalhoub <n-chalhoub@ti.com>
Cc: Vincent Bour <v-bour@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
-rw-r--r-- | arch/arm/mach-omap2/Kconfig | 4 | ||||
-rw-r--r-- | arch/arm/mach-omap2/Makefile | 4 | ||||
-rw-r--r-- | arch/arm/mach-omap2/board-zoom3.c | 59 | ||||
-rw-r--r-- | arch/arm/mach-omap2/sdram-hynix-h8mbx00u0mer-0em.h | 51 |
4 files changed, 118 insertions, 0 deletions
diff --git a/arch/arm/mach-omap2/Kconfig b/arch/arm/mach-omap2/Kconfig index aad194f61a33..0d14dde68cd4 100644 --- a/arch/arm/mach-omap2/Kconfig +++ b/arch/arm/mach-omap2/Kconfig | |||
@@ -97,6 +97,10 @@ config MACH_OMAP_ZOOM2 | |||
97 | bool "OMAP3 Zoom2 board" | 97 | bool "OMAP3 Zoom2 board" |
98 | depends on ARCH_OMAP3 && ARCH_OMAP34XX | 98 | depends on ARCH_OMAP3 && ARCH_OMAP34XX |
99 | 99 | ||
100 | config MACH_OMAP_ZOOM3 | ||
101 | bool "OMAP3630 Zoom3 board" | ||
102 | depends on ARCH_OMAP3 && ARCH_OMAP34XX | ||
103 | |||
100 | config MACH_OMAP_4430SDP | 104 | config MACH_OMAP_4430SDP |
101 | bool "OMAP 4430 SDP board" | 105 | bool "OMAP 4430 SDP board" |
102 | depends on ARCH_OMAP4 | 106 | depends on ARCH_OMAP4 |
diff --git a/arch/arm/mach-omap2/Makefile b/arch/arm/mach-omap2/Makefile index 8ac121edfa4a..f40619ed7fad 100644 --- a/arch/arm/mach-omap2/Makefile +++ b/arch/arm/mach-omap2/Makefile | |||
@@ -78,6 +78,10 @@ obj-$(CONFIG_MACH_OMAP_ZOOM2) += board-zoom2.o \ | |||
78 | board-zoom-peripherals.o \ | 78 | board-zoom-peripherals.o \ |
79 | mmc-twl4030.o \ | 79 | mmc-twl4030.o \ |
80 | board-zoom-debugboard.o | 80 | board-zoom-debugboard.o |
81 | obj-$(CONFIG_MACH_OMAP_ZOOM3) += board-zoom3.o \ | ||
82 | board-zoom-peripherals.o \ | ||
83 | mmc-twl4030.o \ | ||
84 | board-zoom-debugboard.o | ||
81 | 85 | ||
82 | obj-$(CONFIG_MACH_OMAP_4430SDP) += board-4430sdp.o | 86 | obj-$(CONFIG_MACH_OMAP_4430SDP) += board-4430sdp.o |
83 | 87 | ||
diff --git a/arch/arm/mach-omap2/board-zoom3.c b/arch/arm/mach-omap2/board-zoom3.c new file mode 100644 index 000000000000..8d965a6516c8 --- /dev/null +++ b/arch/arm/mach-omap2/board-zoom3.c | |||
@@ -0,0 +1,59 @@ | |||
1 | /* | ||
2 | * Copyright (C) 2009 Texas Instruments Inc. | ||
3 | * | ||
4 | * | ||
5 | * This program is free software; you can redistribute it and/or modify | ||
6 | * it under the terms of the GNU General Public License version 2 as | ||
7 | * published by the Free Software Foundation. | ||
8 | */ | ||
9 | |||
10 | #include <linux/kernel.h> | ||
11 | #include <linux/init.h> | ||
12 | #include <linux/platform_device.h> | ||
13 | #include <linux/input.h> | ||
14 | #include <linux/gpio.h> | ||
15 | |||
16 | #include <asm/mach-types.h> | ||
17 | #include <asm/mach/arch.h> | ||
18 | |||
19 | #include <mach/board-zoom.h> | ||
20 | |||
21 | #include <plat/common.h> | ||
22 | #include <plat/board.h> | ||
23 | |||
24 | #include "sdram-hynix-h8mbx00u0mer-0em.h" | ||
25 | |||
26 | static void __init omap_zoom_map_io(void) | ||
27 | { | ||
28 | omap2_set_globals_343x(); | ||
29 | omap2_map_common_io(); | ||
30 | } | ||
31 | |||
32 | static struct omap_board_config_kernel zoom_config[] __initdata = { | ||
33 | }; | ||
34 | |||
35 | static void __init omap_zoom_init_irq(void) | ||
36 | { | ||
37 | omap_board_config = zoom_config; | ||
38 | omap_board_config_size = ARRAY_SIZE(zoom_config); | ||
39 | omap2_init_common_hw(h8mbx00u0mer0em_sdrc_params, | ||
40 | h8mbx00u0mer0em_sdrc_params); | ||
41 | omap_init_irq(); | ||
42 | omap_gpio_init(); | ||
43 | } | ||
44 | |||
45 | static void __init omap_zoom_init(void) | ||
46 | { | ||
47 | zoom_peripherals_init(); | ||
48 | zoom_debugboard_init(); | ||
49 | } | ||
50 | |||
51 | MACHINE_START(OMAP_ZOOM3, "OMAP Zoom3 board") | ||
52 | .phys_io = 0x48000000, | ||
53 | .io_pg_offst = ((0xfa000000) >> 18) & 0xfffc, | ||
54 | .boot_params = 0x80000100, | ||
55 | .map_io = omap_zoom_map_io, | ||
56 | .init_irq = omap_zoom_init_irq, | ||
57 | .init_machine = omap_zoom_init, | ||
58 | .timer = &omap_timer, | ||
59 | MACHINE_END | ||
diff --git a/arch/arm/mach-omap2/sdram-hynix-h8mbx00u0mer-0em.h b/arch/arm/mach-omap2/sdram-hynix-h8mbx00u0mer-0em.h new file mode 100644 index 000000000000..8bfaf342a028 --- /dev/null +++ b/arch/arm/mach-omap2/sdram-hynix-h8mbx00u0mer-0em.h | |||
@@ -0,0 +1,51 @@ | |||
1 | /* | ||
2 | * SDRC register values for the Hynix H8MBX00U0MER-0EM | ||
3 | * | ||
4 | * Copyright (C) 2009 Texas Instruments, Inc. | ||
5 | * | ||
6 | * This program is free software; you can redistribute it and/or modify | ||
7 | * it under the terms of the GNU General Public License version 2 as | ||
8 | * published by the Free Software Foundation. | ||
9 | */ | ||
10 | |||
11 | #ifndef __ARCH_ARM_MACH_OMAP2_SDRAM_HYNIX_H8MBX00U0MER0EM | ||
12 | #define __ARCH_ARM_MACH_OMAP2_SDRAM_HYNIX_H8MBX00U0MER0EM | ||
13 | |||
14 | #include <plat/sdrc.h> | ||
15 | |||
16 | /* Hynix H8MBX00U0MER-0EM */ | ||
17 | static struct omap_sdrc_params h8mbx00u0mer0em_sdrc_params[] = { | ||
18 | [0] = { | ||
19 | .rate = 200000000, | ||
20 | .actim_ctrla = 0xa2e1b4c6, | ||
21 | .actim_ctrlb = 0x0002131c, | ||
22 | .rfr_ctrl = 0x0005e601, | ||
23 | .mr = 0x00000032, | ||
24 | }, | ||
25 | [1] = { | ||
26 | .rate = 166000000, | ||
27 | .actim_ctrla = 0x629db4c6, | ||
28 | .actim_ctrlb = 0x00012214, | ||
29 | .rfr_ctrl = 0x0004dc01, | ||
30 | .mr = 0x00000032, | ||
31 | }, | ||
32 | [2] = { | ||
33 | .rate = 100000000, | ||
34 | .actim_ctrla = 0x51912284, | ||
35 | .actim_ctrlb = 0x0002120e, | ||
36 | .rfr_ctrl = 0x0002d101, | ||
37 | .mr = 0x00000022, | ||
38 | }, | ||
39 | [3] = { | ||
40 | .rate = 83000000, | ||
41 | .actim_ctrla = 0x31512283, | ||
42 | .actim_ctrlb = 0x0001220a, | ||
43 | .rfr_ctrl = 0x00025501, | ||
44 | .mr = 0x00000022, | ||
45 | }, | ||
46 | [4] = { | ||
47 | .rate = 0 | ||
48 | }, | ||
49 | }; | ||
50 | |||
51 | #endif | ||