.init = eukrea_cpuimx27_timer_init,
  };
  
 -MACHINE_START(CPUIMX27, "EUKREA CPUIMX27")
 +MACHINE_START(EUKREA_CPUIMX27, "EUKREA CPUIMX27")
-       .boot_params = MX27_PHYS_OFFSET + 0x100,
+       .atag_offset = 0x100,
        .map_io = mx27_map_io,
        .init_early = imx27_init_early,
        .init_irq = mx27_init_irq,
 
        .init   = eukrea_cpuimx35_timer_init,
  };
  
 -MACHINE_START(EUKREA_CPUIMX35, "Eukrea CPUIMX35")
 +MACHINE_START(EUKREA_CPUIMX35SD, "Eukrea CPUIMX35")
        /* Maintainer: Eukrea Electromatique */
-       .boot_params = MX3x_PHYS_OFFSET + 0x100,
+       .atag_offset = 0x100,
        .map_io = mx35_map_io,
        .init_early = imx35_init_early,
        .init_irq = mx35_init_irq,
 
        .init   = eukrea_cpuimx25_timer_init,
  };
  
 -MACHINE_START(EUKREA_CPUIMX25, "Eukrea CPUIMX25")
 +MACHINE_START(EUKREA_CPUIMX25SD, "Eukrea CPUIMX25")
        /* Maintainer: Eukrea Electromatique */
-       .boot_params = MX25_PHYS_OFFSET + 0x100,
+       .atag_offset = 0x100,
        .map_io = mx25_map_io,
        .init_early = imx25_init_early,
        .init_irq = mx25_init_irq,
 
  }
  arch_initcall(ams_delta_modem_init);
  
 -static void __init ams_delta_map_io(void)
 -{
 -      omap1_map_common_io();
 -}
 -
  MACHINE_START(AMS_DELTA, "Amstrad E3 (Delta)")
        /* Maintainer: Jonathan McDowell <noodles@earth.li> */
-       .boot_params    = 0x10000100,
+       .atag_offset    = 0x100,
 -      .map_io         = ams_delta_map_io,
 +      .map_io         = omap15xx_map_io,
 +      .init_early     = omap1_init_early,
        .reserve        = omap_reserve,
 -      .init_irq       = ams_delta_init_irq,
 +      .init_irq       = omap1_init_irq,
        .init_machine   = ams_delta_init,
        .timer          = &omap1_timer,
  MACHINE_END
 
  
  MACHINE_START(OMAP_FSAMPLE, "OMAP730 F-Sample")
  /* Maintainer: Brian Swetland <swetland@google.com> */
-       .boot_params    = 0x10000100,
+       .atag_offset    = 0x100,
        .map_io         = omap_fsample_map_io,
 +      .init_early     = omap1_init_early,
        .reserve        = omap_reserve,
 -      .init_irq       = omap_fsample_init_irq,
 +      .init_irq       = omap1_init_irq,
        .init_machine   = omap_fsample_init,
        .timer          = &omap1_timer,
  MACHINE_END
 
        omap_register_i2c_bus(1, 100, NULL, 0);
  }
  
 -static void __init omap_generic_map_io(void)
 -{
 -      omap1_map_common_io();
 -}
 -
  MACHINE_START(OMAP_GENERIC, "Generic OMAP1510/1610/1710")
        /* Maintainer: Tony Lindgren <tony@atomide.com> */
-       .boot_params    = 0x10000100,
+       .atag_offset    = 0x100,
 -      .map_io         = omap_generic_map_io,
 +      .map_io         = omap16xx_map_io,
 +      .init_early     = omap1_init_early,
        .reserve        = omap_reserve,
 -      .init_irq       = omap_generic_init_irq,
 +      .init_irq       = omap1_init_irq,
        .init_machine   = omap_generic_init,
        .timer          = &omap1_timer,
  MACHINE_END
 
        h2_mmc_init();
  }
  
 -static void __init h2_map_io(void)
 -{
 -      omap1_map_common_io();
 -}
 -
  MACHINE_START(OMAP_H2, "TI-H2")
        /* Maintainer: Imre Deak <imre.deak@nokia.com> */
-       .boot_params    = 0x10000100,
+       .atag_offset    = 0x100,
 -      .map_io         = h2_map_io,
 +      .map_io         = omap16xx_map_io,
 +      .init_early     = omap1_init_early,
        .reserve        = omap_reserve,
 -      .init_irq       = h2_init_irq,
 +      .init_irq       = omap1_init_irq,
        .init_machine   = h2_init,
        .timer          = &omap1_timer,
  MACHINE_END
 
        h3_mmc_init();
  }
  
 -static void __init h3_init_irq(void)
 -{
 -      omap1_init_common_hw();
 -      omap1_init_irq();
 -}
 -
 -static void __init h3_map_io(void)
 -{
 -      omap1_map_common_io();
 -}
 -
  MACHINE_START(OMAP_H3, "TI OMAP1710 H3 board")
        /* Maintainer: Texas Instruments, Inc. */
