public inbox for linuxppc-dev@ozlabs.org 
 help / color / mirror / Atom feed
* [PATCH] Add abort for fsl-devices which lack an RSTCR register.
@ 2007-12-03 20:51 Clemens Koller
  0 siblings, 0 replies; only message in thread
From: Clemens Koller @ 2007-12-03 20:51 UTC (permalink / raw)
  To: Linuxppc-embedded, Kumar Gala, robert lazarski

[-- Attachment #1: Type: text/plain, Size: 842 bytes --]

This adds a fallback and calls abort() (in head_fsl_booke.S) to be able
to successfully reset some older freescale devices (i.e. mpc8540)
which don't have a RSTCR register.

Robert, this should also fix your issues. Please test.

Kumar, please ACK/NACK the patch since you touched fsl_rstcr_restart()
last time (2007-10-04). Maybe the call to abort (which resets the processor via
the Debug Control Register 0) could be put somewhere else or
we create another entry for the device tree.

Otherwise, I would prefer to check the PVR/SVR registers and use
a suitable cpu_reset() call which fits to the current cpu.

Regards,
-- 
Clemens Koller
__________________________________
R&D Imaging Devices
Anagramm GmbH
Rupert-Mayer-Straße 45/1
Linhof Werksgelände
D-81379 München
Tel.089-741518-50
Fax 089-741518-19
http://www.anagramm-technology.com

[-- Attachment #2: powerpc-add-abort-to-reset-systems-without-rstcr-register.patch --]
[-- Type: text/plain, Size: 883 bytes --]

Add a fallback to abort() call (in head_fsl_booke.S) to be able to
successfully reset some older freescale power devices (i.e. mpc8540)
which don't have a rstcr register.

Signed-off-by: Clemens Koller <clemens.koller@anagramm•de>

diff --git a/arch/powerpc/sysdev/fsl_soc.c b/arch/powerpc/sysdev/fsl_soc.c
index 3ace747..6fe674a 100644
--- a/arch/powerpc/sysdev/fsl_soc.c
+++ b/arch/powerpc/sysdev/fsl_soc.c
@@ -42,6 +42,7 @@
 extern void init_fcc_ioports(struct fs_platform_info*);
 extern void init_fec_ioports(struct fs_platform_info*);
 extern void init_smc_ioports(struct fs_uart_platform_info*);
+extern void abort(void);
 static phys_addr_t immrbase = -1;
 
 phys_addr_t get_immrbase(void)
@@ -1336,6 +1337,8 @@ void fsl_rstcr_restart(char *cmd)
 	if (rstcr)
 		/* set reset control register */
 		out_be32(rstcr, 0x2);	/* HRESET_REQ */
+	else
+		abort();
 
 	while (1) ;
 }

^ permalink raw reply related	[flat|nested] only message in thread

only message in thread, other threads:[~2007-12-03 20:51 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2007-12-03 20:51 [PATCH] Add abort for fsl-devices which lack an RSTCR register Clemens Koller

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox