diff --git a/drivers/tty/serial/imx.c b/drivers/tty/serial/imx.c
index 89479e905832f7d36d3b6f1bc2682378e34c2196..2e58f19d52d4f5f58d9f0181fc7be3193534ba2d 100644
--- a/drivers/tty/serial/imx.c
+++ b/drivers/tty/serial/imx.c
@@ -2340,11 +2340,11 @@ static int imx_uart_probe(struct platform_device *pdev)
 	}
 
 	/* initialize shadow register values */
-	sport->ucr1 = imx_uart_readl(sport, UCR1);
-	sport->ucr2 = imx_uart_readl(sport, UCR2);
-	sport->ucr3 = imx_uart_readl(sport, UCR3);
-	sport->ucr4 = imx_uart_readl(sport, UCR4);
-	sport->ufcr = imx_uart_readl(sport, UFCR);
+	sport->ucr1 = readl(sport->port.membase + UCR1);
+	sport->ucr2 = readl(sport->port.membase + UCR2);
+	sport->ucr3 = readl(sport->port.membase + UCR3);
+	sport->ucr4 = readl(sport->port.membase + UCR4);
+	sport->ufcr = readl(sport->port.membase + UFCR);
 
 	uart_get_rs485_mode(&pdev->dev, &sport->port.rs485);