hwstub/stmp: disable watchdog
Some targets like Sony NWZ use a watchdog, so we must disable it to prevent
spurious reboot when we take over
Change-Id: I138a8d7f9a1b089acb2d08d7f6c4a58e8b088b3a
diff --git a/utils/hwstub/stub/stmp/target.c b/utils/hwstub/stub/stmp/target.c
index 47768aa..98f65da 100644
--- a/utils/hwstub/stub/stmp/target.c
+++ b/utils/hwstub/stub/stmp/target.c
@@ -168,6 +168,15 @@
#define HW_USBPHY_CTRL (*(volatile uint32_t *)(HW_USBPHY_BASE + 0x30))
+/**
+ *
+ * RTC
+ *
+ */
+#define HW_RTC_BASE 0x8005C000
+#define HW_RTC_CTRL (*(volatile uint32_t *)(HW_RTC_BASE + 0))
+#define HW_RTC_CTRL__WATCHDOGEN (1 << 4)
+
void target_init(void)
{
/* detect family */
@@ -194,6 +203,8 @@
}
else
logf("cannot identify family: 0x%x\n", product_code);
+ /* disable watchdog */
+ __REG_CLR(HW_RTC_CTRL) = HW_RTC_CTRL__WATCHDOGEN;
if(g_stmp_family == STMP3600)
{