/* * Copyright (C) 2013 Jean-Christophe PLAGNIOL-VILLARD * * GPLv2 only */ #include #include #include #include #include #include #include void __iomem *v2m_wdt_base; static void __noreturn vexpress_reset_soc(struct restart_handler *rst) { writel(LOAD_MIN, v2m_wdt_base + WDTLOAD); writeb(RESET_ENABLE, v2m_wdt_base + WDTCONTROL); hang(); } void vexpress_restart_register_feature(void __iomem *base) { v2m_wdt_base = base; restart_handler_register_fn("soc-wdt", vexpress_reset_soc); }