Many early EVMs used Samsung memory (mine for example). Are these timings compatible or is a separate Samsung header required? Steve On Mon, Jul 7, 2008 at 7:54 PM, Paul Walmsley <paul@xxxxxxxxx> wrote: > 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@xxxxxx> for his help identifying > the chips used on Beagle & OMAP3EVM. > > Signed-off-by: Paul Walmsley <paul@xxxxxxxxx> > --- > > arch/arm/mach-omap2/board-omap3beagle.c | 4 +- > arch/arm/mach-omap2/board-omap3evm.c | 4 +- > arch/arm/mach-omap2/sdram-micron-mt46h32m32lf-6.h | 55 +++++++++++++++++++++ > include/asm-arm/arch-omap/sdrc.h | 2 - > 4 files changed, 62 insertions(+), 3 deletions(-) > create mode 100644 arch/arm/mach-omap2/sdram-micron-mt46h32m32lf-6.h > > diff --git a/arch/arm/mach-omap2/board-omap3beagle.c b/arch/arm/mach-omap2/board-omap3beagle.c > index 3523611..bf4b430 100644 > --- a/arch/arm/mach-omap2/board-omap3beagle.c > +++ b/arch/arm/mach-omap2/board-omap3beagle.c > @@ -33,6 +33,8 @@ > #include <asm/arch/hsmmc.h> > #include <asm/arch/common.h> > > +#include "sdram-micron-mt46h32m32lf-6.h" > + > static struct omap_uart_config omap3_beagle_uart_config __initdata = { > .enabled_uarts = ((1 << 0) | (1 << 1) | (1 << 2)), > }; > @@ -47,7 +49,7 @@ static int __init omap3_beagle_i2c_init(void) > > static void __init omap3_beagle_init_irq(void) > { > - omap2_init_common_hw(NULL); > + omap2_init_common_hw(mt46h32m32lf6_sdrc_params); > omap_init_irq(); > omap_gpio_init(); > } > diff --git a/arch/arm/mach-omap2/board-omap3evm.c b/arch/arm/mach-omap2/board-omap3evm.c > index 1ba8a45..df81706 100644 > --- a/arch/arm/mach-omap2/board-omap3evm.c > +++ b/arch/arm/mach-omap2/board-omap3evm.c > @@ -37,6 +37,8 @@ > #include <asm/arch/common.h> > #include <asm/arch/mcspi.h> > > +#include "sdram-micron-mt46h32m32lf-6.h" > + > static struct resource omap3evm_smc911x_resources[] = { > [0] = { > .start = OMAP3EVM_ETHR_START, > @@ -188,7 +190,7 @@ static struct platform_device omap3evm_kp_device = { > > static void __init omap3_evm_init_irq(void) > { > - omap2_init_common_hw(NULL); > + omap2_init_common_hw(mt46h32m32lf6_sdrc_params); > omap_init_irq(); > omap_gpio_init(); > omap3evm_init_smc911x(); > 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 0000000..f0ec104 > --- /dev/null > +++ b/arch/arm/mach-omap2/sdram-micron-mt46h32m32lf-6.h > @@ -0,0 +1,55 @@ > +/* > + * SDRC register values for the Micron MT46H32M32LF-6 > + * > + * Copyright (C) 2008 Texas Instruments, Inc. > + * Copyright (C) 2008 Nokia Corporation > + * > + * Paul Walmsley > + * > + * This program is free software; you can redistribute it and/or modify > + * it under the terms of the GNU General Public License version 2 as > + * published by the Free Software Foundation. > + */ > + > +#ifndef ARCH_ARM_MACH_OMAP2_SDRAM_MICRON_MT46H32M32LF > +#define ARCH_ARM_MACH_OMAP2_SDRAM_MICRON_MT46H32M32LF > + > +#include <asm/arch/sdrc.h> > + > +/* Micron MT46H32M32LF-6 */ > +/* XXX Using ARE = 0x1 (no autorefresh burst) -- can this be changed? */ > +static struct omap_sdrc_params mt46h32m32lf_sdrc_params[] = { > + [0] = { > + .rate = 165941176, > + .actim_ctrla = 0x9a9db4c6, > + .actim_ctrlb = 0x00011217, > + .rfr_ctrl = 0x0004dc01, > + .mr = 0x00000032, > + }, > + [1] = { > + .rate = 133333333, > + .actim_ctrla = 0x7a19b485, > + .actim_ctrlb = 0x00011213, > + .rfr_ctrl = 0x0003de01, > + .mr = 0x00000032, > + }, > + [2] = { > + .rate = 82970588, > + .actim_ctrla = 0x51512283, > + .actim_ctrlb = 0x0001120c, > + .rfr_ctrl = 0x00025501, > + .mr = 0x00000032, > + }, > + [3] = { > + .rate = 66666666, > + .actim_ctrla = 0x410d2243, > + .actim_ctrlb = 0x0001120a, > + .rfr_ctrl = 0x0001d601, > + .mr = 0x00000032, > + }, > + [4] = { > + .rate = 0 > + }, > +}; > + > +#endif > diff --git a/include/asm-arm/arch-omap/sdrc.h b/include/asm-arm/arch-omap/sdrc.h > index 00ba539..1d974a0 100644 > --- a/include/asm-arm/arch-omap/sdrc.h > +++ b/include/asm-arm/arch-omap/sdrc.h > @@ -102,7 +102,7 @@ struct omap_sdrc_params { > u32 mr; > }; > > -void __init omap2_sdrc_init(void); > +void __init omap2_sdrc_init(struct omap_sdrc_params *); > struct omap_sdrc_params *omap2_sdrc_get_params(unsigned long r); > > #ifdef CONFIG_ARCH_OMAP2 > > > -- > To unsubscribe from this list: send the line "unsubscribe linux-omap" in > the body of a message to majordomo@xxxxxxxxxxxxxxx > More majordomo info at http://vger.kernel.org/majordomo-info.html > -- To unsubscribe from this list: send the line "unsubscribe linux-omap" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html