|
@@ -41,6 +41,10 @@
|
|
DECLARE_GLOBAL_DATA_PTR;
|
|
DECLARE_GLOBAL_DATA_PTR;
|
|
#endif
|
|
#endif
|
|
|
|
|
|
|
|
+#if defined(CONFIG_BOARD_RESET)
|
|
|
|
+void board_reset(void);
|
|
|
|
+#endif
|
|
|
|
+
|
|
#if defined(CONFIG_440)
|
|
#if defined(CONFIG_440)
|
|
#define FREQ_EBC (sys_info.freqEPB)
|
|
#define FREQ_EBC (sys_info.freqEPB)
|
|
#else
|
|
#else
|
|
@@ -414,23 +418,15 @@ int ppc440spe_revB() {
|
|
|
|
|
|
int do_reset (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
|
|
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
|
|
#else
|
|
-
|
|
|
|
/*
|
|
/*
|
|
* Initiate system reset in debug control register DBCR
|
|
* 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;
|
|
return 1;
|
|
}
|
|
}
|
|
|
|
|