blob: 17b7eb7e9c0d523cdcb4a70d5dc3d63b70bdf451 [file] [log] [blame]
Linus Torvalds1da177e2005-04-16 15:20:36 -07001/*
Lennert Buytenhekc852ac82006-09-18 23:26:25 +01002 * include/asm-arm/arch-iop32x/system.h
Linus Torvalds1da177e2005-04-16 15:20:36 -07003 *
Lennert Buytenhekc852ac82006-09-18 23:26:25 +01004 * Copyright (C) 2001 MontaVista Software, Inc.
Linus Torvalds1da177e2005-04-16 15:20:36 -07005 *
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 */
10
Lennert Buytenheke60d07b2006-09-21 02:42:12 +010011#include <asm/mach-types.h>
12
Linus Torvalds1da177e2005-04-16 15:20:36 -070013static inline void arch_idle(void)
14{
15 cpu_do_idle();
16}
17
Linus Torvalds1da177e2005-04-16 15:20:36 -070018static inline void arch_reset(char mode)
19{
Lennert Buytenheke60d07b2006-09-21 02:42:12 +010020 local_irq_disable();
21
22 if (machine_is_n2100()) {
23 gpio_line_set(N2100_HARDWARE_RESET, GPIO_LOW);
24 gpio_line_config(N2100_HARDWARE_RESET, GPIO_OUT);
25 while (1)
26 ;
27 }
28
Lennert Buytenhekc852ac82006-09-18 23:26:25 +010029 *IOP3XX_PCSR = 0x30;
Linus Torvalds1da177e2005-04-16 15:20:36 -070030
Lennert Buytenhekc852ac82006-09-18 23:26:25 +010031 /* Jump into ROM at address 0 */
32 cpu_reset(0);
Linus Torvalds1da177e2005-04-16 15:20:36 -070033}