diff options
author | Paul Walmsley <paul@pwsan.com> | 2009-05-28 17:03:59 -0400 |
---|---|---|
committer | Tony Lindgren <tony@atomide.com> | 2009-05-28 17:03:59 -0400 |
commit | 2e12bd7ef175c9dc55dc215823b62a2247865012 (patch) | |
tree | f38fa653e5b48e92e7f47e818976f5ece1234397 /arch/arm | |
parent | 2aa57be2d9e400f498cf0f0636069a81035e06b9 (diff) |
ARM: OMAP3: SDRC: add timing data for Micron MT46H32M32LF-6, v2
Add timing data for the Micron MT46H32M32LF-6 SDRAM chip, used on the
OMAP3 Beagle and EVM boards. Original timing data is from the Micron
datasheet PDF downloaded from:
http://download.micron.com/pdf/datasheets/dram/mobile/1gb_ddr_mobile_sdram_t48m.pdf
Thanks to Rajendra Nayak <rnayak@ti.com> for his help identifying
the chips used on Beagle & OMAP3EVM.
Signed-off-by: Paul Walmsley <paul@pwsan.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
Diffstat (limited to 'arch/arm')
-rw-r--r-- | arch/arm/mach-omap2/board-omap3beagle.c | 4 | ||||
-rw-r--r-- | arch/arm/mach-omap2/board-omap3pandora.c | 3 | ||||
-rw-r--r-- | arch/arm/mach-omap2/board-overo.c | 3 | ||||
-rw-r--r-- | arch/arm/mach-omap2/sdram-micron-mt46h32m32lf-6.h | 55 |
4 files changed, 62 insertions, 3 deletions
diff --git a/arch/arm/mach-omap2/board-omap3beagle.c b/arch/arm/mach-omap2/board-omap3beagle.c index 3a7a29d1f9a7..f25082c53c67 100644 --- a/arch/arm/mach-omap2/board-omap3beagle.c +++ b/arch/arm/mach-omap2/board-omap3beagle.c | |||
@@ -105,6 +105,8 @@ static struct platform_device omap3beagle_nand_device = { | |||
105 | .resource = &omap3beagle_nand_resource, | 105 | .resource = &omap3beagle_nand_resource, |
106 | }; | 106 | }; |
107 | 107 | ||
108 | #include "sdram-micron-mt46h32m32lf-6.h" | ||
109 | |||
108 | static struct omap_uart_config omap3_beagle_uart_config __initdata = { | 110 | static struct omap_uart_config omap3_beagle_uart_config __initdata = { |
109 | .enabled_uarts = ((1 << 0) | (1 << 1) | (1 << 2)), | 111 | .enabled_uarts = ((1 << 0) | (1 << 1) | (1 << 2)), |
110 | }; | 112 | }; |
@@ -185,7 +187,7 @@ static int __init omap3_beagle_i2c_init(void) | |||
185 | 187 | ||
186 | static void __init omap3_beagle_init_irq(void) | 188 | static void __init omap3_beagle_init_irq(void) |
187 | { | 189 | { |
188 | omap2_init_common_hw(NULL); | 190 | omap2_init_common_hw(mt46h32m32lf6_sdrc_params); |
189 | omap_init_irq(); | 191 | omap_init_irq(); |
190 | #ifdef CONFIG_OMAP_32K_TIMER | 192 | #ifdef CONFIG_OMAP_32K_TIMER |
191 | omap2_gp_clockevent_set_gptimer(12); | 193 | omap2_gp_clockevent_set_gptimer(12); |
diff --git a/arch/arm/mach-omap2/board-omap3pandora.c b/arch/arm/mach-omap2/board-omap3pandora.c index 402f09c6cf10..3571bb47ab86 100644 --- a/arch/arm/mach-omap2/board-omap3pandora.c +++ b/arch/arm/mach-omap2/board-omap3pandora.c | |||
@@ -36,6 +36,7 @@ | |||
36 | #include <mach/mcspi.h> | 36 | #include <mach/mcspi.h> |
37 | #include <mach/usb.h> | 37 | #include <mach/usb.h> |
38 | 38 | ||
39 | #include "sdram-micron-mt46h32m32lf-6.h" | ||
39 | #include "mmc-twl4030.h" | 40 | #include "mmc-twl4030.h" |
40 | 41 | ||
41 | #define OMAP3_PANDORA_TS_GPIO 94 | 42 | #define OMAP3_PANDORA_TS_GPIO 94 |
@@ -118,7 +119,7 @@ static int __init omap3pandora_i2c_init(void) | |||
118 | 119 | ||
119 | static void __init omap3pandora_init_irq(void) | 120 | static void __init omap3pandora_init_irq(void) |
120 | { | 121 | { |
121 | omap2_init_common_hw(NULL); | 122 | omap2_init_common_hw(mt46h32m32lf6_sdrc_params); |
122 | omap_init_irq(); | 123 | omap_init_irq(); |
123 | omap_gpio_init(); | 124 | omap_gpio_init(); |
124 | } | 125 | } |
diff --git a/arch/arm/mach-omap2/board-overo.c b/arch/arm/mach-omap2/board-overo.c index b1f23bea863f..c7443ff98ee2 100644 --- a/arch/arm/mach-omap2/board-overo.c +++ b/arch/arm/mach-omap2/board-overo.c | |||
@@ -45,6 +45,7 @@ | |||
45 | #include <mach/nand.h> | 45 | #include <mach/nand.h> |
46 | #include <mach/usb.h> | 46 | #include <mach/usb.h> |
47 | 47 | ||
48 | #include "sdram-micron-mt46h32m32lf-6.h" | ||
48 | #include "mmc-twl4030.h" | 49 | #include "mmc-twl4030.h" |
49 | 50 | ||
50 | #define OVERO_GPIO_BT_XGATE 15 | 51 | #define OVERO_GPIO_BT_XGATE 15 |
@@ -303,7 +304,7 @@ static int __init overo_i2c_init(void) | |||
303 | 304 | ||
304 | static void __init overo_init_irq(void) | 305 | static void __init overo_init_irq(void) |
305 | { | 306 | { |
306 | omap2_init_common_hw(NULL); | 307 | omap2_init_common_hw(mt46h32m32lf6_sdrc_params); |
307 | omap_init_irq(); | 308 | omap_init_irq(); |
308 | omap_gpio_init(); | 309 | omap_gpio_init(); |
309 | } | 310 | } |
diff --git a/arch/arm/mach-omap2/sdram-micron-mt46h32m32lf-6.h b/arch/arm/mach-omap2/sdram-micron-mt46h32m32lf-6.h new file mode 100644 index 000000000000..02e1c2d4705f --- /dev/null +++ b/arch/arm/mach-omap2/sdram-micron-mt46h32m32lf-6.h | |||
@@ -0,0 +1,55 @@ | |||
1 | /* | ||
2 | * SDRC register values for the Micron MT46H32M32LF-6 | ||
3 | * | ||
4 | * Copyright (C) 2008 Texas Instruments, Inc. | ||
5 | * Copyright (C) 2008-2009 Nokia Corporation | ||
6 | * | ||
7 | * Paul Walmsley | ||
8 | * | ||
9 | * This program is free software; you can redistribute it and/or modify | ||
10 | * it under the terms of the GNU General Public License version 2 as | ||
11 | * published by the Free Software Foundation. | ||
12 | */ | ||
13 | |||
14 | #ifndef ARCH_ARM_MACH_OMAP2_SDRAM_MICRON_MT46H32M32LF | ||
15 | #define ARCH_ARM_MACH_OMAP2_SDRAM_MICRON_MT46H32M32LF | ||
16 | |||
17 | #include <mach/sdrc.h> | ||
18 | |||
19 | /* Micron MT46H32M32LF-6 */ | ||
20 | /* XXX Using ARE = 0x1 (no autorefresh burst) -- can this be changed? */ | ||
21 | static struct omap_sdrc_params mt46h32m32lf6_sdrc_params[] = { | ||
22 | [0] = { | ||
23 | .rate = 166000000, | ||
24 | .actim_ctrla = 0x9a9db4c6, | ||
25 | .actim_ctrlb = 0x00011217, | ||
26 | .rfr_ctrl = 0x0004dc01, | ||
27 | .mr = 0x00000032, | ||
28 | }, | ||
29 | [1] = { | ||
30 | .rate = 165941176, | ||
31 | .actim_ctrla = 0x9a9db4c6, | ||
32 | .actim_ctrlb = 0x00011217, | ||
33 | .rfr_ctrl = 0x0004dc01, | ||
34 | .mr = 0x00000032, | ||
35 | }, | ||
36 | [2] = { | ||
37 | .rate = 83000000, | ||
38 | .actim_ctrla = 0x51512283, | ||
39 | .actim_ctrlb = 0x0001120c, | ||
40 | .rfr_ctrl = 0x00025501, | ||
41 | .mr = 0x00000032, | ||
42 | }, | ||
43 | [3] = { | ||
44 | .rate = 82970588, | ||
45 | .actim_ctrla = 0x51512283, | ||
46 | .actim_ctrlb = 0x0001120c, | ||
47 | .rfr_ctrl = 0x00025501, | ||
48 | .mr = 0x00000032, | ||
49 | }, | ||
50 | [4] = { | ||
51 | .rate = 0 | ||
52 | }, | ||
53 | }; | ||
54 | |||
55 | #endif | ||