#endif
 }
 
+void mpc512x_serial_initialize(void)
+{
+#if defined(CONFIG_SYS_PSC1)
+       serial_register(&serial1_device);
+#endif
+#if defined(CONFIG_SYS_PSC3)
+       serial_register(&serial3_device);
+#endif
+#if defined(CONFIG_SYS_PSC4)
+       serial_register(&serial4_device);
+#endif
+#if defined(CONFIG_SYS_PSC6)
+       serial_register(&serial6_device);
+#endif
+}
+
 #else
 
 void serial_setbrg(void)
 
 serial_initfunc(s3c24xx_serial_initialize);
 serial_initfunc(s5p_serial_initialize);
 serial_initfunc(zynq_serial_initalize);
+serial_initfunc(mpc512x_serial_initialize);
 serial_initfunc(uartlite_serial_initialize);
 
 void serial_register(struct serial_device *dev)
        pxa_serial_initialize();
        s3c24xx_serial_initialize();
        s5p_serial_initialize();
-#if defined(CONFIG_MPC512X)
-#if defined(CONFIG_SYS_PSC1)
-       serial_register(&serial1_device);
-#endif
-#if defined(CONFIG_SYS_PSC3)
-       serial_register(&serial3_device);
-#endif
-#if defined(CONFIG_SYS_PSC4)
-       serial_register(&serial4_device);
-#endif
-#if defined(CONFIG_SYS_PSC6)
-       serial_register(&serial6_device);
-#endif
-#endif
+       mpc512x_serial_initialize();
 #if defined(CONFIG_SYS_BFIN_UART)
        serial_register_bfin_uart();
 #endif
 
 
 #endif
 
-#if defined(CONFIG_MPC512X)
-extern struct serial_device serial1_device;
-extern struct serial_device serial3_device;
-extern struct serial_device serial4_device;
-extern struct serial_device serial6_device;
-#endif
-
 #if defined(CONFIG_OMAP3_ZOOM2)
 extern struct serial_device zoom2_serial_device0;
 extern struct serial_device zoom2_serial_device1;