123456789101112131415161718192021222324252627282930313233 |
- /*
- * reset.c -- common ColdFire SoC reset support
- *
- * (C) Copyright 2012, Greg Ungerer <gerg@uclinux.org>
- *
- * This file is subject to the terms and conditions of the GNU General Public
- * License. See the file COPYING in the main directory of this archive
- * for more details.
- */
- #include <linux/kernel.h>
- #include <linux/init.h>
- #include <linux/io.h>
- #include <asm/machdep.h>
- #include <asm/coldfire.h>
- #include <asm/mcfsim.h>
- void mcf_cpu_reset(void)
- {
- local_irq_disable();
- /* Set watchdog to soft reset, and enabled */
- __raw_writeb(0xc0, MCF_MBAR + MCFSIM_SYPCR);
- for (;;)
- /* wait for watchdog to timeout */;
- }
- static int __init mcf_setup_reset(void)
- {
- mach_reset = mcf_cpu_reset;
- return 0;
- }
- arch_initcall(mcf_setup_reset);
|