xref: /openbmc/linux/arch/mips/ath25/board.c (revision 43cc739f)
1 /*
2  * This file is subject to the terms and conditions of the GNU General Public
3  * License.  See the file "COPYING" in the main directory of this archive
4  * for more details.
5  *
6  * Copyright (C) 2003 Atheros Communications, Inc.,  All Rights Reserved.
7  * Copyright (C) 2006 FON Technology, SL.
8  * Copyright (C) 2006 Imre Kaloz <kaloz@openwrt.org>
9  * Copyright (C) 2006-2009 Felix Fietkau <nbd@openwrt.org>
10  */
11 
12 #include <linux/init.h>
13 #include <linux/interrupt.h>
14 #include <asm/irq_cpu.h>
15 #include <asm/reboot.h>
16 #include <asm/bootinfo.h>
17 #include <asm/time.h>
18 
19 static void ath25_halt(void)
20 {
21 	local_irq_disable();
22 	unreachable();
23 }
24 
25 void __init plat_mem_setup(void)
26 {
27 	_machine_halt = ath25_halt;
28 	pm_power_off = ath25_halt;
29 
30 	/* Disable data watchpoints */
31 	write_c0_watchlo0(0);
32 }
33 
34 asmlinkage void plat_irq_dispatch(void)
35 {
36 }
37 
38 void __init plat_time_init(void)
39 {
40 }
41 
42 unsigned int __cpuinit get_c0_compare_int(void)
43 {
44 	return CP0_LEGACY_COMPARE_IRQ;
45 }
46 
47 void __init arch_init_irq(void)
48 {
49 	clear_c0_status(ST0_IM);
50 	mips_cpu_irq_init();
51 }
52