On Tue, Oct 6, 2009 at 7:17 PM, Nishanth Menon <n...@ti.com> wrote: > Defaults are for Infineon DDR timings. > Since none of the supported boards currently do > XIP boot, these seem to be faulty. fix the values > as per the calculations(ACTIMA,B), conf > the sdrc power with pwdnen and wakeupproc bits > > Signed-off-by: Nishanth Menon <n...@ti.com> > Cc: David B <davi...@pacbell.net> > Cc: Vikram Pandita <vikram.pand...@ti.com> > Cc: Richard Woodruff <r-woodru...@ti.com> > Cc: Sandeep Paulraj <s-paul...@ti.com> > Cc: Tom Rix <tom....@windriver.com> > Cc: Dirk Behme <dirk.be...@googlemail.com> > --- > cpu/arm_cortexa8/omap3/mem.c | 3 ++- > include/asm-arm/arch-omap3/cpu.h | 1 + > include/asm-arm/arch-omap3/mem.h | 8 ++++---- > 3 files changed, 7 insertions(+), 5 deletions(-) > > diff --git a/cpu/arm_cortexa8/omap3/mem.c b/cpu/arm_cortexa8/omap3/mem.c > index 079c848..8731c9d 100644 > --- a/cpu/arm_cortexa8/omap3/mem.c > +++ b/cpu/arm_cortexa8/omap3/mem.c > @@ -164,7 +164,8 @@ void do_sdrc_init(u32 cs, u32 early) > writel(SDP_SDRC_SHARING, &sdrc_base->sharing); > > /* Disable Power Down of CKE cuz of 1 CKE on combo part */ > - writel(SRFRONRESET | PAGEPOLICY_HIGH, &sdrc_base->power); > + writel(WAKEUPPROC | PWDNEN | SRFRONRESET | PAGEPOLICY_HIGH, > + &sdrc_base->power); > > writel(ENADLL | DLLPHASE_90, &sdrc_base->dlla_ctrl); > sdelay(0x20000); > diff --git a/include/asm-arm/arch-omap3/cpu.h > b/include/asm-arm/arch-omap3/cpu.h > index 8ab2e39..e51c4f3 100644 > --- a/include/asm-arm/arch-omap3/cpu.h > +++ b/include/asm-arm/arch-omap3/cpu.h > @@ -222,6 +222,7 @@ struct sdrc { > > #define PAGEPOLICY_HIGH (0x1 << 0) > #define SRFRONRESET (0x1 << 7) > +#define PWDNEN (0x1 << 2) > #define WAKEUPPROC (0x1 << 26) > > #define DDR_SDRAM (0x1 << 0) > diff --git a/include/asm-arm/arch-omap3/mem.h > b/include/asm-arm/arch-omap3/mem.h > index 5b9ac75..31cbdef 100644 > --- a/include/asm-arm/arch-omap3/mem.h > +++ b/include/asm-arm/arch-omap3/mem.h > @@ -78,16 +78,16 @@ enum { > #define TRP_165 3 > #define TRAS_165 7 > #define TRC_165 10 > -#define TRFC_165 21 > +#define TRFC_165 12 > #define V_ACTIMA_165 ((TRFC_165 << 27) | (TRC_165 << 22) | \ > (TRAS_165 << 18) | (TRP_165 << 15) | \ > (TRCD_165 << 12) | (TRRD_165 << 9) | \ > (TDPL_165 << 6) | (TDAL_165)) > > #define TWTR_165 1 > -#define TCKE_165 1 > -#define TXP_165 5 > -#define XSR_165 23 > +#define TCKE_165 2 > +#define TXP_165 2 > +#define XSR_165 20 > #define V_ACTIMB_165 (((TCKE_165 << 12) | (XSR_165 << 0)) | \ > (TXP_165 << 8) | (TWTR_165 << 16)) > > -- > 1.6.0.4
I see issues after applying this patch (Overo/Beagle). In about half of my boot attempts I get a hang after Uncompressing Linux.... In the other half I get many many errors of this type: SLAB: cache with size 192 has lost its name Reverting the patch restores normal operation. So it seems that the Infineon timings do not work on systems with Micron memory. Steve _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot