[U-Boot] [PATCH 07/15] Added MMCR reset functionality

Graeme Russ graeme.russ at gmail.com
Sun Dec 7 00:29:03 CET 2008


Reset function specific to AMD SC520 microcontroller - Is more of a 'hard
reset' that the triple fault.

Signed-off-by: Graeme Russ <graeme.russ at gmail.com>
--
Requires CONFIG_SYS_RESET_SC520 to be defined in config

I would have liked to add this to a new file (cpu/i386/sc520/reset.c) but ld
requires that a object file in a library arhive MUST contain at least one
function which does not override a weak function (and is called from outside
the object file) in order for that object file to be extracted from the
archive. This would be the only function on the new file, and hence, will
never get linked in.
---
 cpu/i386/sc520/sc520.c |   10 ++++++++++
 1 files changed, 10 insertions(+), 0 deletions(-)

diff --git a/cpu/i386/sc520/sc520.c b/cpu/i386/sc520/sc520.c
index cb6bc03..50bd8ef 100644
--- a/cpu/i386/sc520/sc520.c
+++ b/cpu/i386/sc520/sc520.c
@@ -507,4 +507,14 @@ u8 ssi_rx_byte(void)
 	return read_mmcr_byte(SC520_SSIRCV);
 }

+#ifdef CONFIG_SYS_RESET_SC520
+void reset_cpu(ulong addr)
+{
+	printf("Resetting using SC520 MMCR\n");
+	/* Write a '1' to the SYS_RST of the RESCFG MMCR */
+	write_mmcr_word(SC520_RESCFG, 0x0001);
+
+	/* NOTREACHED */
+}
+#endif
 #endif /* CONFIG_SC520 */
--
1.5.4.3



More information about the U-Boot mailing list