[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <1497281848-12995-7-git-send-email-aisheng.dong@nxp.com>
Date: Mon, 12 Jun 2017 23:37:27 +0800
From: Dong Aisheng <aisheng.dong@....com>
To: <linux-serial@...r.kernel.org>
CC: <linux-kernel@...r.kernel.org>,
<linux-arm-kernel@...ts.infradead.org>,
<gregkh@...uxfoundation.org>, <jslaby@...e.com>,
<fugang.duan@....com>, <stefan@...er.ch>, <Mingkai.Hu@....com>,
<yangbo.lu@....com>, <nikita.yoush@...entembedded.com>,
<andy.shevchenko@...il.com>, <dongas86@...il.com>,
Dong Aisheng <aisheng.dong@....com>
Subject: [PATCH V3 6/7] tty: serial: lpuart: add earlycon support for imx7ulp
earlycon is executed quite early before the device tree probe,
so we need correctly initialize the port membase and iotype for
imx7ulp during early console setup before using.
Cc: Greg Kroah-Hartman <gregkh@...uxfoundation.org>
Cc: Jiri Slaby <jslaby@...e.com>
Cc: Stefan Agner <stefan@...er.ch>
Cc: Mingkai Hu <Mingkai.Hu@....com>
Cc: Yangbo Lu <yangbo.lu@....com>
Acked-by: Fugang Duan <fugang.duan@....com>
Signed-off-by: Dong Aisheng <aisheng.dong@....com>
---
Change Log:
v2->v3:
* use standard port->iotype to represent endians
v1->v2:
* updated due to lpuart_reg_off removed
---
drivers/tty/serial/fsl_lpuart.c | 13 +++++++++++++
1 file changed, 13 insertions(+)
diff --git a/drivers/tty/serial/fsl_lpuart.c b/drivers/tty/serial/fsl_lpuart.c
index 9d05e53..6a725cb 100644
--- a/drivers/tty/serial/fsl_lpuart.c
+++ b/drivers/tty/serial/fsl_lpuart.c
@@ -1982,8 +1982,21 @@ static int __init lpuart32_early_console_setup(struct earlycon_device *device,
return 0;
}
+static int __init lpuart32_imx_early_console_setup(struct earlycon_device *device,
+ const char *opt)
+{
+ if (!device->port.membase)
+ return -ENODEV;
+
+ device->port.iotype = UPIO_MEM32;
+ device->port.membase += IMX_REG_OFF;
+ device->con->write = lpuart32_early_write;
+
+ return 0;
+}
OF_EARLYCON_DECLARE(lpuart, "fsl,vf610-lpuart", lpuart_early_console_setup);
OF_EARLYCON_DECLARE(lpuart32, "fsl,ls1021a-lpuart", lpuart32_early_console_setup);
+OF_EARLYCON_DECLARE(lpuart32, "fsl,imx7ulp-lpuart", lpuart32_imx_early_console_setup);
EARLYCON_DECLARE(lpuart, lpuart_early_console_setup);
EARLYCON_DECLARE(lpuart32, lpuart32_early_console_setup);
--
2.7.4
Powered by blists - more mailing lists