-       .boot_params    = 0x10000100,
+       .atag_offset    = 0x100,
 -      .map_io         = h3_map_io,
 +      .map_io         = omap16xx_map_io,
 +      .init_early     = omap1_init_early,
        .reserve        = omap_reserve,
 -      .init_irq       = h3_init_irq,
 +      .init_irq       = omap1_init_irq,
        .init_machine   = h3_init,
        .timer          = &omap1_timer,
  MACHINE_END
 
  MACHINE_START(HERALD, "HTC Herald")
        /* Maintainer: Cory Maccarrone <darkstar6262@gmail.com> */
        /* Maintainer: wing-linux.sourceforge.net */
-       .boot_params    = 0x10000100,
+       .atag_offset    = 0x100,
        .map_io         = htcherald_map_io,
 +      .init_early     = omap1_init_early,
        .reserve        = omap_reserve,
 -      .init_irq       = htcherald_init_irq,
 +      .init_irq       = omap1_init_irq,
        .init_machine   = htcherald_init,
        .timer          = &omap1_timer,
  MACHINE_END
 
  
  MACHINE_START(OMAP_INNOVATOR, "TI-Innovator")
        /* Maintainer: MontaVista Software, Inc. */
-       .boot_params    = 0x10000100,
+       .atag_offset    = 0x100,
        .map_io         = innovator_map_io,
 +      .init_early     = omap1_init_early,
        .reserve        = omap_reserve,
 -      .init_irq       = innovator_init_irq,
 +      .init_irq       = omap1_init_irq,
        .init_machine   = innovator_init,
        .timer          = &omap1_timer,
  MACHINE_END
 
        nokia770_mmc_init();
  }
  
 -static void __init omap_nokia770_map_io(void)
 -{
 -      omap1_map_common_io();
 -}
 -
  MACHINE_START(NOKIA770, "Nokia 770")
-       .boot_params    = 0x10000100,
+       .atag_offset    = 0x100,
 -      .map_io         = omap_nokia770_map_io,
 +      .map_io         = omap16xx_map_io,
 +      .init_early     = omap1_init_early,
        .reserve        = omap_reserve,
 -      .init_irq       = omap_nokia770_init_irq,
 +      .init_irq       = omap1_init_irq,
        .init_machine   = omap_nokia770_init,
        .timer          = &omap1_timer,
  MACHINE_END
 
        osk_mistral_init();
  }
  
 -static void __init osk_map_io(void)
 -{
 -      omap1_map_common_io();
 -}
 -
  MACHINE_START(OMAP_OSK, "TI-OSK")
        /* Maintainer: Dirk Behme <dirk.behme@de.bosch.com> */
-       .boot_params    = 0x10000100,
+       .atag_offset    = 0x100,
 -      .map_io         = osk_map_io,
 +      .map_io         = omap16xx_map_io,
 +      .init_early     = omap1_init_early,
        .reserve        = omap_reserve,
 -      .init_irq       = osk_init_irq,
 +      .init_irq       = omap1_init_irq,
        .init_machine   = osk_init,
        .timer          = &omap1_timer,
  MACHINE_END
 
        omap_register_i2c_bus(1, 100, NULL, 0);
  }
  
 -static void __init omap_palmte_map_io(void)
 -{
 -      omap1_map_common_io();
 -}
 -
  MACHINE_START(OMAP_PALMTE, "OMAP310 based Palm Tungsten E")
-       .boot_params    = 0x10000100,
+       .atag_offset    = 0x100,
 -      .map_io         = omap_palmte_map_io,
 +      .map_io         = omap15xx_map_io,
 +      .init_early     = omap1_init_early,
        .reserve        = omap_reserve,
 -      .init_irq       = omap_palmte_init_irq,
 +      .init_irq       = omap1_init_irq,
        .init_machine   = omap_palmte_init,
        .timer          = &omap1_timer,
  MACHINE_END
 
        omap_register_i2c_bus(1, 100, NULL, 0);
  }
  
 -static void __init omap_palmtt_map_io(void)
 -{
 -      omap1_map_common_io();
 -}
 -
  MACHINE_START(OMAP_PALMTT, "OMAP1510 based Palm Tungsten|T")
-       .boot_params    = 0x10000100,
+       .atag_offset    = 0x100,
 -      .map_io         = omap_palmtt_map_io,
 +      .map_io         = omap15xx_map_io,
 +      .init_early     = omap1_init_early,
        .reserve        = omap_reserve,
 -      .init_irq       = omap_palmtt_init_irq,
 +      .init_irq       = omap1_init_irq,
        .init_machine   = omap_palmtt_init,
        .timer          = &omap1_timer,
  MACHINE_END
 
        palmz71_gpio_setup(0);
  }
  
 -static void __init
 -omap_palmz71_map_io(void)
 -{
 -      omap1_map_common_io();
 -}
 -
  MACHINE_START(OMAP_PALMZ71, "OMAP310 based Palm Zire71")
