uboot/arch/arm/mach-socfpga/reset_manager.c
<<
>>
Prefs
   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