google/gale: Implement reset
Implement reset using PSHOLD and remove watchdog based reset not needed for ipx40xx. BUG=chrome-os-partner:49249 TEST=None. Initial code not sure if it will even compile BRANCH=none Change-Id: Ibd3f9958682ed2e85e778976df3a8e124a7441fd Signed-off-by: Patrick Georgi <pgeorgi@chromium.org> Original-Commit-Id: 65c8b9dd633f0d402cad7d609563c8aac9bf5115 Original-Change-Id: I8f0ea3c1b71e86a7ca733965ecbec6954a52f6e3 Original-Signed-off-by: Varadarajan Narayanan <varada@codeaurora.org> Original-Reviewed-on: https://chromium-review.googlesource.com/333298 Original-Commit-Ready: David Hendricks <dhendrix@chromium.org> Original-Reviewed-by: David Hendricks <dhendrix@chromium.org> Reviewed-on: https://review.coreboot.org/14663 Tested-by: build bot (Jenkins) Reviewed-by: Martin Roth <martinroth@google.com>
This commit is contained in:
parent
838125b3cd
commit
5df833179d
|
@ -19,30 +19,6 @@
|
||||||
#include <soc/iomap.h>
|
#include <soc/iomap.h>
|
||||||
#include <reset.h>
|
#include <reset.h>
|
||||||
|
|
||||||
/* Watchdog bite time set to default reset value */
|
|
||||||
#define RESET_WDT_BITE_TIME 0x31F3
|
|
||||||
|
|
||||||
/* Watchdog bark time value is kept larger than the watchdog timeout
|
|
||||||
* of 0x31F3, effectively disabling the watchdog bark interrupt
|
|
||||||
*/
|
|
||||||
#define RESET_WDT_BARK_TIME (5 * RESET_WDT_BITE_TIME)
|
|
||||||
|
|
||||||
static void wdog_reset(void)
|
|
||||||
{
|
|
||||||
printk(BIOS_DEBUG, "\nResetting with watchdog!\n");
|
|
||||||
|
|
||||||
write32(APCS_WDT0_EN, 0);
|
|
||||||
write32(APCS_WDT0_RST, 1);
|
|
||||||
write32(APCS_WDT0_BARK_TIME, RESET_WDT_BARK_TIME);
|
|
||||||
write32(APCS_WDT0_BITE_TIME, RESET_WDT_BITE_TIME);
|
|
||||||
write32(APCS_WDT0_EN, 1);
|
|
||||||
write32(APCS_WDT0_CPU0_WDOG_EXPIRED_ENABLE, 1);
|
|
||||||
|
|
||||||
for (;;)
|
|
||||||
;
|
|
||||||
}
|
|
||||||
|
|
||||||
void hard_reset(void)
|
void hard_reset(void)
|
||||||
{
|
{
|
||||||
wdog_reset();
|
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue