diff options
Diffstat (limited to 'arch/arm/mach-ks8695')
-rw-r--r-- | arch/arm/mach-ks8695/Kconfig | 5 | ||||
-rw-r--r-- | arch/arm/mach-ks8695/Makefile | 1 | ||||
-rw-r--r-- | arch/arm/mach-ks8695/board-micrel.c | 60 |
3 files changed, 66 insertions, 0 deletions
diff --git a/arch/arm/mach-ks8695/Kconfig b/arch/arm/mach-ks8695/Kconfig index 44d14aa0baa7..ce1cf8de2b4d 100644 --- a/arch/arm/mach-ks8695/Kconfig +++ b/arch/arm/mach-ks8695/Kconfig | |||
@@ -2,6 +2,11 @@ if ARCH_KS8695 | |||
2 | 2 | ||
3 | menu "Kendin/Micrel KS8695 Implementations" | 3 | menu "Kendin/Micrel KS8695 Implementations" |
4 | 4 | ||
5 | config MACH_KS8695 | ||
6 | bool "KS8695 development board" | ||
7 | help | ||
8 | Say 'Y' here if you want your kernel to run on the original | ||
9 | Kendin-Micrel KS8695 development board. | ||
5 | 10 | ||
6 | endmenu | 11 | endmenu |
7 | 12 | ||
diff --git a/arch/arm/mach-ks8695/Makefile b/arch/arm/mach-ks8695/Makefile index 0a0f496e8ccf..56b7d337333a 100644 --- a/arch/arm/mach-ks8695/Makefile +++ b/arch/arm/mach-ks8695/Makefile | |||
@@ -12,3 +12,4 @@ obj- := | |||
12 | #obj-$(CONFIG_PCI) += pci.o | 12 | #obj-$(CONFIG_PCI) += pci.o |
13 | 13 | ||
14 | # Board-specific support | 14 | # Board-specific support |
15 | 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 000000000000..8fc0edb5211e --- /dev/null +++ b/arch/arm/mach-ks8695/board-micrel.c | |||
@@ -0,0 +1,60 @@ | |||
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 | |||
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 <asm/arch/devices.h> | ||
22 | |||
23 | #include "generic.h" | ||
24 | |||
25 | #ifdef CONFIG_PCI | ||
26 | static int __init micrel_pci_map_irq(struct pci_dev *dev, u8 slot, u8 pin) | ||
27 | { | ||
28 | return KS8695_IRQ_EXTERN0; | ||
29 | } | ||
30 | |||
31 | static struct ks8695_pci_cfg micrel_pci = { | ||
32 | .mode = KS8695_MODE_MINIPCI, | ||
33 | .map_irq = micrel_pci_map_irq, | ||
34 | }; | ||
35 | #endif | ||
36 | |||
37 | |||
38 | static void micrel_init(void) | ||
39 | { | ||
40 | printk(KERN_INFO "Micrel KS8695 Development Board initializing\n"); | ||
41 | |||
42 | #ifdef CONFIG_PCI | ||
43 | ks8695_init_pci(&micrel_pci); | ||
44 | #endif | ||
45 | |||
46 | /* Add devices */ | ||
47 | ks8695_add_device_wan(); /* eth0 = WAN */ | ||
48 | ks8695_add_device_lan(); /* eth1 = LAN */ | ||
49 | } | ||
50 | |||
51 | MACHINE_START(KS8695, "KS8695 Centaur Development Board") | ||
52 | /* Maintainer: Micrel Semiconductor Inc. */ | ||
53 | .phys_io = KS8695_IO_PA, | ||
54 | .io_pg_offst = (KS8695_IO_VA >> 18) & 0xfffc, | ||
55 | .boot_params = KS8695_SDRAM_PA + 0x100, | ||
56 | .map_io = ks8695_map_io, | ||
57 | .init_irq = ks8695_init_irq, | ||
58 | .init_machine = micrel_init, | ||
59 | .timer = &ks8695_timer, | ||
60 | MACHINE_END | ||