Hi Haiying, On Tue, Mar 25, 2008 at 04:48:23PM -0400, Haiying Wang wrote: > Ok, I see the problem here. For 8540/60 which has e500 v1 core, it > doesn't use RSTCR to assert HRESET_REQ signal to reset the whole system. > We probably need to add abort() in fsl_rstcr_restart() for those > silicons: > > diff --git a/arch/powerpc/sysdev/fsl_soc.c > b/arch/powerpc/sysdev/fsl_soc.c > index 2c5388c..c2d07cd 100644 > --- a/arch/powerpc/sysdev/fsl_soc.c > +++ b/arch/powerpc/sysdev/fsl_soc.c > @@ -1434,7 +1434,8 @@ void fsl_rstcr_restart(char *cmd) > if (rstcr) > /* set reset control register */ > out_be32(rstcr, 0x2); /* HRESET_REQ */ > - > + else > + abort(); > while (1) ; > } > #endif
I have a 8540 board, and that works, but as your patch is written, compilation fails with : arch/powerpc/sysdev/fsl_soc.c: In function 'fsl_rstcr_restart': arch/powerpc/sysdev/fsl_soc.c:1445: error: implicit declaration of function 'abort' arch/powerpc/sysdev/fsl_soc.c:1445: warning: incompatible implicit declaration of built-in function 'abort' make[1]: *** [arch/powerpc/sysdev/fsl_soc.o] Error 1 make: *** [arch/powerpc/sysdev] Error 2 and if I fix that with : arch_initcall(setup_rstcr); +extern void abort(void); + void fsl_rstcr_restart(char *cmd) { it compiles and does reboot, but at startup I still get the following annoying message : rstcr compatible register does not exist! Philippe _______________________________________________ Linuxppc-dev mailing list Linuxppc-dev@ozlabs.org https://ozlabs.org/mailman/listinfo/linuxppc-dev