diff options
Diffstat (limited to 'arch/sh/boards/mach-se/7751/setup.c')
-rw-r--r-- | arch/sh/boards/mach-se/7751/setup.c | 78 |
1 files changed, 78 insertions, 0 deletions
diff --git a/arch/sh/boards/mach-se/7751/setup.c b/arch/sh/boards/mach-se/7751/setup.c new file mode 100644 index 000000000000..deefbfd92591 --- /dev/null +++ b/arch/sh/boards/mach-se/7751/setup.c | |||
@@ -0,0 +1,78 @@ | |||
1 | /* | ||
2 | * linux/arch/sh/boards/se/7751/setup.c | ||
3 | * | ||
4 | * Copyright (C) 2000 Kazumoto Kojima | ||
5 | * | ||
6 | * Hitachi SolutionEngine Support. | ||
7 | * | ||
8 | * Modified for 7751 Solution Engine by | ||
9 | * Ian da Silva and Jeremy Siegel, 2001. | ||
10 | */ | ||
11 | #include <linux/init.h> | ||
12 | #include <linux/platform_device.h> | ||
13 | #include <asm/machvec.h> | ||
14 | #include <asm/se7751.h> | ||
15 | #include <asm/io.h> | ||
16 | #include <asm/heartbeat.h> | ||
17 | |||
18 | static unsigned char heartbeat_bit_pos[] = { 8, 9, 10, 11, 12, 13, 14, 15 }; | ||
19 | |||
20 | static struct heartbeat_data heartbeat_data = { | ||
21 | .bit_pos = heartbeat_bit_pos, | ||
22 | .nr_bits = ARRAY_SIZE(heartbeat_bit_pos), | ||
23 | }; | ||
24 | |||
25 | static struct resource heartbeat_resources[] = { | ||
26 | [0] = { | ||
27 | .start = PA_LED, | ||
28 | .end = PA_LED, | ||
29 | .flags = IORESOURCE_MEM, | ||
30 | }, | ||
31 | }; | ||
32 | |||
33 | static struct platform_device heartbeat_device = { | ||
34 | .name = "heartbeat", | ||
35 | .id = -1, | ||
36 | .dev = { | ||
37 | .platform_data = &heartbeat_data, | ||
38 | }, | ||
39 | .num_resources = ARRAY_SIZE(heartbeat_resources), | ||
40 | .resource = heartbeat_resources, | ||
41 | }; | ||
42 | |||
43 | static struct platform_device *se7751_devices[] __initdata = { | ||
44 | &heartbeat_device, | ||
45 | }; | ||
46 | |||
47 | static int __init se7751_devices_setup(void) | ||
48 | { | ||
49 | return platform_add_devices(se7751_devices, ARRAY_SIZE(se7751_devices)); | ||
50 | } | ||
51 | __initcall(se7751_devices_setup); | ||
52 | |||
53 | /* | ||
54 | * The Machine Vector | ||
55 | */ | ||
56 | static struct sh_machine_vector mv_7751se __initmv = { | ||
57 | .mv_name = "7751 SolutionEngine", | ||
58 | .mv_nr_irqs = 72, | ||
59 | |||
60 | .mv_inb = sh7751se_inb, | ||
61 | .mv_inw = sh7751se_inw, | ||
62 | .mv_inl = sh7751se_inl, | ||
63 | .mv_outb = sh7751se_outb, | ||
64 | .mv_outw = sh7751se_outw, | ||
65 | .mv_outl = sh7751se_outl, | ||
66 | |||
67 | .mv_inb_p = sh7751se_inb_p, | ||
68 | .mv_inw_p = sh7751se_inw, | ||
69 | .mv_inl_p = sh7751se_inl, | ||
70 | .mv_outb_p = sh7751se_outb_p, | ||
71 | .mv_outw_p = sh7751se_outw, | ||
72 | .mv_outl_p = sh7751se_outl, | ||
73 | |||
74 | .mv_insl = sh7751se_insl, | ||
75 | .mv_outsl = sh7751se_outsl, | ||
76 | |||
77 | .mv_init_irq = init_7751se_IRQ, | ||
78 | }; | ||