1/*
2 * linux/arch/sh/kernel/mach_se.c
3 *
4 * Copyright (C) 2000 Stuart Menefy (stuart.menefy@st.com)
5 *
6 * May be copied or modified under the terms of the GNU General Public
7 * License.  See linux/COPYING for more information.
8 *
9 * Machine vector for the Hitachi SolutionEngine
10 */
11
12#include <linux/config.h>
13#include <linux/init.h>
14
15#include <asm/machvec.h>
16#include <asm/rtc.h>
17#include <asm/machvec_init.h>
18
19#include <asm/io_se.h>
20
21void heartbeat_se(void);
22void setup_se(void);
23void init_se_IRQ(void);
24
25/*
26 * The Machine Vector
27 */
28
29struct sh_machine_vector mv_se __initmv = {
30	mv_name:		"SolutionEngine",
31
32#if defined(__SH4__)
33	mv_nr_irqs:		48,
34#elif defined(CONFIG_CPU_SUBTYPE_SH7708)
35	mv_nr_irqs:		32,
36#elif defined(CONFIG_CPU_SUBTYPE_SH7709)
37	mv_nr_irqs:		61,
38#endif
39
40	mv_inb:			se_inb,
41	mv_inw:			se_inw,
42	mv_inl:			se_inl,
43	mv_outb:		se_outb,
44	mv_outw:		se_outw,
45	mv_outl:		se_outl,
46
47	mv_inb_p:		se_inb_p,
48	mv_inw_p:		se_inw,
49	mv_inl_p:		se_inl,
50	mv_outb_p:		se_outb_p,
51	mv_outw_p:		se_outw,
52	mv_outl_p:		se_outl,
53
54	mv_insb:		se_insb,
55	mv_insw:		se_insw,
56	mv_insl:		se_insl,
57	mv_outsb:		se_outsb,
58	mv_outsw:		se_outsw,
59	mv_outsl:		se_outsl,
60
61	mv_readb:		se_readb,
62	mv_readw:		se_readw,
63	mv_readl:		se_readl,
64	mv_writeb:		se_writeb,
65	mv_writew:		se_writew,
66	mv_writel:		se_writel,
67
68	mv_ioremap:		generic_ioremap,
69	mv_iounmap:		generic_iounmap,
70
71	mv_isa_port2addr:	se_isa_port2addr,
72
73	mv_init_arch:		setup_se,
74	mv_init_irq:		init_se_IRQ,
75#ifdef CONFIG_HEARTBEAT
76	mv_heartbeat:		heartbeat_se,
77#endif
78
79	mv_rtc_gettimeofday:	sh_rtc_gettimeofday,
80	mv_rtc_settimeofday:	sh_rtc_settimeofday,
81
82	mv_hw_se:		1,
83};
84ALIAS_MV(se)
85