2007-05-12 00:14:53 +04:00
/*
* arch / arm / mach - ks8695 / board - micrel . c
*
* This program is free software ; you can redistribute it and / or modify
* it under the terms of the GNU General Public License version 2 as
* published by the Free Software Foundation .
*/
# include <linux/kernel.h>
# include <linux/types.h>
# include <linux/interrupt.h>
# include <linux/init.h>
# include <linux/platform_device.h>
# include <asm/mach-types.h>
# include <asm/mach/arch.h>
# include <asm/mach/map.h>
# include <asm/mach/irq.h>
2008-12-13 23:44:12 +03:00
# include <mach/gpio.h>
2008-08-05 19:14:15 +04:00
# include <mach/devices.h>
2007-05-12 00:14:53 +04:00
# include "generic.h"
# ifdef CONFIG_PCI
2007-08-13 13:02:18 +04:00
static int micrel_pci_map_irq ( struct pci_dev * dev , u8 slot , u8 pin )
2007-05-12 00:14:53 +04:00
{
return KS8695_IRQ_EXTERN0 ;
}
2007-08-13 13:02:18 +04:00
static struct ks8695_pci_cfg __initdata micrel_pci = {
2007-05-12 00:14:53 +04:00
. mode = KS8695_MODE_MINIPCI ,
. map_irq = micrel_pci_map_irq ,
} ;
# endif
2007-08-13 13:02:18 +04:00
static void __init micrel_init ( void )
2007-05-12 00:14:53 +04:00
{
printk ( KERN_INFO " Micrel KS8695 Development Board initializing \n " ) ;
2008-12-13 23:44:12 +03:00
ks8695_register_gpios ( ) ;
2007-05-12 00:14:53 +04:00
# ifdef CONFIG_PCI
2007-10-15 16:09:19 +04:00
ks8695_init_pci ( & micrel_pci ) ;
2007-05-12 00:14:53 +04:00
# endif
/* Add devices */
ks8695_add_device_wan ( ) ; /* eth0 = WAN */
ks8695_add_device_lan ( ) ; /* eth1 = LAN */
}
MACHINE_START ( KS8695 , " KS8695 Centaur Development Board " )
/* Maintainer: Micrel Semiconductor Inc. */
. phys_io = KS8695_IO_PA ,
. io_pg_offst = ( KS8695_IO_VA > > 18 ) & 0xfffc ,
. boot_params = KS8695_SDRAM_PA + 0x100 ,
. map_io = ks8695_map_io ,
. init_irq = ks8695_init_irq ,
. init_machine = micrel_init ,
. timer = & ks8695_timer ,
MACHINE_END