Path: blob/master/arch/sh/boards/board-edosk7705.c
10817 views
/*1* arch/sh/boards/renesas/edosk7705/setup.c2*3* Copyright (C) 2000 Kazumoto Kojima4*5* Hitachi SolutionEngine Support.6*7* Modified for edosk7705 development8* board by S. Dunn, 2003.9*/10#include <linux/init.h>11#include <linux/irq.h>12#include <linux/platform_device.h>13#include <linux/interrupt.h>14#include <linux/smc91x.h>15#include <asm/machvec.h>16#include <asm/sizes.h>1718#define SMC_IOBASE 0xA200000019#define SMC_IO_OFFSET 0x30020#define SMC_IOADDR (SMC_IOBASE + SMC_IO_OFFSET)2122#define ETHERNET_IRQ 0x092324static void __init sh_edosk7705_init_irq(void)25{26make_imask_irq(ETHERNET_IRQ);27}2829/* eth initialization functions */30static struct smc91x_platdata smc91x_info = {31.flags = SMC91X_USE_16BIT | SMC91X_IO_SHIFT_1 | IORESOURCE_IRQ_LOWLEVEL,32};3334static struct resource smc91x_res[] = {35[0] = {36.start = SMC_IOADDR,37.end = SMC_IOADDR + SZ_32 - 1,38.flags = IORESOURCE_MEM,39},40[1] = {41.start = ETHERNET_IRQ,42.end = ETHERNET_IRQ,43.flags = IORESOURCE_IRQ ,44}45};4647static struct platform_device smc91x_dev = {48.name = "smc91x",49.id = -1,50.num_resources = ARRAY_SIZE(smc91x_res),51.resource = smc91x_res,5253.dev = {54.platform_data = &smc91x_info,55},56};5758/* platform init code */59static struct platform_device *edosk7705_devices[] __initdata = {60&smc91x_dev,61};6263static int __init init_edosk7705_devices(void)64{65return platform_add_devices(edosk7705_devices,66ARRAY_SIZE(edosk7705_devices));67}68device_initcall(init_edosk7705_devices);6970/*71* The Machine Vector72*/73static struct sh_machine_vector mv_edosk7705 __initmv = {74.mv_name = "EDOSK7705",75.mv_nr_irqs = 80,76.mv_init_irq = sh_edosk7705_init_irq,77};787980