diff options
author | Dong Aisheng <[email protected]> | 2017-06-13 10:55:53 +0800 |
---|---|---|
committer | Greg Kroah-Hartman <[email protected]> | 2017-06-29 17:12:34 +0200 |
commit | 97d6f353dafa42281dc70a67006c9e40d395796a (patch) | |
tree | 426b431b368e24f805fcbd3af7e999c20505cbef | |
parent | 24b1e5f0e83c2aced8096473d20c4cf6c1355f30 (diff) |
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 <[email protected]>
Cc: Jiri Slaby <[email protected]>
Cc: Stefan Agner <[email protected]>
Cc: Mingkai Hu <[email protected]>
Cc: Yangbo Lu <[email protected]>
Acked-by: Fugang Duan <[email protected]>
Signed-off-by: Dong Aisheng <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>
-rw-r--r-- | drivers/tty/serial/fsl_lpuart.c | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/drivers/tty/serial/fsl_lpuart.c b/drivers/tty/serial/fsl_lpuart.c index 94863333f48b..a0f2666d30cf 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); |