-       .boot_params    = 0x10000100,
+       .atag_offset    = 0x100,
 -      .map_io         = omap_palmz71_map_io,
 +      .map_io         = omap15xx_map_io,
 +      .init_early     = omap1_init_early,
        .reserve        = omap_reserve,
 -      .init_irq       = omap_palmz71_init_irq,
 +      .init_irq       = omap1_init_irq,
        .init_machine   = omap_palmz71_init,
        .timer          = &omap1_timer,
  MACHINE_END
 
  
  MACHINE_START(OMAP_PERSEUS2, "OMAP730 Perseus2")
        /* Maintainer: Kevin Hilman <kjh@hilman.org> */
-       .boot_params    = 0x10000100,
+       .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
 
        gpio_direction_output(11, 0);   /*A_SWITCH = 0 */
        gpio_direction_output(15, 0);   /*A_USB_ON = 0 */
  }
 -/*----------------------------------------*/
 -static void __init omap_sx1_init_irq(void)
 -{
 -      omap1_init_common_hw();
 -      omap1_init_irq();
 -}
 -/*----------------------------------------*/
 -
 -static void __init omap_sx1_map_io(void)
 -{
 -      omap1_map_common_io();
 -}
  
  MACHINE_START(SX1, "OMAP310 based Siemens SX1")
-       .boot_params    = 0x10000100,
+       .atag_offset    = 0x100,
 -      .map_io         = omap_sx1_map_io,
 +      .map_io         = omap15xx_map_io,
 +      .init_early     = omap1_init_early,
        .reserve        = omap_reserve,
 -      .init_irq       = omap_sx1_init_irq,
 +      .init_irq       = omap1_init_irq,
        .init_machine   = omap_sx1_init,
        .timer          = &omap1_timer,
  MACHINE_END
 
  
  MACHINE_START(VOICEBLUE, "VoiceBlue OMAP5910")
        /* Maintainer: Ladislav Michl <michl@2n.cz> */
-       .boot_params    = 0x10000100,
+       .atag_offset    = 0x100,
 -      .map_io         = voiceblue_map_io,
 +      .map_io         = omap15xx_map_io,
 +      .init_early     = omap1_init_early,
        .reserve        = omap_reserve,
 -      .init_irq       = voiceblue_init_irq,
 +      .init_irq       = omap1_init_irq,
        .init_machine   = voiceblue_init,
        .timer          = &omap1_timer,
  MACHINE_END
 
        /* Must init clocks early to assure that timer interrupt works
         */
        omap1_clk_init();
 -
        omap1_mux_init();
++      omap_init_consistent_dma_size();
  }
  
  /*
 
                         "Secondary LCD backlight");
  }
  
 -static void __init omap_2430sdp_map_io(void)
 -{
 -      omap2_set_globals_243x();
 -      omap243x_map_common_io();
 -}
 -
  MACHINE_START(OMAP_2430SDP, "OMAP2430 sdp2430 board")
        /* Maintainer: Syed Khasim - Texas Instruments Inc */
-       .boot_params    = 0x80000100,
+       .atag_offset    = 0x100,
        .reserve        = omap_reserve,
 -      .map_io         = omap_2430sdp_map_io,
 -      .init_early     = omap_2430sdp_init_early,
 +      .map_io         = omap243x_map_io,
 +      .init_early     = omap2430_init_early,
        .init_irq       = omap2_init_irq,
        .init_machine   = omap_2430sdp_init,
        .timer          = &omap2_timer,
 
  
  MACHINE_START(OMAP_3430SDP, "OMAP3430 3430SDP board")
        /* Maintainer: Syed Khasim - Texas Instruments Inc */
-       .boot_params    = 0x80000100,
+       .atag_offset    = 0x100,
        .reserve        = omap_reserve,
        .map_io         = omap3_map_io,
 -      .init_early     = omap_3430sdp_init_early,
 +      .init_early     = omap3430_init_early,
        .init_irq       = omap3_init_irq,
        .init_machine   = omap_3430sdp_init,
        .timer          = &omap3_timer,
 
  }
  
  MACHINE_START(OMAP_3630SDP, "OMAP 3630SDP board")
-       .boot_params    = 0x80000100,
+       .atag_offset    = 0x100,
        .reserve        = omap_reserve,
        .map_io         = omap3_map_io,
 -      .init_early     = omap_sdp_init_early,
 +      .init_early     = omap3630_init_early,
        .init_irq       = omap3_init_irq,
        .init_machine   = omap_sdp_init,
        .timer          = &omap3_timer,
 
        omap_4430sdp_display_init();
  }
  
 -static void __init omap_4430sdp_map_io(void)
 -{
 -      omap2_set_globals_443x();
 -      omap44xx_map_common_io();
 -}
 -
  MACHINE_START(OMAP_4430SDP, "OMAP4430 4430SDP board")
        /* Maintainer: Santosh Shilimkar - Texas Instruments Inc */
