diff options
author | Hartley Sweeten <hartleys@visionengravers.com> | 2008-10-15 15:01:30 -0400 |
---|---|---|
committer | Russell King <rmk+kernel@arm.linux.org.uk> | 2008-12-01 12:22:08 -0500 |
commit | 4c5744ed59ac8c7312399f279b96e6e3d8f95b5d (patch) | |
tree | b5713a7a76796496e0108e36566d8434e5ff0dfd /arch/arm | |
parent | 7be90a6ba996e43902fc89704b60a57fd4659a63 (diff) |
[ARM] 5309/1: ep93xx: add edb9307a platform
Add Cirrus Logic EDB9307A Dev Board to arch/arm/mach-ep93xx
Signed-off-by: H Hartley Sweeten <hsweeten@visionengravers.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Diffstat (limited to 'arch/arm')
-rw-r--r-- | arch/arm/mach-ep93xx/Kconfig | 6 | ||||
-rw-r--r-- | arch/arm/mach-ep93xx/Makefile | 1 | ||||
-rw-r--r-- | arch/arm/mach-ep93xx/edb9307a.c | 67 |
3 files changed, 74 insertions, 0 deletions
diff --git a/arch/arm/mach-ep93xx/Kconfig b/arch/arm/mach-ep93xx/Kconfig index 5a1b8c05c958..56bddcef6905 100644 --- a/arch/arm/mach-ep93xx/Kconfig +++ b/arch/arm/mach-ep93xx/Kconfig | |||
@@ -33,6 +33,12 @@ config MACH_EDB9307 | |||
33 | Say 'Y' here if you want your kernel to support the Cirrus | 33 | Say 'Y' here if you want your kernel to support the Cirrus |
34 | Logic EDB9307 Evaluation Board. | 34 | Logic EDB9307 Evaluation Board. |
35 | 35 | ||
36 | config MACH_EDB9307A | ||
37 | bool "Support Cirrus Logic EDB9307A" | ||
38 | help | ||
39 | Say 'Y' here if you want your kernel to support the Cirrus | ||
40 | Logic EDB9307A Evaluation Board. | ||
41 | |||
36 | config MACH_EDB9312 | 42 | config MACH_EDB9312 |
37 | bool "Support Cirrus Logic EDB9312" | 43 | bool "Support Cirrus Logic EDB9312" |
38 | help | 44 | help |
diff --git a/arch/arm/mach-ep93xx/Makefile b/arch/arm/mach-ep93xx/Makefile index c1252ca9648e..944e42d51646 100644 --- a/arch/arm/mach-ep93xx/Makefile +++ b/arch/arm/mach-ep93xx/Makefile | |||
@@ -10,6 +10,7 @@ obj-$(CONFIG_MACH_ADSSPHERE) += adssphere.o | |||
10 | obj-$(CONFIG_MACH_EDB9302) += edb9302.o | 10 | obj-$(CONFIG_MACH_EDB9302) += edb9302.o |
11 | obj-$(CONFIG_MACH_EDB9302A) += edb9302a.o | 11 | obj-$(CONFIG_MACH_EDB9302A) += edb9302a.o |
12 | obj-$(CONFIG_MACH_EDB9307) += edb9307.o | 12 | obj-$(CONFIG_MACH_EDB9307) += edb9307.o |
13 | obj-$(CONFIG_MACH_EDB9307A) += edb9307a.o | ||
13 | obj-$(CONFIG_MACH_EDB9312) += edb9312.o | 14 | obj-$(CONFIG_MACH_EDB9312) += edb9312.o |
14 | obj-$(CONFIG_MACH_EDB9315) += edb9315.o | 15 | obj-$(CONFIG_MACH_EDB9315) += edb9315.o |
15 | obj-$(CONFIG_MACH_EDB9315A) += edb9315a.o | 16 | obj-$(CONFIG_MACH_EDB9315A) += edb9315a.o |
diff --git a/arch/arm/mach-ep93xx/edb9307a.c b/arch/arm/mach-ep93xx/edb9307a.c new file mode 100644 index 000000000000..bbbe4c1fd502 --- /dev/null +++ b/arch/arm/mach-ep93xx/edb9307a.c | |||
@@ -0,0 +1,67 @@ | |||
1 | /* | ||
2 | * arch/arm/mach-ep93xx/edb9307a.c | ||
3 | * Cirrus Logic EDB9307A support. | ||
4 | * | ||
5 | * Copyright (C) 2008 H Hartley Sweeten <hsweeten@visionengravers.com> | ||
6 | * | ||
7 | * This program is free software; you can redistribute it and/or modify | ||
8 | * it under the terms of the GNU General Public License as published by | ||
9 | * the Free Software Foundation; either version 2 of the License, or (at | ||
10 | * your option) any later version. | ||
11 | */ | ||
12 | |||
13 | #include <linux/kernel.h> | ||
14 | #include <linux/init.h> | ||
15 | #include <linux/mm.h> | ||
16 | #include <linux/sched.h> | ||
17 | #include <linux/interrupt.h> | ||
18 | #include <linux/ioport.h> | ||
19 | #include <linux/mtd/physmap.h> | ||
20 | #include <linux/platform_device.h> | ||
21 | #include <linux/io.h> | ||
22 | #include <mach/hardware.h> | ||
23 | #include <asm/mach-types.h> | ||
24 | #include <asm/mach/arch.h> | ||
25 | |||
26 | static struct physmap_flash_data edb9307a_flash_data = { | ||
27 | .width = 2, | ||
28 | }; | ||
29 | |||
30 | static struct resource edb9307a_flash_resource = { | ||
31 | .start = EP93XX_CS6_PHYS_BASE, | ||
32 | .end = EP93XX_CS6_PHYS_BASE + SZ_16M - 1, | ||
33 | .flags = IORESOURCE_MEM, | ||
34 | }; | ||
35 | |||
36 | static struct platform_device edb9307a_flash = { | ||
37 | .name = "physmap-flash", | ||
38 | .id = 0, | ||
39 | .dev = { | ||
40 | .platform_data = &edb9307a_flash_data, | ||
41 | }, | ||
42 | .num_resources = 1, | ||
43 | .resource = &edb9307a_flash_resource, | ||
44 | }; | ||
45 | |||
46 | static struct ep93xx_eth_data edb9307a_eth_data = { | ||
47 | .phy_id = 1, | ||
48 | }; | ||
49 | |||
50 | static void __init edb9307a_init_machine(void) | ||
51 | { | ||
52 | ep93xx_init_devices(); | ||
53 | platform_device_register(&edb9307a_flash); | ||
54 | |||
55 | ep93xx_register_eth(&edb9307a_eth_data, 1); | ||
56 | } | ||
57 | |||
58 | MACHINE_START(EDB9307A, "Cirrus Logic EDB9307A Evaluation Board") | ||
59 | /* Maintainer: H Hartley Sweeten <hsweeten@visionengravers.com> */ | ||
60 | .phys_io = EP93XX_APB_PHYS_BASE, | ||
61 | .io_pg_offst = ((EP93XX_APB_VIRT_BASE) >> 18) & 0xfffc, | ||
62 | .boot_params = EP93XX_SDCE0_PHYS_BASE + 0x100, | ||
63 | .map_io = ep93xx_map_io, | ||
64 | .init_irq = ep93xx_init_irq, | ||
65 | .timer = &ep93xx_timer, | ||
66 | .init_machine = edb9307a_init_machine, | ||
67 | MACHINE_END | ||