blob: a4b808fe0d817c77db50928f22e6a24018417a06 [file] [log] [blame]
Russell Kinga09e64f2008-08-05 16:14:15 +01001/*
2 * arch/arm/mach-iop32x/include/mach/system.h
3 *
4 * Copyright (C) 2001 MontaVista Software, Inc.
5 *
6 * This program is free software; you can redistribute it and/or modify
7 * it under the terms of the GNU General Public License version 2 as
8 * published by the Free Software Foundation.
9 */
Russell Kinga09e64f2008-08-05 16:14:15 +010010#include <asm/mach-types.h>
Russell King0114cb42008-11-28 16:13:44 +000011#include <asm/hardware/iop3xx.h>
12#include <mach/n2100.h>
Russell Kinga09e64f2008-08-05 16:14:15 +010013
14static inline void arch_idle(void)
15{
16 cpu_do_idle();
17}
18
Russell Kingbe093be2009-03-19 16:20:24 +000019static inline void arch_reset(char mode, const char *cmd)
Russell Kinga09e64f2008-08-05 16:14:15 +010020{
21 local_irq_disable();
22
23 if (machine_is_n2100()) {
24 gpio_line_set(N2100_HARDWARE_RESET, GPIO_LOW);
25 gpio_line_config(N2100_HARDWARE_RESET, GPIO_OUT);
26 while (1)
27 ;
28 }
29
30 *IOP3XX_PCSR = 0x30;
31
32 /* Jump into ROM at address 0 */
33 cpu_reset(0);
34}