-       .boot_params    = 0x80000100,
+       .atag_offset    = 0x100,
        .reserve        = omap_reserve,
 -      .map_io         = omap_4430sdp_map_io,
 -      .init_early     = omap_4430sdp_init_early,
 +      .map_io         = omap4_map_io,
 +      .init_early     = omap4430_init_early,
        .init_irq       = gic_init_irq,
        .init_machine   = omap_4430sdp_init,
        .timer          = &omap4_timer,
 
  }
  
  MACHINE_START(CRANEBOARD, "AM3517/05 CRANEBOARD")
-       .boot_params    = 0x80000100,
+       .atag_offset    = 0x100,
        .reserve        = omap_reserve,
        .map_io         = omap3_map_io,
 -      .init_early     = am3517_crane_init_early,
 +      .init_early     = am35xx_init_early,
        .init_irq       = omap3_init_irq,
        .init_machine   = am3517_crane_init,
        .timer          = &omap3_timer,
 
  }
  
  MACHINE_START(OMAP3517EVM, "OMAP3517/AM3517 EVM")
-       .boot_params    = 0x80000100,
+       .atag_offset    = 0x100,
        .reserve        = omap_reserve,
        .map_io         = omap3_map_io,
 -      .init_early     = am3517_evm_init_early,
 +      .init_early     = am35xx_init_early,
        .init_irq       = omap3_init_irq,
        .init_machine   = am3517_evm_init,
        .timer          = &omap3_timer,
 
  
  MACHINE_START(OMAP_APOLLON, "OMAP24xx Apollon")
        /* Maintainer: Kyungmin Park <kyungmin.park@samsung.com> */
-       .boot_params    = 0x80000100,
+       .atag_offset    = 0x100,
        .reserve        = omap_reserve,
 -      .map_io         = omap_apollon_map_io,
 -      .init_early     = omap_apollon_init_early,
 +      .map_io         = omap242x_map_io,
 +      .init_early     = omap2420_init_early,
        .init_irq       = omap2_init_irq,
        .init_machine   = omap_apollon_init,
        .timer          = &omap2_timer,
 
  }
  
  MACHINE_START(CM_T35, "Compulab CM-T35")
-       .boot_params    = 0x80000100,
+       .atag_offset    = 0x100,
        .reserve        = omap_reserve,
        .map_io         = omap3_map_io,
 -      .init_early     = cm_t35_init_early,
 +      .init_early     = omap35xx_init_early,
        .init_irq       = omap3_init_irq,
        .init_machine   = cm_t35_init,
        .timer          = &omap3_timer,
  MACHINE_END
  
  MACHINE_START(CM_T3730, "Compulab CM-T3730")
-       .boot_params    = 0x80000100,
+       .atag_offset    = 0x100,
        .reserve        = omap_reserve,
        .map_io         = omap3_map_io,
 -      .init_early     = cm_t35_init_early,
 +      .init_early     = omap3630_init_early,
        .init_irq       = omap3_init_irq,
        .init_machine   = cm_t3730_init,
        .timer          = &omap3_timer,
 
  }
  
  MACHINE_START(CM_T3517, "Compulab CM-T3517")
-       .boot_params    = 0x80000100,
+       .atag_offset    = 0x100,
        .reserve        = omap_reserve,
        .map_io         = omap3_map_io,
 -      .init_early     = cm_t3517_init_early,
 +      .init_early     = am35xx_init_early,
        .init_irq       = omap3_init_irq,
        .init_machine   = cm_t3517_init,
        .timer          = &omap3_timer,
 
  }
  
  MACHINE_START(DEVKIT8000, "OMAP3 Devkit8000")
