Commit | Line | Data |
---|---|---|
373e68b5 | 1 | /* |
58862699 | 2 | * linux/arch/sh/boards/se/7751/setup.c |
1da177e4 LT |
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 | */ | |
1da177e4 | 11 | #include <linux/init.h> |
3b4d9539 | 12 | #include <linux/platform_device.h> |
711fa809 | 13 | #include <asm/machvec.h> |
373e68b5 | 14 | #include <asm/se7751.h> |
711fa809 | 15 | #include <asm/io.h> |
8786c952 | 16 | #include <asm/heartbeat.h> |
1da177e4 | 17 | |
3b4d9539 PM |
18 | static unsigned char heartbeat_bit_pos[] = { 8, 9, 10, 11, 12, 13, 14, 15 }; |
19 | ||
8786c952 PM |
20 | static struct heartbeat_data heartbeat_data = { |
21 | .bit_pos = heartbeat_bit_pos, | |
22 | .nr_bits = ARRAY_SIZE(heartbeat_bit_pos), | |
23 | }; | |
24 | ||
3b4d9539 PM |
25 | static struct resource heartbeat_resources[] = { |
26 | [0] = { | |
27 | .start = PA_LED, | |
a1fd306b | 28 | .end = PA_LED, |
3b4d9539 PM |
29 | .flags = IORESOURCE_MEM, |
30 | }, | |
31 | }; | |
32 | ||
33 | static struct platform_device heartbeat_device = { | |
34 | .name = "heartbeat", | |
35 | .id = -1, | |
36 | .dev = { | |
a1fd306b | 37 | .platform_data = &heartbeat_data, |
3b4d9539 PM |
38 | }, |
39 | .num_resources = ARRAY_SIZE(heartbeat_resources), | |
40 | .resource = heartbeat_resources, | |
41 | }; | |
42 | ||
43 | static struct platform_device *se7751_devices[] __initdata = { | |
3b4d9539 PM |
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); | |
2c7834a6 PM |
52 | |
53 | /* | |
54 | * The Machine Vector | |
55 | */ | |
82f81f47 | 56 | static struct sh_machine_vector mv_7751se __initmv = { |
2c7834a6 | 57 | .mv_name = "7751 SolutionEngine", |
2c7834a6 PM |
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, | |
2c7834a6 | 78 | }; |