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 <mach/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