-       .boot_params    = 0x80000100,
+       .atag_offset    = 0x100,
        .reserve        = omap_reserve,
        .map_io         = omap3_map_io,
 -      .init_early     = devkit8000_init_early,
 -      .init_irq       = devkit8000_init_irq,
 +      .init_early     = omap35xx_init_early,
 +      .init_irq       = omap3_init_irq,
        .init_machine   = devkit8000_init,
        .timer          = &omap3_secure_timer,
  MACHINE_END
 
   * published by the Free Software Foundation.
   */
  
 -#include <linux/kernel.h>
 -#include <linux/init.h>
 -#include <linux/device.h>
 +#include <linux/io.h>
 +#include <linux/of_platform.h>
 +#include <linux/irqdomain.h>
 +#include <linux/i2c/twl.h>
  
  #include <mach/hardware.h>
 -#include <asm/mach-types.h>
  #include <asm/mach/arch.h>
 -#include <asm/mach/map.h>
  
 -#include <mach/gpio.h>
 -#include <plat/usb.h>
  #include <plat/board.h>
  #include <plat/common.h>
 +#include <mach/omap4-common.h>
 +#include "common-board-devices.h"
 +
 +/*
 + * XXX: Still needed to boot until the i2c & twl driver is adapted to
 + * device-tree
 + */
 +static struct twl4030_platform_data sdp4430_twldata = {
 +      .irq_base       = TWL6030_IRQ_BASE,
 +      .irq_end        = TWL6030_IRQ_END,
 +};
  
 -static struct omap_board_config_kernel generic_config[] = {
 +static void __init omap4_i2c_init(void)
 +{
 +      omap4_pmic_init("twl6030", &sdp4430_twldata);
 +}
 +
 +static struct twl4030_platform_data beagle_twldata = {
 +      .irq_base       = TWL4030_IRQ_BASE,
 +      .irq_end        = TWL4030_IRQ_END,
  };
  
 -static void __init omap_generic_init_early(void)
 +static void __init omap3_i2c_init(void)
  {
 -      omap2_init_common_infrastructure();
 -      omap2_init_common_devices(NULL, NULL);
 +      omap3_pmic_init("twl4030", &beagle_twldata);
  }
  
 +static struct of_device_id omap_dt_match_table[] __initdata = {
 +      { .compatible = "simple-bus", },
 +      { .compatible = "ti,omap-infra", },
 +      { }
 +};
 +
 +static struct of_device_id intc_match[] __initdata = {
 +      { .compatible = "ti,omap3-intc", },
 +      { .compatible = "arm,cortex-a9-gic", },
 +      { }
 +};
 +
  static void __init omap_generic_init(void)
  {
 +      struct device_node *node = of_find_matching_node(NULL, intc_match);
 +      if (node)
 +              irq_domain_add_simple(node, 0);
 +
        omap_serial_init();
 -      omap_board_config = generic_config;
 -      omap_board_config_size = ARRAY_SIZE(generic_config);
 +      omap_sdrc_init(NULL, NULL);
 +
 +      of_platform_populate(NULL, omap_dt_match_table, NULL, NULL);
 +}
 +
 +static void __init omap4_init(void)
 +{
 +      omap4_i2c_init();
 +      omap_generic_init();
  }
  
 -static void __init omap_generic_map_io(void)
 +static void __init omap3_init(void)
  {
 -      if (cpu_is_omap242x()) {
 -              omap2_set_globals_242x();
 -              omap242x_map_common_io();
 -      } else if (cpu_is_omap243x()) {
 -              omap2_set_globals_243x();
 -              omap243x_map_common_io();
 -      } else if (cpu_is_omap34xx()) {
 -              omap2_set_globals_3xxx();
 -              omap34xx_map_common_io();
 -      } else if (cpu_is_omap44xx()) {
 -              omap2_set_globals_443x();
 -              omap44xx_map_common_io();
 -      }
 +      omap3_i2c_init();
 +      omap_generic_init();
  }
  
 -/* XXX This machine entry name should be updated */
 -MACHINE_START(OMAP_GENERIC, "Generic OMAP24xx")
 -      /* Maintainer: Paul Mundt <paul.mundt@nokia.com> */
 +#if defined(CONFIG_SOC_OMAP2420)
 +static const char *omap242x_boards_compat[] __initdata = {
 +      "ti,omap2420",
 +      NULL,
 +};
 +
 +DT_MACHINE_START(OMAP242X_DT, "Generic OMAP2420 (Flattened Device Tree)")
++      .atag_offset    = 0x100,
 +      .reserve        = omap_reserve,
 +      .map_io         = omap242x_map_io,
 +      .init_early     = omap2420_init_early,
 +      .init_irq       = omap2_init_irq,
 +      .init_machine   = omap_generic_init,
 +      .timer          = &omap2_timer,
 +      .dt_compat      = omap242x_boards_compat,
 +MACHINE_END
 +#endif
 +
 +#if defined(CONFIG_SOC_OMAP2430)
 +static const char *omap243x_boards_compat[] __initdata = {
 +      "ti,omap2430",
 +      NULL,
 +};
 +
 +DT_MACHINE_START(OMAP243X_DT, "Generic OMAP2430 (Flattened Device Tree)")
+       .atag_offset    = 0x100,
        .reserve        = omap_reserve,
 -      .map_io         = omap_generic_map_io,
 -      .init_early     = omap_generic_init_early,
 +      .map_io         = omap243x_map_io,
 +      .init_early     = omap2430_init_early,
        .init_irq       = omap2_init_irq,
        .init_machine   = omap_generic_init,
        .timer          = &omap2_timer,
 +      .dt_compat      = omap243x_boards_compat,
 +MACHINE_END
 +#endif
 +
 +#if defined(CONFIG_ARCH_OMAP3)
 +static const char *omap3_boards_compat[] __initdata = {
 +      "ti,omap3",
 +      NULL,
 +};
 +
 +DT_MACHINE_START(OMAP3_DT, "Generic OMAP3 (Flattened Device Tree)")
++      .atag_offset    = 0x100,
 +      .reserve        = omap_reserve,
 +      .map_io         = omap3_map_io,
 +      .init_early     = omap3430_init_early,
 +      .init_irq       = omap3_init_irq,
 +      .init_machine   = omap3_init,
 +      .timer          = &omap3_timer,
 +      .dt_compat      = omap3_boards_compat,
 +MACHINE_END
 +#endif
 +
 +#if defined(CONFIG_ARCH_OMAP4)
 +static const char *omap4_boards_compat[] __initdata = {
 +      "ti,omap4",
 +      NULL,
 +};
 +
 +DT_MACHINE_START(OMAP4_DT, "Generic OMAP4 (Flattened Device Tree)")
++      .atag_offset    = 0x100,
 +      .reserve        = omap_reserve,
 +      .map_io         = omap4_map_io,
 +      .init_early     = omap4430_init_early,
 +      .init_irq       = gic_init_irq,
 +      .init_machine   = omap4_init,
 +      .timer          = &omap4_timer,
 +      .dt_compat      = omap4_boards_compat,
  MACHINE_END
 +#endif
 
        h4_init_flash();
  }
  
 -static void __init omap_h4_map_io(void)
 -{
 -      omap2_set_globals_242x();
 -      omap242x_map_common_io();
 -}
 -
  MACHINE_START(OMAP_H4, "OMAP2420 H4 board")
        /* Maintainer: Paul Mundt <paul.mundt@nokia.com> */
