/* * Renesas System Solutions Asia Pte. Ltd - Migo-R * * Copyright (C) 2008 Magnus Damm * * This file is subject to the terms and conditions of the GNU General Public * License. See the file "COPYING" in the main directory of this archive * for more details. */ #include #include #include #include #include /* Address IRQ Size Bus Description * 0x00000000 64MB 16 NOR Flash (SP29PL256N) * 0x0c000000 64MB 64 SDRAM (2xK4M563233G) * 0x10000000 IRQ0 16 Ethernet (SMC91C111) * 0x14000000 IRQ4 16 USB 2.0 Host Controller (M66596) * 0x18000000 8GB 8 NAND Flash (K9K8G08U0A) */ static struct resource smc91x_eth_resources[] = { [0] = { .name = "smc91x-regs" , .start = P2SEGADDR(0x10000300), .end = P2SEGADDR(0x1000030f), .flags = IORESOURCE_MEM, }, [1] = { .start = 32, /* IRQ0 */ .flags = IORESOURCE_IRQ | IRQF_TRIGGER_HIGH, }, }; static struct platform_device smc91x_eth_device = { .name = "smc91x", .num_resources = ARRAY_SIZE(smc91x_eth_resources), .resource = smc91x_eth_resources, }; static struct platform_device *migor_devices[] __initdata = { &smc91x_eth_device, }; static int __init migor_devices_setup(void) { return platform_add_devices(migor_devices, ARRAY_SIZE(migor_devices)); } __initcall(migor_devices_setup); static void __init migor_setup(char **cmdline_p) { ctrl_outw(0x1000, 0xa4050110); /* Enable IRQ0 in PJCR */ } static struct sh_machine_vector mv_migor __initmv = { .mv_name = "Migo-R", .mv_setup = migor_setup, };