From 9bf77ee6c24b33758a432f106fb765bf32550508 Mon Sep 17 00:00:00 2001 From: Andrew Victor Date: Fri, 11 May 2007 21:14:53 +0100 Subject: [ARM] 4333/2: KS8695: Micrel Development board Board support and default configuration file for the Micrel/Kendin KS8695 Development board. Signed-off-by: Andrew Victor Signed-off-by: Russell King --- arch/arm/mach-ks8695/Kconfig | 5 ++++ arch/arm/mach-ks8695/Makefile | 1 + arch/arm/mach-ks8695/board-micrel.c | 60 +++++++++++++++++++++++++++++++++++++ 3 files changed, 66 insertions(+) create mode 100644 arch/arm/mach-ks8695/board-micrel.c (limited to 'arch/arm/mach-ks8695') diff --git a/arch/arm/mach-ks8695/Kconfig b/arch/arm/mach-ks8695/Kconfig index 44d14aa0baa..ce1cf8de2b4 100644 --- a/arch/arm/mach-ks8695/Kconfig +++ b/arch/arm/mach-ks8695/Kconfig @@ -2,6 +2,11 @@ if ARCH_KS8695 menu "Kendin/Micrel KS8695 Implementations" +config MACH_KS8695 + bool "KS8695 development board" + help + Say 'Y' here if you want your kernel to run on the original + Kendin-Micrel KS8695 development board. endmenu diff --git a/arch/arm/mach-ks8695/Makefile b/arch/arm/mach-ks8695/Makefile index 0a0f496e8cc..56b7d337333 100644 --- a/arch/arm/mach-ks8695/Makefile +++ b/arch/arm/mach-ks8695/Makefile @@ -12,3 +12,4 @@ obj- := #obj-$(CONFIG_PCI) += pci.o # Board-specific support +obj-$(CONFIG_MACH_KS8695) += board-micrel.o diff --git a/arch/arm/mach-ks8695/board-micrel.c b/arch/arm/mach-ks8695/board-micrel.c new file mode 100644 index 00000000000..8fc0edb5211 --- /dev/null +++ b/arch/arm/mach-ks8695/board-micrel.c @@ -0,0 +1,60 @@ +/* + * 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 +#include +#include +#include +#include + +#include + +#include +#include +#include + +#include + +#include "generic.h" + +#ifdef CONFIG_PCI +static int __init micrel_pci_map_irq(struct pci_dev *dev, u8 slot, u8 pin) +{ + return KS8695_IRQ_EXTERN0; +} + +static struct ks8695_pci_cfg micrel_pci = { + .mode = KS8695_MODE_MINIPCI, + .map_irq = micrel_pci_map_irq, +}; +#endif + + +static void micrel_init(void) +{ + printk(KERN_INFO "Micrel KS8695 Development Board initializing\n"); + +#ifdef CONFIG_PCI + ks8695_init_pci(&micrel_pci); +#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 -- cgit v1.2.3