linux/arch/arm/mach-ks8695/board-micrel.c
<<
>>
Prefs
   1/*
   2 * arch/arm/mach-ks8695/board-micrel.c
   3 *
   4 * This program is free software; you can redistribute it and/or modify
   5 * it under the terms of the GNU General Public License version 2 as
   6 * published by the Free Software Foundation.
   7 */
   8#include <linux/gpio.h>
   9#include <linux/kernel.h>
  10#include <linux/types.h>
  11#include <linux/interrupt.h>
  12#include <linux/init.h>
  13#include <linux/platform_device.h>
  14
  15#include <asm/mach-types.h>
  16
  17#include <asm/mach/arch.h>
  18#include <asm/mach/map.h>
  19#include <asm/mach/irq.h>
  20
  21#include <mach/gpio-ks8695.h>
  22#include "devices.h"
  23
  24#include "generic.h"
  25
  26#ifdef CONFIG_PCI
  27static int micrel_pci_map_irq(const struct pci_dev *dev, u8 slot, u8 pin)
  28{
  29        return KS8695_IRQ_EXTERN0;
  30}
  31
  32static struct ks8695_pci_cfg __initdata micrel_pci = {
  33        .mode           = KS8695_MODE_MINIPCI,
  34        .map_irq        = micrel_pci_map_irq,
  35};
  36#endif
  37
  38
  39static void __init micrel_init(void)
  40{
  41        printk(KERN_INFO "Micrel KS8695 Development Board initializing\n");
  42
  43        ks8695_register_gpios();
  44
  45#ifdef CONFIG_PCI
  46        ks8695_init_pci(&micrel_pci);
  47#endif
  48
  49        /* Add devices */
  50        ks8695_add_device_wan();        /* eth0 = WAN */
  51        ks8695_add_device_lan();        /* eth1 = LAN */
  52}
  53
  54MACHINE_START(KS8695, "KS8695 Centaur Development Board")
  55        /* Maintainer: Micrel Semiconductor Inc. */
  56        .atag_offset    = 0x100,
  57        .map_io         = ks8695_map_io,
  58        .init_irq       = ks8695_init_irq,
  59        .init_machine   = micrel_init,
  60        .init_time      = ks8695_timer_init,
  61        .restart        = ks8695_restart,
  62MACHINE_END
  63