mirror of
https://github.com/torvalds/linux.git
synced 2024-11-29 15:41:36 +00:00
937e87229e
The following checkpatch issues have been resolved: arch/arm/mach-omap2/omap-wakeupgen.c WARNING: Missing a blank line after declarations arch/arm/mach-omap2/omap_hwmod_3xxx_data.c ERROR: space prohibited before that ',' (ctx:WxE) WARNING: Use lore.kernel.org archive links when possible arch/arm/mach-omap2/omap_phy_internal.c WARNING: Block comments should align the * on each line arch/arm/mach-omap2/sdrc2xxx.c WARNING: It's generally not useful to have the filename in the file arch/arm/mach-omap2/ti81xx-restart.c ERROR: trailing statements should be on next line Signed-off-by: Franziska Naepelt <franziska.naepelt@gmail.com> Message-ID: <20230531170427.42199-1-franziska.naepelt@gmail.com> Signed-off-by: Tony Lindgren <tony@atomide.com>
32 lines
851 B
C
32 lines
851 B
C
// SPDX-License-Identifier: GPL-2.0-only
|
|
#include <linux/kernel.h>
|
|
#include <linux/init.h>
|
|
#include <linux/reboot.h>
|
|
|
|
#include "iomap.h"
|
|
#include "common.h"
|
|
#include "control.h"
|
|
#include "prm3xxx.h"
|
|
|
|
#define TI81XX_PRM_DEVICE_RSTCTRL 0x00a0
|
|
#define TI81XX_GLOBAL_RST_COLD BIT(1)
|
|
|
|
/**
|
|
* ti81xx_restart - trigger a software restart of the SoC
|
|
* @mode: the "reboot mode", see arch/arm/kernel/{setup,process}.c
|
|
* @cmd: passed from the userspace program rebooting the system (if provided)
|
|
*
|
|
* Resets the SoC. For @cmd, see the 'reboot' syscall in
|
|
* kernel/sys.c. No return value.
|
|
*
|
|
* NOTE: Warm reset does not seem to work, may require resetting
|
|
* clocks to bypass mode.
|
|
*/
|
|
void ti81xx_restart(enum reboot_mode mode, const char *cmd)
|
|
{
|
|
omap2_prm_set_mod_reg_bits(TI81XX_GLOBAL_RST_COLD, 0,
|
|
TI81XX_PRM_DEVICE_RSTCTRL);
|
|
while (1)
|
|
;
|
|
}
|