-       .boot_params    = 0x80000100,
+       .atag_offset    = 0x100,
        .reserve        = omap_reserve,
 -      .map_io         = omap_h4_map_io,
 -      .init_early     = omap_h4_init_early,
 -      .init_irq       = omap_h4_init_irq,
 +      .map_io         = omap242x_map_io,
 +      .init_early     = omap2420_init_early,
 +      .init_irq       = omap2_init_irq,
        .init_machine   = omap_h4_init,
        .timer          = &omap2_timer,
  MACHINE_END
 
  }
  
  MACHINE_START(IGEP0020, "IGEP v2 board")
-       .boot_params    = 0x80000100,
+       .atag_offset    = 0x100,
        .reserve        = omap_reserve,
        .map_io         = omap3_map_io,
 -      .init_early     = igep_init_early,
 +      .init_early     = omap35xx_init_early,
        .init_irq       = omap3_init_irq,
        .init_machine   = igep_init,
        .timer          = &omap3_timer,
  MACHINE_END
  
  MACHINE_START(IGEP0030, "IGEP OMAP3 module")
-       .boot_params    = 0x80000100,
+       .atag_offset    = 0x100,
        .reserve        = omap_reserve,
        .map_io         = omap3_map_io,
 -      .init_early     = igep_init_early,
 +      .init_early     = omap35xx_init_early,
        .init_irq       = omap3_init_irq,
        .init_machine   = igep_init,
        .timer          = &omap3_timer,
 
  }
  
  MACHINE_START(OMAP_LDP, "OMAP LDP board")
-       .boot_params    = 0x80000100,
+       .atag_offset    = 0x100,
        .reserve        = omap_reserve,
        .map_io         = omap3_map_io,
 -      .init_early     = omap_ldp_init_early,
 +      .init_early     = omap3430_init_early,
        .init_irq       = omap3_init_irq,
        .init_machine   = omap_ldp_init,
        .timer          = &omap3_timer,
 
  }
  
  MACHINE_START(NOKIA_N800, "Nokia N800")
-       .boot_params    = 0x80000100,
+       .atag_offset    = 0x100,
        .reserve        = omap_reserve,
 -      .map_io         = n8x0_map_io,
 -      .init_early     = n8x0_init_early,
 +      .map_io         = omap242x_map_io,
 +      .init_early     = omap2420_init_early,
        .init_irq       = omap2_init_irq,
        .init_machine   = n8x0_init_machine,
        .timer          = &omap2_timer,
  MACHINE_END
  
  MACHINE_START(NOKIA_N810, "Nokia N810")
-       .boot_params    = 0x80000100,
+       .atag_offset    = 0x100,
        .reserve        = omap_reserve,
 -      .map_io         = n8x0_map_io,
 -      .init_early     = n8x0_init_early,
 +      .map_io         = omap242x_map_io,
 +      .init_early     = omap2420_init_early,
        .init_irq       = omap2_init_irq,
        .init_machine   = n8x0_init_machine,
        .timer          = &omap2_timer,
  MACHINE_END
  
  MACHINE_START(NOKIA_N810_WIMAX, "Nokia N810 WiMAX")
-       .boot_params    = 0x80000100,
+       .atag_offset    = 0x100,
        .reserve        = omap_reserve,
 -      .map_io         = n8x0_map_io,
 -      .init_early     = n8x0_init_early,
 +      .map_io         = omap242x_map_io,
 +      .init_early     = omap2420_init_early,
        .init_irq       = omap2_init_irq,
        .init_machine   = n8x0_init_machine,
        .timer          = &omap2_timer,
 
  
  MACHINE_START(OMAP3_BEAGLE, "OMAP3 Beagle Board")
        /* Maintainer: Syed Mohammed Khasim - http://beagleboard.org */
