1ab4c2e1bbd316bd86b448fa0974ac66c0d2172b8Afzal Mohammed/* 2ab4c2e1bbd316bd86b448fa0974ac66c0d2172b8Afzal Mohammed * omap4-restart.c - Common to OMAP4 and OMAP5 3ab4c2e1bbd316bd86b448fa0974ac66c0d2172b8Afzal Mohammed * 4ab4c2e1bbd316bd86b448fa0974ac66c0d2172b8Afzal Mohammed * 5ab4c2e1bbd316bd86b448fa0974ac66c0d2172b8Afzal Mohammed * This program is free software; you can redistribute it and/or modify 6ab4c2e1bbd316bd86b448fa0974ac66c0d2172b8Afzal Mohammed * it under the terms of the GNU General Public License version 2 as 7ab4c2e1bbd316bd86b448fa0974ac66c0d2172b8Afzal Mohammed * published by the Free Software Foundation. 8ab4c2e1bbd316bd86b448fa0974ac66c0d2172b8Afzal Mohammed */ 9ab4c2e1bbd316bd86b448fa0974ac66c0d2172b8Afzal Mohammed 10ab4c2e1bbd316bd86b448fa0974ac66c0d2172b8Afzal Mohammed#include <linux/types.h> 117b6d864b48d95e6ea1df7df64475b9cb9616dcf9Robin Holt#include <linux/reboot.h> 12ab4c2e1bbd316bd86b448fa0974ac66c0d2172b8Afzal Mohammed#include "prminst44xx.h" 13ab4c2e1bbd316bd86b448fa0974ac66c0d2172b8Afzal Mohammed 14ab4c2e1bbd316bd86b448fa0974ac66c0d2172b8Afzal Mohammed/** 15ab4c2e1bbd316bd86b448fa0974ac66c0d2172b8Afzal Mohammed * omap44xx_restart - trigger a software restart of the SoC 16ab4c2e1bbd316bd86b448fa0974ac66c0d2172b8Afzal Mohammed * @mode: the "reboot mode", see arch/arm/kernel/{setup,process}.c 17ab4c2e1bbd316bd86b448fa0974ac66c0d2172b8Afzal Mohammed * @cmd: passed from the userspace program rebooting the system (if provided) 18ab4c2e1bbd316bd86b448fa0974ac66c0d2172b8Afzal Mohammed * 19ab4c2e1bbd316bd86b448fa0974ac66c0d2172b8Afzal Mohammed * Resets the SoC. For @cmd, see the 'reboot' syscall in 20ab4c2e1bbd316bd86b448fa0974ac66c0d2172b8Afzal Mohammed * kernel/sys.c. No return value. 21ab4c2e1bbd316bd86b448fa0974ac66c0d2172b8Afzal Mohammed */ 227b6d864b48d95e6ea1df7df64475b9cb9616dcf9Robin Holtvoid omap44xx_restart(enum reboot_mode mode, const char *cmd) 23ab4c2e1bbd316bd86b448fa0974ac66c0d2172b8Afzal Mohammed{ 24ab4c2e1bbd316bd86b448fa0974ac66c0d2172b8Afzal Mohammed /* XXX Should save 'cmd' into scratchpad for use after reboot */ 25ab4c2e1bbd316bd86b448fa0974ac66c0d2172b8Afzal Mohammed omap4_prminst_global_warm_sw_reset(); /* never returns */ 26ab4c2e1bbd316bd86b448fa0974ac66c0d2172b8Afzal Mohammed while (1) 27ab4c2e1bbd316bd86b448fa0974ac66c0d2172b8Afzal Mohammed ; 28ab4c2e1bbd316bd86b448fa0974ac66c0d2172b8Afzal Mohammed} 29