diff options
Diffstat (limited to 'board/xilinx')
| -rw-r--r-- | board/xilinx/microblaze-generic/microblaze-generic.c | 11 | ||||
| -rw-r--r-- | board/xilinx/microblaze-generic/xparameters.h | 4 | 
2 files changed, 12 insertions, 3 deletions
| diff --git a/board/xilinx/microblaze-generic/microblaze-generic.c b/board/xilinx/microblaze-generic/microblaze-generic.c index 70f94c1a5..befbb3a3e 100644 --- a/board/xilinx/microblaze-generic/microblaze-generic.c +++ b/board/xilinx/microblaze-generic/microblaze-generic.c @@ -38,10 +38,15 @@ int do_reset(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])  	*((unsigned long *)(CONFIG_SYS_GPIO_0_ADDR)) =  	    ++(*((unsigned long *)(CONFIG_SYS_GPIO_0_ADDR)));  #endif -#ifdef CONFIG_SYS_RESET_ADDRESS -	puts ("Reseting board\n"); -	asm ("bra r0"); + +#ifdef CONFIG_XILINX_TB_WATCHDOG +	hw_watchdog_disable();  #endif + +	puts ("Reseting board\n"); +	__asm__ __volatile__ ("	mts rmsr, r0;" \ +				"bra r0"); +  	return 0;  } diff --git a/board/xilinx/microblaze-generic/xparameters.h b/board/xilinx/microblaze-generic/xparameters.h index 50a82d94a..c846f97f5 100644 --- a/board/xilinx/microblaze-generic/xparameters.h +++ b/board/xilinx/microblaze-generic/xparameters.h @@ -77,3 +77,7 @@  #define XILINX_LLTEMAC_SDMA_CTRL_BASEADDR	0x42000180  #define XILINX_LLTEMAC_BASEADDR1		0x44200000  #define XILINX_LLTEMAC_FIFO_BASEADDR1		0x42100000 + +/* Watchdog IP is wxi_timebase_wdt_0 */ +#define XILINX_WATCHDOG_BASEADDR	0x50000000 +#define XILINX_WATCHDOG_IRQ		1 |