1*4882a593Smuzhiyun // SPDX-License-Identifier: GPL-2.0-only 2*4882a593Smuzhiyun /* 3*4882a593Smuzhiyun * Copyright 2011 Calxeda, Inc. 4*4882a593Smuzhiyun */ 5*4882a593Smuzhiyun #include <linux/io.h> 6*4882a593Smuzhiyun #include <asm/proc-fns.h> 7*4882a593Smuzhiyun #include <linux/reboot.h> 8*4882a593Smuzhiyun 9*4882a593Smuzhiyun #include "core.h" 10*4882a593Smuzhiyun #include "sysregs.h" 11*4882a593Smuzhiyun highbank_restart(enum reboot_mode mode,const char * cmd)12*4882a593Smuzhiyunvoid highbank_restart(enum reboot_mode mode, const char *cmd) 13*4882a593Smuzhiyun { 14*4882a593Smuzhiyun if (mode == REBOOT_HARD) 15*4882a593Smuzhiyun highbank_set_pwr_hard_reset(); 16*4882a593Smuzhiyun else 17*4882a593Smuzhiyun highbank_set_pwr_soft_reset(); 18*4882a593Smuzhiyun 19*4882a593Smuzhiyun while (1) 20*4882a593Smuzhiyun cpu_do_idle(); 21*4882a593Smuzhiyun } 22*4882a593Smuzhiyun 23