b94389c0e755e8628999e41fe49edc2235674a9e
[openwrt/openwrt.git] / target / linux / layerscape / patches-5.4 / 819-uart-0013-LF-484-tty-serial-lpuart-support-UPIO_MEM32-for-lpua.patch
1 From 1b00d871c9aaa05583b50abb5ba7dfb4ed8bc4f1 Mon Sep 17 00:00:00 2001
2 From: Peng Fan <peng.fan@nxp.com>
3 Date: Mon, 16 Dec 2019 15:53:00 +0800
4 Subject: [PATCH] LF-484 tty: serial: lpuart: support UPIO_MEM32 for lpuart32
5
6 "earlycon" no need to specify the value string since it uses
7 stdout-path parameters. However when earlycon and normal console
8 are not using the same uart port, we need specify value string
9 to earlycon, this is what we need to do when support dual linux
10 using jailhouse hypervisor. The 2nd linux will use the uart
11 of the 1st linux as earlycon.
12
13 earlycon=lpuart32,mmio32,0x5a060010,115200 not work for i.MX8QXP.
14 It is because lpuart32_early_console_setup not support little endian.
15
16 Since the original code is to support UPIO_MEM32BE, so if not
17 UPIO_MEM32, we still take it as UPIO_MEM32BE
18
19 Acked-by: Fugang Duan <fugang.duan@nxp.com>
20 Signed-off-by: Peng Fan <peng.fan@nxp.com>
21 ---
22 drivers/tty/serial/fsl_lpuart.c | 4 +++-
23 1 file changed, 3 insertions(+), 1 deletion(-)
24
25 --- a/drivers/tty/serial/fsl_lpuart.c
26 +++ b/drivers/tty/serial/fsl_lpuart.c
27 @@ -2600,7 +2600,9 @@ static int __init lpuart32_early_console
28 if (!device->port.membase)
29 return -ENODEV;
30
31 - device->port.iotype = UPIO_MEM32BE;
32 + if (device->port.iotype != UPIO_MEM32)
33 + device->port.iotype = UPIO_MEM32BE;
34 +
35 device->con->write = lpuart32_early_write;
36 return 0;
37 }