-       .boot_params    = 0x80000100,
+       .atag_offset    = 0x100,
        .reserve        = omap_reserve,
        .map_io         = omap3_map_io,
 -      .init_early     = omap3_beagle_init_early,
 -      .init_irq       = omap3_beagle_init_irq,
 +      .init_early     = omap3_init_early,
 +      .init_irq       = omap3_init_irq,
        .init_machine   = omap3_beagle_init,
        .timer          = &omap3_secure_timer,
  MACHINE_END
 
  
  MACHINE_START(OMAP3EVM, "OMAP3 EVM")
        /* Maintainer: Syed Mohammed Khasim - Texas Instruments */
-       .boot_params    = 0x80000100,
+       .atag_offset    = 0x100,
        .reserve        = omap_reserve,
        .map_io         = omap3_map_io,
 -      .init_early     = omap3_evm_init_early,
 +      .init_early     = omap35xx_init_early,
        .init_irq       = omap3_init_irq,
        .init_machine   = omap3_evm_init,
        .timer          = &omap3_timer,
 
  }
  
  MACHINE_START(OMAP3_TORPEDO, "Logic OMAP3 Torpedo board")
-       .boot_params    = 0x80000100,
+       .atag_offset    = 0x100,
        .map_io         = omap3_map_io,
 -      .init_early     = omap3logic_init_early,
 +      .init_early     = omap35xx_init_early,
        .init_irq       = omap3_init_irq,
        .init_machine   = omap3logic_init,
        .timer          = &omap3_timer,
  MACHINE_END
  
  MACHINE_START(OMAP3530_LV_SOM, "OMAP Logic 3530 LV SOM board")
-       .boot_params    = 0x80000100,
+       .atag_offset    = 0x100,
        .map_io         = omap3_map_io,
 -      .init_early     = omap3logic_init_early,
 +      .init_early     = omap35xx_init_early,
        .init_irq       = omap3_init_irq,
        .init_machine   = omap3logic_init,
        .timer          = &omap3_timer,
 
  }
  
  MACHINE_START(OMAP3_PANDORA, "Pandora Handheld Console")
-       .boot_params    = 0x80000100,
+       .atag_offset    = 0x100,
        .reserve        = omap_reserve,
        .map_io         = omap3_map_io,
 -      .init_early     = omap3pandora_init_early,
 +      .init_early     = omap35xx_init_early,
        .init_irq       = omap3_init_irq,
        .init_machine   = omap3pandora_init,
        .timer          = &omap3_timer,
 
  
  MACHINE_START(SBC3530, "OMAP3 STALKER")
        /* Maintainer: Jason Lam -lzg@ema-tech.com */
-       .boot_params            = 0x80000100,
+       .atag_offset            = 0x100,
        .map_io                 = omap3_map_io,
 -      .init_early             = omap3_stalker_init_early,
 -      .init_irq               = omap3_stalker_init_irq,
 +      .init_early             = omap35xx_init_early,
 +      .init_irq               = omap3_init_irq,
        .init_machine           = omap3_stalker_init,
        .timer                  = &omap3_secure_timer,
  MACHINE_END
 
  
  MACHINE_START(TOUCHBOOK, "OMAP3 touchbook Board")
        /* Maintainer: Gregoire Gentil - http://www.alwaysinnovating.com */
-       .boot_params    = 0x80000100,
+       .atag_offset    = 0x100,
        .reserve        = omap_reserve,
        .map_io         = omap3_map_io,
 -      .init_early     = omap3_touchbook_init_early,
 -      .init_irq       = omap3_touchbook_init_irq,
 +      .init_early     = omap3430_init_early,
 +      .init_irq       = omap3_init_irq,
        .init_machine   = omap3_touchbook_init,
        .timer          = &omap3_secure_timer,
  MACHINE_END
 
        omap4_panda_display_init();
  }
  
 -static void __init omap4_panda_map_io(void)
 -{
 -      omap2_set_globals_443x();
 -      omap44xx_map_common_io();
 -}
 -
  MACHINE_START(OMAP4_PANDA, "OMAP4 Panda board")
        /* Maintainer: David Anders - Texas Instruments Inc */
-       .boot_params    = 0x80000100,
+       .atag_offset    = 0x100,
        .reserve        = omap_reserve,
 -      .map_io         = omap4_panda_map_io,
 -      .init_early     = omap4_panda_init_early,
 +      .map_io         = omap4_map_io,
 +      .init_early     = omap4430_init_early,
        .init_irq       = gic_init_irq,
        .init_machine   = omap4_panda_init,
        .timer          = &omap4_timer,
 
  }
  
  MACHINE_START(OVERO, "Gumstix Overo")
