Fedora kernel-2.6.17-1.2142_FC4 patched with stable patch-2.6.17.4-vs2.0.2-rc26.diff
[linux-2.6.git] / arch / arm / mach-sa1100 / simpad.c
index 8d113d6..d2c23b2 100644 (file)
@@ -10,7 +10,7 @@
 #include <linux/proc_fs.h>
 #include <linux/string.h> 
 #include <linux/pm.h>
-#include <linux/device.h>
+#include <linux/platform_device.h>
 #include <linux/mtd/mtd.h>
 #include <linux/mtd/partitions.h>
 
@@ -23,6 +23,7 @@
 #include <asm/mach/flash.h>
 #include <asm/mach/map.h>
 #include <asm/mach/serial_sa1100.h>
+#include <asm/arch/mcp.h>
 #include <asm/arch/simpad.h>
 
 #include <linux/serial_core.h>
@@ -59,11 +60,17 @@ EXPORT_SYMBOL(set_cs3_bit);
 EXPORT_SYMBOL(clear_cs3_bit);
 
 static struct map_desc simpad_io_desc[] __initdata = {
-        /* virtual     physical    length      type */
-       /* MQ200 */
-       { 0xf2800000, 0x4b800000, 0x00800000, MT_DEVICE },
-       /* Paules CS3, write only */
-       { 0xf1000000, 0x18000000, 0x00100000, MT_DEVICE },
+       {       /* MQ200 */
+               .virtual        =  0xf2800000,
+               .pfn            = __phys_to_pfn(0x4b800000),
+               .length         = 0x00800000,
+               .type           = MT_DEVICE
+       }, {    /* Paules CS3, write only */
+               .virtual        =  0xf1000000,
+               .pfn            = __phys_to_pfn(0x18000000),
+               .length         = 0x00100000,
+               .type           = MT_DEVICE
+       },
 };
 
 
@@ -123,6 +130,11 @@ static struct resource simpad_flash_resources [] = {
        }
 };
 
+static struct mcp_plat_data simpad_mcp_data = {
+       .mccr0          = MCCR0_ADM,
+       .sclk_rate      = 11981000,
+};
+
 
 
 static void __init simpad_map_io(void)
@@ -157,6 +169,7 @@ static void __init simpad_map_io(void)
 
        sa11x0_set_flash_data(&simpad_flash_data, simpad_flash_resources,
                              ARRAY_SIZE(simpad_flash_resources));
+       sa11x0_set_mcp_data(&simpad_mcp_data);
 }
 
 static void simpad_power_off(void)
@@ -215,10 +228,11 @@ arch_initcall(simpad_init);
 
 
 MACHINE_START(SIMPAD, "Simpad")
-       MAINTAINER("Holger Freyther")
-       BOOT_MEM(0xc0000000, 0x80000000, 0xf8000000)
-        BOOT_PARAMS(0xc0000100)
-       MAPIO(simpad_map_io)
-       INITIRQ(sa1100_init_irq)
+       /* Maintainer: Holger Freyther */
+       .phys_io        = 0x80000000,
+       .io_pg_offst    = ((0xf8000000) >> 18) & 0xfffc,
+       .boot_params    = 0xc0000100,
+       .map_io         = simpad_map_io,
+       .init_irq       = sa1100_init_irq,
        .timer          = &sa1100_timer,
 MACHINE_END