Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
Cc: Sascha Hauer <kernel@pengutronix.de>
Cc: Russell King <linux@arm.linux.org.uk>
Cc: Holger Schurig <hs4233@mail.mn-solutions.de>
Cc: Rabin Vincent <rabin@rab.in>
Cc: Agustín Ferrín Pozuelo <gatoguan-os@yahoo.com>
 #include <asm/clkdev.h>
 #include <asm/div64.h>
 
-#define IO_ADDR_CCM(off)       (IO_ADDRESS(MX21_CCM_BASE_ADDR) + (off))
+#define IO_ADDR_CCM(off)       (MX21_IO_ADDRESS(MX21_CCM_BASE_ADDR) + (off))
 
 /* Register offsets */
 #define CCM_CSCR               IO_ADDR_CCM(0x0)
        clk_enable(&uart_clk[0]);
 #endif
 
-       mxc_timer_init(&gpt_clk[0], IO_ADDRESS(MX21_GPT1_BASE_ADDR),
+       mxc_timer_init(&gpt_clk[0], MX21_IO_ADDRESS(MX21_GPT1_BASE_ADDR),
                        MX21_INT_GPT1);
        return 0;
 }
 
 
 #define MX21_IRAM_BASE_ADDR            0xffffe800      /* internal ram */
 
+#define MX21_IO_ADDRESS(x) (                                           \
+       IMX_IO_ADDRESS(x, MX21_AIPI) ?:                                 \
+       IMX_IO_ADDRESS(x, MX21_SAHB1) ?:                                \
+       IMX_IO_ADDRESS(x, MX21_X_MEMC))
+
 /* fixed interrupt numbers */
 #define MX21_INT_CSPI3         6
 #define MX21_INT_GPIO          8