[U-Boot] [PATCH 5/6] LS102XA:workaround:disable priorities within DDR
Yao Yuan
yao.yuan at freescale.com
Wed Nov 25 10:14:13 CET 2015
Hi Sinan Akman,
Thanks for your review.
There should not cause any problem with Rev1.0.
The workaround should also apply to rev1.0.
Best Regards,
Yuan Yao
> -----Original Message-----
> From: Sinan Akman [mailto:sinan at writeme.com]
> Sent: Wednesday, November 25, 2015 12:10 AM
> To: Yuan Yao-B46683 <yao.yuan at freescale.com>; Sun York-R58495
> <yorksun at freescale.com>
> Cc: u-boot at lists.denx.de; Wang Huan-B18965 <alison.wang at freescale.com>
> Subject: Re: [U-Boot] [PATCH 5/6] LS102XA:workaround:disable priorities
> within DDR
>
>
> Hi Yuan
>
> On 24/11/15 05:45 AM, Yuan Yao wrote:
> > Erratum number: ERR008514
> > EDDRTQCFG Registers are Integration Strap values which controls
> > performance parameters for DDR Controller.
> >
> > The bit 25 is used to disable priorities within DDR since DDR are
> > connected backwards on Rev2.0 silicon for LS1021A.
> >
> > Signed-off-by: Yuan Yao <yao.yuan at freescale.com>
> > ---
> > arch/arm/cpu/armv7/ls102xa/soc.c | 13 ++++++++++++-
> > 1 file changed, 12 insertions(+), 1 deletion(-)
> >
> > diff --git a/arch/arm/cpu/armv7/ls102xa/soc.c
> > b/arch/arm/cpu/armv7/ls102xa/soc.c
> > index b15cd60..98d4acd 100644
> > --- a/arch/arm/cpu/armv7/ls102xa/soc.c
> > +++ b/arch/arm/cpu/armv7/ls102xa/soc.c
> > @@ -25,7 +25,7 @@ int arch_soc_init(void)
> > {
> > struct ccsr_scfg *scfg = (struct ccsr_scfg
> *)CONFIG_SYS_FSL_SCFG_ADDR;
> > struct ccsr_cci400 *cci = (struct ccsr_cci400
> *)CONFIG_SYS_CCI400_ADDR;
> > - unsigned int major;
> > + unsigned int major, reg;
> >
> > #ifdef CONFIG_FSL_QSPI
> > out_be32(&scfg->qspi_cfg, SCFG_QSPI_CLKSEL); @@ -86,5 +86,16 @@
> int
> > arch_soc_init(void)
> > */
> > out_be32(&scfg->eddrtqcfg, 0x63b20002);
> >
> > + /*
> > + * EDDRTQCFG Registers are Integration Strap values which controls
> > + * performance parameters for DDR Controller.
> > + * The bit 25 is used for disable priorities within DDR.
> > + * This is a workaround because of the DDR are connected backwards
> > + * on Rev2.0.
>
> Would this cause any problem with Rev1.0 ?
> If it does, should we check the revision here.
>
> Regards
> Sinan Akman
>
> > + */
> > + reg = in_be32(&scfg->eddrtqcfg);
> > + reg |= 1 << 6;
> > + out_be32(&scfg->eddrtqcfg, reg);
> > +
> > return 0;
> > }
> >
More information about the U-Boot
mailing list