Merge branch 'prcm_scm_misc_fixes_3.2' of git://git.pwsan.com/linux-2.6 into fixes
[pandora-kernel.git] / arch / arm / mach-omap1 / board-perseus2.c
index 04b1bef..203ae07 100644 (file)
@@ -264,6 +264,39 @@ static void __init perseus2_init_smc91x(void)
 
 static void __init omap_perseus2_init(void)
 {
+       /* Early, board-dependent init */
+
+       /*
+        * Hold GSM Reset until needed
+        */
+       omap_writew(omap_readw(OMAP7XX_DSP_M_CTL) & ~1, OMAP7XX_DSP_M_CTL);
+
+       /*
+        * UARTs -> done automagically by 8250 driver
+        */
+
+       /*
+        * CSx timings, GPIO Mux ... setup
+        */
+
+       /* Flash: CS0 timings setup */
+       omap_writel(0x0000fff3, OMAP7XX_FLASH_CFG_0);
+       omap_writel(0x00000088, OMAP7XX_FLASH_ACFG_0);
+
+       /*
+        * Ethernet support through the debug board
+        * CS1 timings setup
+        */
+       omap_writel(0x0000fff3, OMAP7XX_FLASH_CFG_1);
+       omap_writel(0x00000000, OMAP7XX_FLASH_ACFG_1);
+
+       /*
+        * Configure MPU_EXT_NIRQ IO in IO_CONF9 register,
+        * It is used as the Ethernet controller interrupt
+        */
+       omap_writel(omap_readl(OMAP7XX_IO_CONF_9) & 0x1FFFFFFF,
+                               OMAP7XX_IO_CONF_9);
+
        perseus2_init_smc91x();
 
        if (gpio_request(P2_NAND_RB_GPIO_PIN, "NAND ready") < 0)
@@ -293,11 +326,6 @@ static void __init omap_perseus2_init(void)
        omap_register_i2c_bus(1, 100, NULL, 0);
 }
 
-static void __init omap_perseus2_init_irq(void)
-{
-       omap1_init_common_hw();
-       omap1_init_irq();
-}
 /* Only FPGA needs to be mapped here. All others are done with ioremap */
 static struct map_desc omap_perseus2_io_desc[] __initdata = {
        {
@@ -310,49 +338,18 @@ static struct map_desc omap_perseus2_io_desc[] __initdata = {
 
 static void __init omap_perseus2_map_io(void)
 {
-       omap1_map_common_io();
+       omap7xx_map_io();
        iotable_init(omap_perseus2_io_desc,
                     ARRAY_SIZE(omap_perseus2_io_desc));
-
-       /* Early, board-dependent init */
-
-       /*
-        * Hold GSM Reset until needed
-        */
-       omap_writew(omap_readw(OMAP7XX_DSP_M_CTL) & ~1, OMAP7XX_DSP_M_CTL);
-
-       /*
-        * UARTs -> done automagically by 8250 driver
-        */
-
-       /*
-        * CSx timings, GPIO Mux ... setup
-        */
-
-       /* Flash: CS0 timings setup */
-       omap_writel(0x0000fff3, OMAP7XX_FLASH_CFG_0);
-       omap_writel(0x00000088, OMAP7XX_FLASH_ACFG_0);
-
-       /*
-        * Ethernet support through the debug board
-        * CS1 timings setup
-        */
-       omap_writel(0x0000fff3, OMAP7XX_FLASH_CFG_1);
-       omap_writel(0x00000000, OMAP7XX_FLASH_ACFG_1);
-
-       /*
-        * Configure MPU_EXT_NIRQ IO in IO_CONF9 register,
-        * It is used as the Ethernet controller interrupt
-        */
-       omap_writel(omap_readl(OMAP7XX_IO_CONF_9) & 0x1FFFFFFF, OMAP7XX_IO_CONF_9);
 }
 
 MACHINE_START(OMAP_PERSEUS2, "OMAP730 Perseus2")
        /* Maintainer: Kevin Hilman <kjh@hilman.org> */
        .atag_offset    = 0x100,
        .map_io         = omap_perseus2_map_io,
+       .init_early     = omap1_init_early,
        .reserve        = omap_reserve,
-       .init_irq       = omap_perseus2_init_irq,
+       .init_irq       = omap1_init_irq,
        .init_machine   = omap_perseus2_init,
        .timer          = &omap1_timer,
 MACHINE_END