};
 
 MACHINE_START(MAGX_ZN5, "Motorola Zn5")
-       .boot_params    = MXC91231_PHYS_OFFSET + 0x100,
-       .map_io         = mxc91231_map_io,
-       .init_irq       = mxc91231_init_irq,
-       .timer          = &zn5_timer,
-       .init_machine   = zn5_init,
+       .boot_params = MXC91231_PHYS_OFFSET + 0x100,
+       .map_io = mxc91231_map_io,
+       .init_early = mxc91231_init_early,
+       .init_irq = mxc91231_init_irq,
+       .timer = &zn5_timer,
+       .init_machine = zn5_init,
 MACHINE_END
 
  */
 void __init mxc91231_map_io(void)
 {
-       mxc_set_cpu_type(MXC_CPU_MXC91231);
-
        iotable_init(mxc91231_io_desc, ARRAY_SIZE(mxc91231_io_desc));
 }
 
+void __init mxc91231_init_early(void)
+{
+       mxc_set_cpu_type(MXC_CPU_MXC91231);
+}
+
 int mxc91231_register_gpios(void);
 
 void __init mxc91231_init_irq(void)
 
 extern void imx50_init_early(void);
 extern void imx51_init_early(void);
 extern void imx53_init_early(void);
+extern void mxc91231_init_early(void);
 extern void mxc_init_irq(void __iomem *);
 extern void tzic_init_irq(void __iomem *);
 extern void mx1_init_irq(void);