_REGISTER_CLOCK("duart", "apb_pclk", xbus_clk)
        /* for amba-pl011 driver */
        _REGISTER_CLOCK("duart", NULL, uart_clk)
+       _REGISTER_CLOCK("mxs-auart.0", NULL, uart_clk)
        _REGISTER_CLOCK("rtc", NULL, rtc_clk)
        _REGISTER_CLOCK(NULL, "hclk", hbus_clk)
        _REGISTER_CLOCK(NULL, "usb", usb_clk)
 
 extern const struct amba_device mx23_duart_device __initconst;
 #define mx23_add_duart() \
        mxs_add_duart(&mx23_duart_device)
+
+extern const struct mxs_auart_data mx23_auart_data[] __initconst;
+#define mx23_add_auart(id)     mxs_add_auart(&mx23_auart_data[id])
+#define mx23_add_auart0()              mx23_add_auart(0)
+#define mx23_add_auart1()              mx23_add_auart(1)
 
  * Free Software Foundation.
  */
 #include <asm/sizes.h>
+#include <mach/mx23.h>
 #include <mach/mx28.h>
 #include <mach/devices-common.h>
 
-#define mxs_auart_data_entry_single(soc, _id)                          \
+#define mxs_auart_data_entry_single(soc, _id, hwid)                    \
        {                                                               \
                .id = _id,                                              \
-               .iobase = soc ## _AUART ## _id ## _BASE_ADDR,           \
-               .irq = soc ## _INT_AUART ## _id,                        \
+               .iobase = soc ## _AUART ## hwid ## _BASE_ADDR,          \
+               .irq = soc ## _INT_AUART ## hwid,                       \
        }
 
-#define mxs_auart_data_entry(soc, _id)                                 \
-       [_id] = mxs_auart_data_entry_single(soc, _id)
+#define mxs_auart_data_entry(soc, _id, hwid)                           \
+       [_id] = mxs_auart_data_entry_single(soc, _id, hwid)
+
+#ifdef CONFIG_SOC_IMX23
+const struct mxs_auart_data mx23_auart_data[] __initconst = {
+#define mx23_auart_data_entry(_id, hwid)                               \
+       mxs_auart_data_entry(MX23, _id, hwid)
+       mx23_auart_data_entry(0, 1),
+       mx23_auart_data_entry(1, 2),
+};
+#endif
 
 #ifdef CONFIG_SOC_IMX28
 const struct mxs_auart_data mx28_auart_data[] __initconst = {
 #define mx28_auart_data_entry(_id)                                     \
-       mxs_auart_data_entry(MX28, _id)
+       mxs_auart_data_entry(MX28, _id, _id)
        mx28_auart_data_entry(0),
        mx28_auart_data_entry(1),
        mx28_auart_data_entry(2),