root/arch/sh/boards/board-edosk7705.c

/* [<][>][^][v][top][bottom][index][help] */

DEFINITIONS

This source file includes following definitions.
  1. sh_edosk7705_init_irq
  2. init_edosk7705_devices

   1 // SPDX-License-Identifier: GPL-2.0
   2 /*
   3  * arch/sh/boards/renesas/edosk7705/setup.c
   4  *
   5  * Copyright (C) 2000  Kazumoto Kojima
   6  *
   7  * Hitachi SolutionEngine Support.
   8  *
   9  * Modified for edosk7705 development
  10  * board by S. Dunn, 2003.
  11  */
  12 #include <linux/init.h>
  13 #include <linux/irq.h>
  14 #include <linux/platform_device.h>
  15 #include <linux/interrupt.h>
  16 #include <linux/smc91x.h>
  17 #include <linux/sh_intc.h>
  18 #include <asm/machvec.h>
  19 #include <linux/sizes.h>
  20 
  21 #define SMC_IOBASE      0xA2000000
  22 #define SMC_IO_OFFSET   0x300
  23 #define SMC_IOADDR      (SMC_IOBASE + SMC_IO_OFFSET)
  24 
  25 #define ETHERNET_IRQ    evt2irq(0x320)
  26 
  27 static void __init sh_edosk7705_init_irq(void)
  28 {
  29         make_imask_irq(ETHERNET_IRQ);
  30 }
  31 
  32 /* eth initialization functions */
  33 static struct smc91x_platdata smc91x_info = {
  34         .flags = SMC91X_USE_16BIT | SMC91X_IO_SHIFT_1 | IORESOURCE_IRQ_LOWLEVEL,
  35 };
  36 
  37 static struct resource smc91x_res[] = {
  38         [0] = {
  39                 .start  = SMC_IOADDR,
  40                 .end    = SMC_IOADDR + SZ_32 - 1,
  41                 .flags  = IORESOURCE_MEM,
  42         },
  43         [1] = {
  44                 .start  = ETHERNET_IRQ,
  45                 .end    = ETHERNET_IRQ,
  46                 .flags  = IORESOURCE_IRQ ,
  47         }
  48 };
  49 
  50 static struct platform_device smc91x_dev = {
  51         .name           = "smc91x",
  52         .id             = -1,
  53         .num_resources  = ARRAY_SIZE(smc91x_res),
  54         .resource       = smc91x_res,
  55 
  56         .dev    = {
  57                 .platform_data  = &smc91x_info,
  58         },
  59 };
  60 
  61 /* platform init code */
  62 static struct platform_device *edosk7705_devices[] __initdata = {
  63         &smc91x_dev,
  64 };
  65 
  66 static int __init init_edosk7705_devices(void)
  67 {
  68         return platform_add_devices(edosk7705_devices,
  69                                     ARRAY_SIZE(edosk7705_devices));
  70 }
  71 device_initcall(init_edosk7705_devices);
  72 
  73 /*
  74  * The Machine Vector
  75  */
  76 static struct sh_machine_vector mv_edosk7705 __initmv = {
  77         .mv_name                = "EDOSK7705",
  78         .mv_init_irq            = sh_edosk7705_init_irq,
  79 };

/* [<][>][^][v][top][bottom][index][help] */