![Russell King](/assets/img/avatar_default.png)
OMAP wishes to pass state to the boot loader upon reboot in order to instruct it whether to wait for USB-based reflashing or not. There is already a facility to do this via the reboot() syscall, except we ignore the string passed to machine_restart(). This patch fixes things to pass this string to arch_reset(). This means that we keep the reboot mode limited to telling the kernel _how_ to perform the reboot which should be independent of what we request the boot loader to do. Acked-by: Tony Lindgren <tony@atomide.com> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
27 lines
534 B
C
27 lines
534 B
C
/*
|
|
* arch/arm/mach-ep93xx/include/mach/system.h
|
|
*/
|
|
|
|
#include <mach/hardware.h>
|
|
|
|
static inline void arch_idle(void)
|
|
{
|
|
cpu_do_idle();
|
|
}
|
|
|
|
static inline void arch_reset(char mode, const char *cmd)
|
|
{
|
|
u32 devicecfg;
|
|
|
|
local_irq_disable();
|
|
|
|
devicecfg = __raw_readl(EP93XX_SYSCON_DEVICE_CONFIG);
|
|
__raw_writel(0xaa, EP93XX_SYSCON_SWLOCK);
|
|
__raw_writel(devicecfg | 0x80000000, EP93XX_SYSCON_DEVICE_CONFIG);
|
|
__raw_writel(0xaa, EP93XX_SYSCON_SWLOCK);
|
|
__raw_writel(devicecfg & ~0x80000000, EP93XX_SYSCON_DEVICE_CONFIG);
|
|
|
|
while (1)
|
|
;
|
|
}
|