aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLennert Buytenhek <buytenh@wantstofly.org>2006-09-16 05:48:02 -0400
committerRussell King <rmk+kernel@arm.linux.org.uk>2006-09-25 05:25:25 -0400
commitbf11d26cb96fe8221ef056eedab692e91634cc65 (patch)
tree858416eb5178b9a5554c550113695d4010f3971e
parent8dd5c845bbc26c3517398abc3e5477b4b42e7176 (diff)
[ARM] 3811/1: ep93xx: add cirrus logic edb9312 support
Add Cirrus Logic EDB9312 support. Signed-off-by: Lennert Buytenhek <buytenh@wantstofly.org> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
-rw-r--r--arch/arm/configs/ep93xx_defconfig1
-rw-r--r--arch/arm/mach-ep93xx/Kconfig6
-rw-r--r--arch/arm/mach-ep93xx/Makefile1
-rw-r--r--arch/arm/mach-ep93xx/edb9312.c63
4 files changed, 71 insertions, 0 deletions
diff --git a/arch/arm/configs/ep93xx_defconfig b/arch/arm/configs/ep93xx_defconfig
index 2948b4589a8b..3b4802a849e4 100644
--- a/arch/arm/configs/ep93xx_defconfig
+++ b/arch/arm/configs/ep93xx_defconfig
@@ -126,6 +126,7 @@ CONFIG_CRUNCH=y
126# EP93xx Platforms 126# EP93xx Platforms
127# 127#
128CONFIG_MACH_EDB9302=y 128CONFIG_MACH_EDB9302=y
129CONFIG_MACH_EDB9312=y
129CONFIG_MACH_EDB9315=y 130CONFIG_MACH_EDB9315=y
130CONFIG_MACH_EDB9315A=y 131CONFIG_MACH_EDB9315A=y
131CONFIG_MACH_GESBC9312=y 132CONFIG_MACH_GESBC9312=y
diff --git a/arch/arm/mach-ep93xx/Kconfig b/arch/arm/mach-ep93xx/Kconfig
index f1b740083aee..e346b03cd921 100644
--- a/arch/arm/mach-ep93xx/Kconfig
+++ b/arch/arm/mach-ep93xx/Kconfig
@@ -15,6 +15,12 @@ config MACH_EDB9302
15 Say 'Y' here if you want your kernel to support the Cirrus 15 Say 'Y' here if you want your kernel to support the Cirrus
16 Logic EDB9302 Evaluation Board. 16 Logic EDB9302 Evaluation Board.
17 17
18config MACH_EDB9312
19 bool "Support Cirrus Logic EDB9312"
20 help
21 Say 'Y' here if you want your kernel to support the Cirrus
22 Logic EDB9312 Evaluation Board.
23
18config MACH_EDB9315 24config MACH_EDB9315
19 bool "Support Cirrus Logic EDB9315" 25 bool "Support Cirrus Logic EDB9315"
20 help 26 help
diff --git a/arch/arm/mach-ep93xx/Makefile b/arch/arm/mach-ep93xx/Makefile
index 1f5a6b0487ee..c2eb18b530c2 100644
--- a/arch/arm/mach-ep93xx/Makefile
+++ b/arch/arm/mach-ep93xx/Makefile
@@ -7,6 +7,7 @@ obj-n :=
7obj- := 7obj- :=
8 8
9obj-$(CONFIG_MACH_EDB9302) += edb9302.o 9obj-$(CONFIG_MACH_EDB9302) += edb9302.o
10obj-$(CONFIG_MACH_EDB9312) += edb9312.o
10obj-$(CONFIG_MACH_EDB9315) += edb9315.o 11obj-$(CONFIG_MACH_EDB9315) += edb9315.o
11obj-$(CONFIG_MACH_EDB9315A) += edb9315a.o 12obj-$(CONFIG_MACH_EDB9315A) += edb9315a.o
12obj-$(CONFIG_MACH_GESBC9312) += gesbc9312.o 13obj-$(CONFIG_MACH_GESBC9312) += gesbc9312.o
diff --git a/arch/arm/mach-ep93xx/edb9312.c b/arch/arm/mach-ep93xx/edb9312.c
new file mode 100644
index 000000000000..9e399211108c
--- /dev/null
+++ b/arch/arm/mach-ep93xx/edb9312.c
@@ -0,0 +1,63 @@
1/*
2 * arch/arm/mach-ep93xx/edb9312.c
3 * Cirrus Logic EDB9312 support.
4 *
5 * Copyright (C) 2006 Infosys Technologies Limited
6 * Toufeeq Hussain <toufeeq_hussain@infosys.com>
7 *
8 * This program is free software; you can redistribute it and/or modify
9 * it under the terms of the GNU General Public License as published by
10 * the Free Software Foundation; either version 2 of the License, or (at
11 * your option) any later version.
12 */
13
14#include <linux/config.h>
15#include <linux/kernel.h>
16#include <linux/init.h>
17#include <linux/mm.h>
18#include <linux/sched.h>
19#include <linux/interrupt.h>
20#include <linux/ioport.h>
21#include <linux/mtd/physmap.h>
22#include <linux/platform_device.h>
23#include <asm/io.h>
24#include <asm/hardware.h>
25#include <asm/mach-types.h>
26#include <asm/mach/arch.h>
27
28static struct physmap_flash_data edb9312_flash_data = {
29 .width = 4,
30};
31
32static struct resource edb9312_flash_resource = {
33 .start = 0x60000000,
34 .end = 0x61ffffff,
35 .flags = IORESOURCE_MEM,
36};
37
38static struct platform_device edb9312_flash = {
39 .name = "physmap-flash",
40 .id = 0,
41 .dev = {
42 .platform_data = &edb9312_flash_data,
43 },
44 .num_resources = 1,
45 .resource = &edb9312_flash_resource,
46};
47
48static void __init edb9312_init_machine(void)
49{
50 ep93xx_init_devices();
51 platform_device_register(&edb9312_flash);
52}
53
54MACHINE_START(EDB9312, "Cirrus Logic EDB9312 Evaluation Board")
55 /* Maintainer: Toufeeq Hussain <toufeeq_hussain@infosys.com> */
56 .phys_io = EP93XX_APB_PHYS_BASE,
57 .io_pg_offst = ((EP93XX_APB_VIRT_BASE) >> 18) & 0xfffc,
58 .boot_params = 0x00000100,
59 .map_io = ep93xx_map_io,
60 .init_irq = ep93xx_init_irq,
61 .timer = &ep93xx_timer,
62 .init_machine = edb9312_init_machine,
63MACHINE_END