18c2ecf20Sopenharmony_ci// SPDX-License-Identifier: GPL-2.0-only 28c2ecf20Sopenharmony_ci/* 38c2ecf20Sopenharmony_ci * Copyright 2011 Calxeda, Inc. 48c2ecf20Sopenharmony_ci */ 58c2ecf20Sopenharmony_ci#include <linux/io.h> 68c2ecf20Sopenharmony_ci#include <asm/proc-fns.h> 78c2ecf20Sopenharmony_ci#include <linux/reboot.h> 88c2ecf20Sopenharmony_ci 98c2ecf20Sopenharmony_ci#include "core.h" 108c2ecf20Sopenharmony_ci#include "sysregs.h" 118c2ecf20Sopenharmony_ci 128c2ecf20Sopenharmony_civoid highbank_restart(enum reboot_mode mode, const char *cmd) 138c2ecf20Sopenharmony_ci{ 148c2ecf20Sopenharmony_ci if (mode == REBOOT_HARD) 158c2ecf20Sopenharmony_ci highbank_set_pwr_hard_reset(); 168c2ecf20Sopenharmony_ci else 178c2ecf20Sopenharmony_ci highbank_set_pwr_soft_reset(); 188c2ecf20Sopenharmony_ci 198c2ecf20Sopenharmony_ci while (1) 208c2ecf20Sopenharmony_ci cpu_do_idle(); 218c2ecf20Sopenharmony_ci} 228c2ecf20Sopenharmony_ci 23