summaryrefslogtreecommitdiffstats
path: root/arch/arm/mach-realview
diff options
context:
space:
mode:
authorBahadir Balban <bahadir.balban@arm.com>2008-04-18 22:43:14 +0100
committerCatalin Marinas <catalin.marinas@arm.com>2008-04-18 22:43:14 +0100
commit387847ee0fb258a50032db81e216be4ec1350586 (patch)
treea95d413419d004ee3b397197a67a30e449c80130 /arch/arm/mach-realview
parent78fdcb4287b5781d8175115430ca50e30899bf09 (diff)
downloadlinux-387847ee0fb258a50032db81e216be4ec1350586.tar.bz2
RealView: Add compactflash support for the PB11MPCore platform
This patch adds the resource and device definitions for the compact flash. Signed-off-by: Bahadir Balban <bahadir.balban@arm.com> Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
Diffstat (limited to 'arch/arm/mach-realview')
-rw-r--r--arch/arm/mach-realview/realview_pb11mp.c26
1 files changed, 26 insertions, 0 deletions
diff --git a/arch/arm/mach-realview/realview_pb11mp.c b/arch/arm/mach-realview/realview_pb11mp.c
index f7b6bec20e86..7d1fa1fad5e4 100644
--- a/arch/arm/mach-realview/realview_pb11mp.c
+++ b/arch/arm/mach-realview/realview_pb11mp.c
@@ -237,6 +237,31 @@ static struct platform_device realview_pb11mp_smsc911x_device = {
.resource = realview_pb11mp_smsc911x_resources,
};
+struct resource realview_pb11mp_cf_resources[] = {
+ [0] = {
+ .start = REALVIEW_PB11MP_CF_BASE,
+ .end = REALVIEW_PB11MP_CF_BASE + SZ_4K - 1,
+ .flags = IORESOURCE_MEM,
+ },
+ [1] = {
+ .start = REALVIEW_PB11MP_CF_MEM_BASE,
+ .end = REALVIEW_PB11MP_CF_MEM_BASE + SZ_4K - 1,
+ .flags = IORESOURCE_MEM,
+ },
+ [2] = {
+ .start = -1, /* FIXME: Find correct irq */
+ .end = -1,
+ .flags = IORESOURCE_IRQ,
+ },
+};
+
+struct platform_device realview_pb11mp_cf_device = {
+ .name = "compactflash",
+ .id = 0,
+ .num_resources = ARRAY_SIZE(realview_pb11mp_cf_resources),
+ .resource = realview_pb11mp_cf_resources,
+};
+
static void __init gic_init_irq(void)
{
unsigned int pldctrl;
@@ -291,6 +316,7 @@ static void __init realview_pb11mp_init(void)
ARRAY_SIZE(realview_pb11mp_flash_resource));
platform_device_register(&realview_pb11mp_smsc911x_device);
platform_device_register(&realview_i2c_device);
+ platform_device_register(&realview_pb11mp_cf_device);
for (i = 0; i < ARRAY_SIZE(amba_devs); i++) {
struct amba_device *d = amba_devs[i];