]> git.sur5r.net Git - u-boot/commitdiff
Add CONFIG_BOARD_RESET to configure board specific reset function
authorStefan Roese <sr@denx.de>
Sat, 7 Oct 2006 09:30:52 +0000 (11:30 +0200)
committerStefan Roese <sr@denx.de>
Sat, 7 Oct 2006 09:30:52 +0000 (11:30 +0200)
Patch by Stefan Roese, 07 Oct 2006

CHANGELOG
board/amcc/yellowstone/yellowstone.c
board/amcc/yosemite/yosemite.c
cpu/ppc4xx/cpu.c
include/configs/yellowstone.h
include/configs/yosemite.h

index e5fa93bc052472efeef54f5c64d0318981184838..4af02002ab38e65b37151c002a90d24e004f1b40 100644 (file)
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -2,6 +2,9 @@
 Changes since U-Boot 1.1.4:
 ======================================================================
 
+* Add CONFIG_BOARD_RESET to configure board specific reset function
+  Patch by Stefan Roese, 07 Oct 2006
+
 * Remove compile warnings in fpga code
   Patch by Stefan Roese, 18 Sep 2006
 
index 92dc9d4c028ba8b4c124c6c46cc98e3c900bbd44..754ae449c135001a97613273a3b443bf064f635d 100644 (file)
@@ -552,3 +552,9 @@ void hw_watchdog_reset(void)
 
 }
 #endif
+
+void board_reset(void)
+{
+       /* give reset to BCSR */
+       *(unsigned char *)(CFG_BCSR_BASE | 0x06) = 0x09;
+}
index 7f2e718203bb449d91a9cdef64fc1c8b11bde9c7..588ee900dad878ad61fea38d69879ae9f50b4c2c 100644 (file)
@@ -548,3 +548,9 @@ void hw_watchdog_reset(void)
 
 }
 #endif
+
+void board_reset(void)
+{
+       /* give reset to BCSR */
+       *(unsigned char *)(CFG_BCSR_BASE | 0x06) = 0x09;
+}
index 94478dbb109ea3c7e3a86907cc96636bc4159219..4e81ce2401133130b79820c0c1eb977c0f9c7615 100644 (file)
 DECLARE_GLOBAL_DATA_PTR;
 #endif
 
+#if defined(CONFIG_BOARD_RESET)
+void board_reset(void);
+#endif
+
 #if defined(CONFIG_440)
 #define FREQ_EBC               (sys_info.freqEPB)
 #else
@@ -414,23 +418,15 @@ int ppc440spe_revB() {
 
 int do_reset (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
 {
-#if defined(CONFIG_YOSEMITE) || defined(CONFIG_YELLOWSTONE)
-       /*give reset to BCSR*/
-       *(unsigned char*)(CFG_BCSR_BASE | 0x06) = 0x09;
-
+#if defined(CONFIG_BOARD_RESET)
+       board_reset();
 #else
-
        /*
         * Initiate system reset in debug control register DBCR
         */
-       __asm__ __volatile__("lis   3, 0x3000" ::: "r3");
-#if defined(CONFIG_440)
-       __asm__ __volatile__("mtspr 0x134, 3");
-#else
-       __asm__ __volatile__("mtspr 0x3f2, 3");
-#endif
+       mtspr(dbcr0, 0x30000000);
+#endif /* defined(CONFIG_BOARD_RESET) */
 
-#endif/* defined(CONFIG_YOSEMITE) || defined(CONFIG_YELLOWSTONE)*/
        return 1;
 }
 
index ba27f37f6ebe3505ad24433d5973b5dee2687047..58717f8a60cdb9d43d3e06e46584dd19955f2b7a 100644 (file)
@@ -37,6 +37,7 @@
 
 #define CONFIG_BOARD_EARLY_INIT_F 1     /* Call board_early_init_f     */
 #define CONFIG_MISC_INIT_R     1       /* call misc_init_r()           */
+#define CONFIG_BOARD_RESET     1       /* call board_reset()           */
 
 /*-----------------------------------------------------------------------
  * Base addresses -- Note these are effective addresses where the
index 3d7b4a2f4bc8890f3f47c14b3f02dc5074f2db71..6e942abcaae90de9005cdb2da15f33bb317b484f 100644 (file)
@@ -37,6 +37,7 @@
 
 #define CONFIG_BOARD_EARLY_INIT_F 1     /* Call board_early_init_f     */
 #define CONFIG_MISC_INIT_R     1       /* call misc_init_r()           */
+#define CONFIG_BOARD_RESET     1       /* call board_reset()           */
 
 /*-----------------------------------------------------------------------
  * Base addresses -- Note these are effective addresses where the