Re: [PATCH] mpc8540 : Fix restart

2008-04-14 Thread Kumar Gala



What do you propose then ? The ability to reboot without power-off is
really needed for embedded targets.  And abort() from head_fsl.S   
seems

really close to reboot.


Boards should provide system logic mechanism that should be used.  The  
problem is abort() only resets the core.  The rest of the SoC wlll not  
be properly reset.


- k
___
Linuxppc-dev mailing list
Linuxppc-dev@ozlabs.org
https://ozlabs.org/mailman/listinfo/linuxppc-dev


Re: [PATCH] mpc8540 : Fix restart

2008-04-09 Thread Kumar Gala


On Apr 9, 2008, at 5:12 PM, Philippe De Muyter wrote:

Hi everybody,

Previously, with the arch/ppc tree, mpc8540 boards could reboot.
Now with the arch/powerpc tree, they can not anymore.
Fix that.

Signed-off-by: Philippe De Muyter [EMAIL PROTECTED]

--- a/arch/powerpc/sysdev/fsl_soc.c	2008-03-21 14:53:41.0  
+
+++ b/arch/powerpc/sysdev/fsl_soc.c	2008-03-26 12:08:25.0  
+

@@ -1428,13 +1433,17 @@

arch_initcall(setup_rstcr);

+extern void abort(void);
+
void fsl_rstcr_restart(char *cmd)
{
local_irq_disable();
if (rstcr)
/* set reset control register */
out_be32(rstcr, 0x2);   /* HRESET_REQ */
-
+   else
+   abort();
while (1) ;
+
}


This was on purpose.  abort() doesn't really do a restart and thus I  
didn't want it to be used that way.


- k
___
Linuxppc-dev mailing list
Linuxppc-dev@ozlabs.org
https://ozlabs.org/mailman/listinfo/linuxppc-dev


Re: [PATCH] mpc8540 : Fix restart

2008-04-09 Thread Philippe De Muyter
On Wed, Apr 09, 2008 at 05:51:40PM -0500, Kumar Gala wrote:

 On Apr 9, 2008, at 5:12 PM, Philippe De Muyter wrote:
 Hi everybody,

  Previously, with the arch/ppc tree, mpc8540 boards could reboot.
  Now with the arch/powerpc tree, they can not anymore.
  Fix that.

 Signed-off-by: Philippe De Muyter [EMAIL PROTECTED]

 --- a/arch/powerpc/sysdev/fsl_soc.c  2008-03-21 14:53:41.0 +
 +++ b/arch/powerpc/sysdev/fsl_soc.c  2008-03-26 12:08:25.0 +
 @@ -1428,13 +1433,17 @@

 arch_initcall(setup_rstcr);

 +extern void abort(void);
 +
 void fsl_rstcr_restart(char *cmd)
 {
  local_irq_disable();
  if (rstcr)
  /* set reset control register */
  out_be32(rstcr, 0x2);   /* HRESET_REQ */
 -
 +else
 +abort();
  while (1) ;
 +
 }

 This was on purpose.  abort() doesn't really do a restart and thus I didn't 
 want it to be used that way.


What do you propose then ? The ability to reboot without power-off is
really needed for embedded targets.  And abort() from head_fsl.S  seems
really close to reboot.

Philippe
___
Linuxppc-dev mailing list
Linuxppc-dev@ozlabs.org
https://ozlabs.org/mailman/listinfo/linuxppc-dev