[U-Boot] __fsl_ddr_set_lawbar: ERROR (ctrl #0, intrlv=0)
Wolfgang Denk
wd at denx.de
Wed Aug 24 23:23:12 CEST 2011
Dear Kumar Gala,
In message <17E34909-A735-4920-9980-059D95535774 at kernel.crashing.org> you wrote:
>
> > If so, I wonder what has changed, because this used to be working in
> > older versions of the kernel? I did not attampt a full git bisect,
> > but from some old images I still found it appears it must have been
> > broken between 2.6.16 ("reboot" in Linux works fine) and 2.6.27
> > ("reboot" does not work any more) - so probably this was part of the
> > arch/ppc => arch/powerpc rework.
>
> Possible, its a pretty fragile reset solution so one (or a thousand) of
> a million things could be the issue.
>
> > Is there any specific reason we don't use the good old approach of
> > triggering an unhandled machine check exception?
>
> Hmm, when did we do that? I've got no issues with it if it causes
> HRESET_REQ to be signaled on the older devices. On MPC8548 and greater
> we provided a means for software to causes HRESET_REQ to be asserted.
> So if an unhandled mcheck will do this sounds good to me.
For example for PQ2 Linux does this (in arch/powerpc/platforms/82xx/pq2.c):
26 void pq2_restart(char *cmd)
27 {
28 local_irq_disable();
29 setbits32(&cpm2_immr->im_clkrst.car_rmr, RMR_CSRE);
30
31 /* Clear the ME,EE,IR & DR bits in MSR to cause checkstop */
32 mtmsr(mfmsr() & ~(MSR_ME | MSR_EE | MSR_IR | MSR_DR));
33 in_8(&cpm2_immr->im_clkrst.res[0]);
34
35 panic("Restart failed\n");
36 }
So we set the Checkstop Reset enable, and then reference a known bad
address.
Should we try and do the same here, too?
Best regards,
Wolfgang Denk
--
DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de
A person with one watch knows what time it is; a person with two
watches is never sure. Proverb
More information about the U-Boot
mailing list