Commit | Line | Data |
---|---|---|
2f334a38 PW |
1 | /* |
2 | * omap3-restart.c - Code common to all OMAP3xxx machines. | |
3 | * | |
4 | * Copyright (C) 2009, 2012 Texas Instruments | |
5 | * Copyright (C) 2010 Nokia Corporation | |
6 | * Tony Lindgren <tony@atomide.com> | |
7 | * Santosh Shilimkar <santosh.shilimkar@ti.com> | |
8 | * | |
9 | * This program is free software; you can redistribute it and/or modify | |
10 | * it under the terms of the GNU General Public License version 2 as | |
11 | * published by the Free Software Foundation. | |
12 | */ | |
13 | #include <linux/kernel.h> | |
14 | #include <linux/init.h> | |
7b6d864b | 15 | #include <linux/reboot.h> |
2f334a38 | 16 | |
9e5d46b0 | 17 | #include "common.h" |
2f334a38 | 18 | #include "control.h" |
61c8621e | 19 | #include "prm.h" |
2f334a38 PW |
20 | |
21 | /* Global address base setup code */ | |
22 | ||
23 | /** | |
24 | * omap3xxx_restart - trigger a software restart of the SoC | |
25 | * @mode: the "reboot mode", see arch/arm/kernel/{setup,process}.c | |
26 | * @cmd: passed from the userspace program rebooting the system (if provided) | |
27 | * | |
28 | * Resets the SoC. For @cmd, see the 'reboot' syscall in | |
29 | * kernel/sys.c. No return value. | |
30 | */ | |
7b6d864b | 31 | void omap3xxx_restart(enum reboot_mode mode, const char *cmd) |
2f334a38 PW |
32 | { |
33 | omap3_ctrl_write_boot_mode((cmd ? (u8)*cmd : 0)); | |
61c8621e | 34 | omap_prm_reset_system(); |
2f334a38 | 35 | } |