Commit | Line | Data |
---|---|---|
1da177e4 LT |
1 | /* |
2 | * arch/sh/boards/dreamcast/setup.c | |
3 | * | |
4 | * Hardware support for the Sega Dreamcast. | |
5 | * | |
6 | * Copyright (c) 2001, 2002 M. R. Brown <mrbrown@linuxdc.org> | |
7 | * Copyright (c) 2002, 2003, 2004 Paul Mundt <lethal@linux-sh.org> | |
8 | * | |
9 | * This file is part of the LinuxDC project (www.linuxdc.org) | |
10 | * | |
11 | * Released under the terms of the GNU GPL v2.0. | |
12 | * | |
13 | * This file originally bore the message (with enclosed-$): | |
14 | * Id: setup_dc.c,v 1.5 2001/05/24 05:09:16 mrbrown Exp | |
15 | * SEGA Dreamcast support | |
16 | */ | |
17 | ||
18 | #include <linux/sched.h> | |
19 | #include <linux/kernel.h> | |
20 | #include <linux/param.h> | |
21 | #include <linux/interrupt.h> | |
22 | #include <linux/init.h> | |
23 | #include <linux/irq.h> | |
24 | #include <linux/device.h> | |
1da177e4 LT |
25 | #include <asm/io.h> |
26 | #include <asm/irq.h> | |
e4c2cfee | 27 | #include <asm/rtc.h> |
cc64f7f7 | 28 | #include <asm/machvec.h> |
f15cbe6f | 29 | #include <mach/sysasic.h> |
1da177e4 | 30 | |
e85a4774 | 31 | extern struct irq_chip systemasic_int; |
1da177e4 | 32 | extern void aica_time_init(void); |
1da177e4 LT |
33 | extern int systemasic_irq_demux(int); |
34 | ||
2c7834a6 | 35 | static void __init dreamcast_setup(char **cmdline_p) |
1da177e4 LT |
36 | { |
37 | int i; | |
38 | ||
39 | /* Mask all hardware events */ | |
40 | /* XXX */ | |
41 | ||
42 | /* Acknowledge any previous events */ | |
43 | /* XXX */ | |
44 | ||
1da177e4 LT |
45 | /* Assign all virtual IRQs to the System ASIC int. handler */ |
46 | for (i = HW_EVENT_IRQ_BASE; i < HW_EVENT_IRQ_MAX; i++) | |
e85a4774 MF |
47 | set_irq_chip_and_handler(i, &systemasic_int, |
48 | handle_level_irq); | |
1da177e4 LT |
49 | |
50 | board_time_init = aica_time_init; | |
1da177e4 | 51 | } |
2c7834a6 | 52 | |
82f81f47 | 53 | static struct sh_machine_vector mv_dreamcast __initmv = { |
2c7834a6 PM |
54 | .mv_name = "Sega Dreamcast", |
55 | .mv_setup = dreamcast_setup, | |
56 | .mv_irq_demux = systemasic_irq_demux, | |
2c7834a6 | 57 | }; |