|
@@ -115,12 +115,16 @@ static void uniphier_serial_out(struct uart_port *p, int offset, int value)
|
|
|
*/
|
|
|
static int uniphier_serial_dl_read(struct uart_8250_port *up)
|
|
|
{
|
|
|
- return readl(up->port.membase + UNIPHIER_UART_DLR);
|
|
|
+ int offset = UNIPHIER_UART_DLR << up->port.regshift;
|
|
|
+
|
|
|
+ return readl(up->port.membase + offset);
|
|
|
}
|
|
|
|
|
|
static void uniphier_serial_dl_write(struct uart_8250_port *up, int value)
|
|
|
{
|
|
|
- writel(value, up->port.membase + UNIPHIER_UART_DLR);
|
|
|
+ int offset = UNIPHIER_UART_DLR << up->port.regshift;
|
|
|
+
|
|
|
+ writel(value, up->port.membase + offset);
|
|
|
}
|
|
|
|
|
|
static int uniphier_of_serial_setup(struct device *dev, struct uart_port *port,
|