diff options
Diffstat (limited to 'src/soc/intel/cannonlake/reset.c')
-rw-r--r-- | src/soc/intel/cannonlake/reset.c | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/src/soc/intel/cannonlake/reset.c b/src/soc/intel/cannonlake/reset.c index ca82bd6ac4..8192e89029 100644 --- a/src/soc/intel/cannonlake/reset.c +++ b/src/soc/intel/cannonlake/reset.c @@ -16,10 +16,12 @@ #include <compiler.h> #include <console/console.h> #include <intelblocks/cse.h> +#include <intelblocks/pmclib.h> #include <fsp/util.h> #include <reset.h> #include <string.h> #include <timer.h> +#include <soc/pci_devs.h> /* Reset Request */ #define MKHI_GLOBAL_RESET 0x0b @@ -82,10 +84,9 @@ void do_global_reset(void) { /* Ask CSE to do the global reset */ send_heci_reset_message(); - /* - * TODO: Presumbily we shouldn't return. But if we did, fallback to - * alternative way of triggered global reset provided by pmclib. - */ + /* global reset if CSE fail to reset */ + pmc_global_reset_enable(1); + hard_reset(); } void chipset_handle_reset(uint32_t status) |