/* * Copyright (C) 2013 Altera Corporation * * SPDX-License-Identifier: GPL-2.0+ */ #include #include #include static const struct socfpga_reset_manager *reset_manager_base = (void *)SOCFPGA_RSTMGR_ADDRESS; /* * Write the reset manager register to cause reset */ void reset_cpu(ulong addr) { /* request a warm reset */ writel(1 << RSTMGR_CTRL_SWWARMRSTREQ_LSB, &reset_manager_base->ctrl); /* * infinite loop here as watchdog will trigger and reset * the processor */ while (1) ; }