1 /*
2  *	$Id: mach_dc.c,v 1.5 2001/09/01 14:34:31 mrbrown Exp $
3  *	SEGA Dreamcast machine vector
4  */
5 
6 #include <linux/config.h>
7 #include <linux/init.h>
8 #include <linux/time.h>
9 
10 #include <asm/machvec.h>
11 #include <asm/machvec_init.h>
12 
13 #include <asm/io_generic.h>
14 #include <asm/io_dc.h>
15 #include <asm/irq.h>
16 
17 void __init setup_dreamcast(void);
18 void __init dreamcast_pcibios_init(void);
19 
20 /* Custom Dreamcast RTC routines */
21 void aica_rtc_gettimeofday(struct timeval *tv);
22 int aica_rtc_settimeofday(const struct timeval *tv);
23 
24 /*
25  * The Machine Vector
26  */
27 
28 struct sh_machine_vector mv_dreamcast __initmv = {
29 	mv_name:		"dreamcast",
30 
31 	mv_nr_irqs:		NR_IRQS,
32 
33 	mv_inb:			generic_inb,
34 	mv_inw:			generic_inw,
35 	mv_inl:			generic_inl,
36 	mv_outb:		generic_outb,
37 	mv_outw:		generic_outw,
38 	mv_outl:		generic_outl,
39 
40 	mv_inb_p:		generic_inb_p,
41 	mv_inw_p:		generic_inw,
42 	mv_inl_p:		generic_inl,
43 	mv_outb_p:		generic_outb_p,
44 	mv_outw_p:		generic_outw,
45 	mv_outl_p:		generic_outl,
46 
47 	mv_insb:		generic_insb,
48 	mv_insw:		generic_insw,
49 	mv_insl:		generic_insl,
50 	mv_outsb:		generic_outsb,
51 	mv_outsw:		generic_outsw,
52 	mv_outsl:		generic_outsl,
53 
54 	mv_readb:		generic_readb,
55 	mv_readw:		generic_readw,
56 	mv_readl:		generic_readl,
57 	mv_writeb:		generic_writeb,
58 	mv_writew:		generic_writew,
59 	mv_writel:		generic_writel,
60 
61 	mv_ioremap:		generic_ioremap,
62 	mv_iounmap:		generic_iounmap,
63 
64 	mv_init_arch:		setup_dreamcast,
65 	mv_isa_port2addr:	dreamcast_isa_port2addr,
66 	mv_irq_demux:		systemasic_irq_demux,
67 
68 	mv_rtc_gettimeofday:	aica_rtc_gettimeofday,
69 	mv_rtc_settimeofday:	aica_rtc_settimeofday,
70 
71 	mv_hw_dreamcast:	1,
72 };
73 ALIAS_MV(dreamcast)
74