-       .boot_params    = 0x80000100,
+       .atag_offset    = 0x100,
        .reserve        = omap_reserve,
        .map_io         = omap3_map_io,
 -      .init_early     = overo_init_early,
 +      .init_early     = omap35xx_init_early,
        .init_irq       = omap3_init_irq,
        .init_machine   = overo_init,
        .timer          = &omap3_timer,
 
        rm680_peripherals_init();
  }
  
 -static void __init rm680_map_io(void)
 -{
 -      omap2_set_globals_3xxx();
 -      omap34xx_map_common_io();
 -}
 -
  MACHINE_START(NOKIA_RM680, "Nokia RM-680 board")
-       .boot_params    = 0x80000100,
+       .atag_offset    = 0x100,
        .reserve        = omap_reserve,
 -      .map_io         = rm680_map_io,
 -      .init_early     = rm680_init_early,
 +      .map_io         = omap3_map_io,
 +      .init_early     = omap3630_init_early,
        .init_irq       = omap3_init_irq,
        .init_machine   = rm680_init,
        .timer          = &omap3_timer,
 
  
  MACHINE_START(NOKIA_RX51, "Nokia RX-51 board")
        /* Maintainer: Lauri Leukkunen <lauri.leukkunen@nokia.com> */
-       .boot_params    = 0x80000100,
+       .atag_offset    = 0x100,
        .reserve        = rx51_reserve,
 -      .map_io         = rx51_map_io,
 -      .init_early     = rx51_init_early,
 +      .map_io         = omap3_map_io,
 +      .init_early     = omap3430_init_early,
        .init_irq       = omap3_init_irq,
        .init_machine   = rx51_init,
        .timer          = &omap3_timer,
 
  
  MACHINE_START(TI8168EVM, "ti8168evm")
        /* Maintainer: Texas Instruments */
-       .boot_params    = 0x80000100,
+       .atag_offset    = 0x100,
        .map_io         = ti8168_evm_map_io,
 -      .init_early     = ti8168_init_early,
 +      .init_early     = ti816x_init_early,
        .init_irq       = ti816x_init_irq,
        .timer          = &omap3_timer,
        .init_machine   = ti8168_evm_init,
 
  }
  
  MACHINE_START(OMAP_ZOOM2, "OMAP Zoom2 board")
-       .boot_params    = 0x80000100,
+       .atag_offset    = 0x100,
        .reserve        = omap_reserve,
        .map_io         = omap3_map_io,
 -      .init_early     = omap_zoom_init_early,
 +      .init_early     = omap3430_init_early,
        .init_irq       = omap3_init_irq,
        .init_machine   = omap_zoom_init,
        .timer          = &omap3_timer,
  MACHINE_END
  
  MACHINE_START(OMAP_ZOOM3, "OMAP Zoom3 board")
-       .boot_params    = 0x80000100,
+       .atag_offset    = 0x100,
        .reserve        = omap_reserve,
        .map_io         = omap3_map_io,
 -      .init_early     = omap_zoom_init_early,
 +      .init_early     = omap3630_init_early,
        .init_irq       = omap3_init_irq,
        .init_machine   = omap_zoom_init,
        .timer          = &omap3_timer,
 
  /* See irq.c, omap4-common.c and entry-macro.S */
  void __iomem *omap_irq_base;
  
 -void __init omap2_init_common_infrastructure(void)
 +static void __init omap_common_init_early(void)
  {
 -      u8 postsetup_state;
 +      omap2_check_revision();
 +      omap_ioremap_init();
++      omap_init_consistent_dma_size();
 +}
  
 -      if (cpu_is_omap242x()) {
 -              omap2xxx_powerdomains_init();
 -              omap2xxx_clockdomains_init();
 -              omap2420_hwmod_init();
 -      } else if (cpu_is_omap243x()) {
 -              omap2xxx_powerdomains_init();
 -              omap2xxx_clockdomains_init();
 -              omap2430_hwmod_init();
 -      } else if (cpu_is_omap34xx()) {
 -              omap3xxx_powerdomains_init();
 -              omap3xxx_clockdomains_init();
 -              omap3xxx_hwmod_init();
 -      } else if (cpu_is_omap44xx()) {
 -              omap44xx_powerdomains_init();
 -              omap44xx_clockdomains_init();
 -              omap44xx_hwmod_init();
 -      } else {
 -              pr_err("Could not init hwmod data - unknown SoC\n");
 -        }
 +static void __init omap_hwmod_init_postsetup(void)
 +{
 +      u8 postsetup_state;
  
        /* Set the default postsetup state for all hwmods */
  #ifdef CONFIG_PM_RUNTIME
 
  }
  EXPORT_SYMBOL(omap_iounmap);
  
+ void __init omap_init_consistent_dma_size(void)
+ {
+ #ifdef CONFIG_FB_OMAP_CONSISTENT_DMA_SIZE
+       init_consistent_dma_size(CONFIG_FB_OMAP_CONSISTENT_DMA_SIZE << 20);
+ #endif
+ }
++
 +void __init omap_ioremap_init(void)
 +{
 +      initialized++;
 +}