1 | // SPDX-License-Identifier: GPL-2.0-only |
2 | /* |
3 | * omap3-restart.c - Code common to all OMAP3xxx machines. |
4 | * |
5 | * Copyright (C) 2009, 2012 Texas Instruments |
6 | * Copyright (C) 2010 Nokia Corporation |
7 | * Tony Lindgren <tony@atomide.com> |
8 | * Santosh Shilimkar <santosh.shilimkar@ti.com> |
9 | */ |
10 | #include <linux/kernel.h> |
11 | #include <linux/init.h> |
12 | #include <linux/reboot.h> |
13 | |
14 | #include "common.h" |
15 | #include "control.h" |
16 | #include "prm.h" |
17 | |
18 | /* Global address base setup code */ |
19 | |
20 | /** |
21 | * omap3xxx_restart - trigger a software restart of the SoC |
22 | * @mode: the "reboot mode", see arch/arm/kernel/{setup,process}.c |
23 | * @cmd: passed from the userspace program rebooting the system (if provided) |
24 | * |
25 | * Resets the SoC. For @cmd, see the 'reboot' syscall in |
26 | * kernel/sys.c. No return value. |
27 | */ |
28 | void omap3xxx_restart(enum reboot_mode mode, const char *cmd) |
29 | { |
30 | omap3_ctrl_write_boot_mode((cmd ? (u8)*cmd : 0)); |
31 | omap_prm_reset_system(); |
32 | } |
33 | |