sh: SHMIN board support.
[linux-2.6.git] / arch / sh / boards / shmin / setup.c
1 /*
2  * arch/sh/boards/shmin/setup.c
3  *
4  * Copyright (C) 2006 Takashi YOSHII
5  *
6  * SHMIN Support.
7  */
8 #include <linux/init.h>
9 #include <asm/machvec.h>
10 #include <asm/shmin/shmin.h>
11 #include <asm/clock.h>
12 #include <asm/irq.h>
13 #include <asm/io.h>
14
15 #define PFC_PHCR        0xa400010e
16
17 const char *get_system_type(void)
18 {
19         return "SHMIN";
20 }
21
22 static void __init init_shmin_irq(void)
23 {
24         ctrl_outw(0x2a00, PFC_PHCR);    // IRQ0-3=IRQ
25         ctrl_outw(0x0aaa, INTC_ICR1);   // IRQ0-3=IRQ-mode,Low-active.
26 }
27
28 void __init platform_setup(void)
29 {
30 }
31
32 static void __iomem *shmin_ioport_map(unsigned long port, unsigned int size)
33 {
34         static int dummy;
35
36         if ((port & ~0x1f) == SHMIN_NE_BASE)
37                 return (void __iomem *)(SHMIN_IO_BASE + port);
38
39         dummy = 0;
40
41         return &dummy;
42
43 }
44
45 struct sh_machine_vector mv_shmin __initmv = {
46         .mv_init_irq    = init_shmin_irq,
47         .mv_ioport_map  = shmin_ioport_map,
48 };
49 ALIAS_MV(shmin)