1/* 2 * Copyright (C) 2013 Altera Corporation <www.altera.com> 3 * 4 * SPDX-License-Identifier: GPL-2.0+ 5 */ 6 7 8#include <common.h> 9#include <asm/io.h> 10#include <asm/arch/reset_manager.h> 11 12DECLARE_GLOBAL_DATA_PTR; 13 14static const struct socfpga_reset_manager *reset_manager_base = 15 (void *)SOCFPGA_RSTMGR_ADDRESS; 16 17/* 18 * Write the reset manager register to cause reset 19 */ 20void reset_cpu(ulong addr) 21{ 22 /* request a warm reset */ 23 writel(1 << RSTMGR_CTRL_SWWARMRSTREQ_LSB, 24 &reset_manager_base->ctrl); 25 /* 26 * infinite loop here as watchdog will trigger and reset 27 * the processor 28 */ 29 while (1) 30 ; 31} 32