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

Reply via email to