1
2
3
4
5
6
7
8
9
10
11#include <linux/init.h>
12#include <linux/platform_device.h>
13#include <asm/machvec.h>
14#include <mach-se/mach/se7751.h>
15#include <asm/io.h>
16#include <asm/heartbeat.h>
17
18static unsigned char heartbeat_bit_pos[] = { 8, 9, 10, 11, 12, 13, 14, 15 };
19
20static struct heartbeat_data heartbeat_data = {
21 .bit_pos = heartbeat_bit_pos,
22 .nr_bits = ARRAY_SIZE(heartbeat_bit_pos),
23};
24
25static struct resource heartbeat_resources[] = {
26 [0] = {
27 .start = PA_LED,
28 .end = PA_LED,
29 .flags = IORESOURCE_MEM,
30 },
31};
32
33static 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
43static struct platform_device *se7751_devices[] __initdata = {
44 &heartbeat_device,
45};
46
47static 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
55
56static 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};
79