diff options
| -rw-r--r-- | arch/blackfin/cpu/initcode.c | 13 | ||||
| -rw-r--r-- | arch/blackfin/cpu/start.S | 2 | ||||
| -rw-r--r-- | include/configs/bf609-ezkit.h | 1 | 
3 files changed, 16 insertions, 0 deletions
| diff --git a/arch/blackfin/cpu/initcode.c b/arch/blackfin/cpu/initcode.c index a71714865..ce9a43598 100644 --- a/arch/blackfin/cpu/initcode.c +++ b/arch/blackfin/cpu/initcode.c @@ -461,8 +461,21 @@ program_early_devices(ADI_BOOT_DATA *bs, uint *sdivB, uint *divB, uint *vcoB)  	 */  	if (CONFIG_BFIN_BOOT_MODE != BFIN_BOOT_BYPASS) {  		serial_putc('e'); +#ifdef __ADSPBF60x__ +		bfin_write_SEC_GCTL(0x2); +		SSYNC(); +		bfin_write_SEC_FCTL(0xc1); +		bfin_write_SEC_SCTL(2, bfin_read_SEC_SCTL(2) | 0x6); + +		bfin_write_SEC_CCTL(0x2); +		SSYNC(); +		bfin_write_SEC_GCTL(0x1); +		bfin_write_SEC_CCTL(0x1); +#endif  		bfin_write_WDOG_CNT(MSEC_TO_SCLK(CONFIG_HW_WATCHDOG_TIMEOUT_INITCODE)); +#if CONFIG_BFIN_BOOT_MODE != BFIN_BOOT_UART  		bfin_write_WDOG_CTL(0); +#endif  		serial_putc('f');  	}  #endif diff --git a/arch/blackfin/cpu/start.S b/arch/blackfin/cpu/start.S index 90b4d1ae9..7155fc858 100644 --- a/arch/blackfin/cpu/start.S +++ b/arch/blackfin/cpu/start.S @@ -65,6 +65,7 @@ ENTRY(_start)  	p5.h = HI(COREMMR_BASE);  #ifdef CONFIG_HW_WATCHDOG +#ifndef __ADSPBF60x__  # ifndef CONFIG_HW_WATCHDOG_TIMEOUT_START  #  define CONFIG_HW_WATCHDOG_TIMEOUT_START 5000  # endif @@ -78,6 +79,7 @@ ENTRY(_start)  	/* fire up the watchdog - R0.L above needs to be 0x0000 */  	W[p4 + (WDOG_CTL - SYSMMR_BASE)] = r0;  #endif +#endif  	/* Turn on the serial for debugging the init process */  	serial_early_init diff --git a/include/configs/bf609-ezkit.h b/include/configs/bf609-ezkit.h index 6dffab86d..02149fa94 100644 --- a/include/configs/bf609-ezkit.h +++ b/include/configs/bf609-ezkit.h @@ -63,6 +63,7 @@  #define CONFIG_SYS_MONITOR_LEN	(768 * 1024)  #define CONFIG_SYS_MALLOC_LEN	(512 * 1024) +#define CONFIG_HW_WATCHDOG  /*   * Network Settings   */ |