]> pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - arch/arm/mach-realview/realview_pb11mp.c
[ARM] 5200/1: am200epd: use fb notifiers and gpio api
[linux-2.6-omap-h63xx.git] / arch / arm / mach-realview / realview_pb11mp.c
index f7b6bec20e863ff5e114b94f1e22f16205aeb18d..f4e7135e3eb581d80a9f393074e16e39157e4761 100644 (file)
@@ -24,7 +24,7 @@
 #include <linux/sysdev.h>
 #include <linux/amba/bus.h>
 
-#include <asm/hardware.h>
+#include <mach/hardware.h>
 #include <asm/io.h>
 #include <asm/irq.h>
 #include <asm/leds.h>
@@ -39,8 +39,8 @@
 #include <asm/mach/mmc.h>
 #include <asm/mach/time.h>
 
-#include <asm/arch/board-pb11mp.h>
-#include <asm/arch/irqs.h>
+#include <mach/board-pb11mp.h>
+#include <mach/irqs.h>
 
 #include "core.h"
 #include "clock.h"
@@ -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;
@@ -281,9 +306,11 @@ static void __init realview_pb11mp_init(void)
 {
        int i;
 
+#ifdef CONFIG_CACHE_L2X0
        /* 1MB (128KB/way), 8-way associativity, evmon/parity/share enabled
         * Bits:  .... ...0 0111 1001 0000 .... .... .... */
        l2x0_init(__io_address(REALVIEW_TC11MP_L220_BASE), 0x00790000, 0xfe000fff);
+#endif
 
        clk_register(&realview_clcd_clk);
 
@@ -291,6 +318,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];