|
|
|
@ -9,6 +9,7 @@ |
|
|
|
|
#include <altera.h> |
|
|
|
|
#include <miiphy.h> |
|
|
|
|
#include <netdev.h> |
|
|
|
|
#include <watchdog.h> |
|
|
|
|
#include <asm/arch/reset_manager.h> |
|
|
|
|
#include <asm/arch/system_manager.h> |
|
|
|
|
#include <asm/arch/dwmmc.h> |
|
|
|
@ -150,14 +151,23 @@ static inline void socfpga_fpga_add(void) {} |
|
|
|
|
|
|
|
|
|
int arch_cpu_init(void) |
|
|
|
|
{ |
|
|
|
|
#ifdef CONFIG_HW_WATCHDOG |
|
|
|
|
/*
|
|
|
|
|
* In case the watchdog is enabled, make sure to (re-)configure it |
|
|
|
|
* so that the defined timeout is valid. Otherwise the SPL (Perloader) |
|
|
|
|
* timeout value is still active which might too short for Linux |
|
|
|
|
* booting. |
|
|
|
|
*/ |
|
|
|
|
hw_watchdog_init(); |
|
|
|
|
#else |
|
|
|
|
/*
|
|
|
|
|
* If the HW watchdog is NOT enabled, make sure it is not running, |
|
|
|
|
* for example because it was enabled in the preloader. This might |
|
|
|
|
* trigger a watchdog-triggered reboot of Linux kernel later. |
|
|
|
|
*/ |
|
|
|
|
#ifndef CONFIG_HW_WATCHDOG |
|
|
|
|
socfpga_watchdog_reset(); |
|
|
|
|
#endif |
|
|
|
|
|
|
|
|
|
return 0; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|