diff options
Diffstat (limited to 'board')
-rw-r--r-- | board/freescale/mx53_smd/mx53_smd.c | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/board/freescale/mx53_smd/mx53_smd.c b/board/freescale/mx53_smd/mx53_smd.c index aff0364..b698fd3 100644 --- a/board/freescale/mx53_smd/mx53_smd.c +++ b/board/freescale/mx53_smd/mx53_smd.c @@ -799,6 +799,7 @@ void setup_splash_image(void) int board_init(void) { + unsigned int val; #ifdef CONFIG_MFG /* MFG firmware need reset usb to avoid host crash firstly */ #define USBCMD 0x140 @@ -806,6 +807,14 @@ int board_init(void) val &= ~0x1; /*RS bit*/ writel(val, OTG_BASE_ADDR + USBCMD); #endif + + /* Workaround: To make watchdog timeout work in mx53 + * SMD, force warm reset as cold reset + */ + val = readl(SRC_BASE_ADDR); + val &= 0xFFFFFFFE; + writel(val, SRC_BASE_ADDR); + setup_boot_device(); setup_soc_rev(); |