Commit | Line | Data |
---|---|---|
70f784ec MD |
1 | /* |
2 | * Renesas System Solutions Asia Pte. Ltd - Migo-R | |
3 | * | |
4 | * Copyright (C) 2008 Magnus Damm | |
5 | * | |
6 | * This file is subject to the terms and conditions of the GNU General Public | |
7 | * License. See the file "COPYING" in the main directory of this archive | |
8 | * for more details. | |
9 | */ | |
10 | #include <linux/init.h> | |
11 | #include <linux/platform_device.h> | |
12 | #include <linux/interrupt.h> | |
13 | #include <asm/machvec.h> | |
14 | #include <asm/io.h> | |
15 | ||
16 | /* Address IRQ Size Bus Description | |
17 | * 0x00000000 64MB 16 NOR Flash (SP29PL256N) | |
18 | * 0x0c000000 64MB 64 SDRAM (2xK4M563233G) | |
19 | * 0x10000000 IRQ0 16 Ethernet (SMC91C111) | |
20 | * 0x14000000 IRQ4 16 USB 2.0 Host Controller (M66596) | |
21 | * 0x18000000 8GB 8 NAND Flash (K9K8G08U0A) | |
22 | */ | |
23 | ||
24 | static struct resource smc91x_eth_resources[] = { | |
25 | [0] = { | |
26 | .name = "smc91x-regs" , | |
27 | .start = P2SEGADDR(0x10000300), | |
28 | .end = P2SEGADDR(0x1000030f), | |
29 | .flags = IORESOURCE_MEM, | |
30 | }, | |
31 | [1] = { | |
32 | .start = 32, /* IRQ0 */ | |
33 | .flags = IORESOURCE_IRQ | IRQF_TRIGGER_HIGH, | |
34 | }, | |
35 | }; | |
36 | ||
37 | static struct platform_device smc91x_eth_device = { | |
38 | .name = "smc91x", | |
39 | .num_resources = ARRAY_SIZE(smc91x_eth_resources), | |
40 | .resource = smc91x_eth_resources, | |
41 | }; | |
42 | ||
43 | static struct platform_device *migor_devices[] __initdata = { | |
44 | &smc91x_eth_device, | |
45 | }; | |
46 | ||
47 | static int __init migor_devices_setup(void) | |
48 | { | |
49 | return platform_add_devices(migor_devices, ARRAY_SIZE(migor_devices)); | |
50 | } | |
51 | __initcall(migor_devices_setup); | |
52 | ||
53 | static void __init migor_setup(char **cmdline_p) | |
54 | { | |
55 | ctrl_outw(0x1000, 0xa4050110); /* Enable IRQ0 in PJCR */ | |
56 | } | |
57 | ||
58 | static struct sh_machine_vector mv_migor __initmv = { | |
59 | .mv_name = "Migo-R", | |
60 | .mv_setup = migor_setup, | |
61 | }; |