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 <mach-se/mach/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 }; 79