From: Peng Fan <peng.fan@nxp.com> EARLYCON_DECLARE could be dropped, since OF_EARLYCON_DECLARE does same. i.MX8QXP is compatible with i.MX7ULP, no need an extra entry. when we could not use stdout-path for earlycon for i.MX8QXP, we need pass mmio32 to earlycon, so update code to support the iotype. Peng Fan (3): tty: serial: fsl_lpuart: drop EARLYCON_DECLARE tty: serial: fsl_lpuart: support UPIO_MEM32 for lpuart32 tty: serial: fsl_lpuart: drop earlycon entry for i.MX8QXP drivers/tty/serial/fsl_lpuart.c | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) -- 2.16.4
From: Peng Fan <peng.fan@nxp.com> EARLYCON_DECLARE is just a wrapper of OF_EARLYCON_DECLARE, since we already have OF_EARLYCON_DECLARE for lpuart and lpuart32, so no need EARLYCON_DECLARE. Signed-off-by: Peng Fan <peng.fan@nxp.com> --- drivers/tty/serial/fsl_lpuart.c | 2 -- 1 file changed, 2 deletions(-) diff --git a/drivers/tty/serial/fsl_lpuart.c b/drivers/tty/serial/fsl_lpuart.c index 4e128d19e0ad..54c7735406f8 100644 --- a/drivers/tty/serial/fsl_lpuart.c +++ b/drivers/tty/serial/fsl_lpuart.c @@ -2397,8 +2397,6 @@ 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); OF_EARLYCON_DECLARE(lpuart32, "fsl,imx8qxp-lpuart", lpuart32_imx_early_console_setup); -EARLYCON_DECLARE(lpuart, lpuart_early_console_setup); -EARLYCON_DECLARE(lpuart32, lpuart32_early_console_setup); #define LPUART_CONSOLE (&lpuart_console) #define LPUART32_CONSOLE (&lpuart32_console) -- 2.16.4
From: Peng Fan <peng.fan@nxp.com> "earlycon" no need to specify the value string since it uses stdout-path parameters. However when earlycon and normal console are not using the same uart port, we need specify value string to earlycon, this is what we need to do when support dual linux using jailhouse hypervisor. The 2nd linux will use the uart of the 1st linux as earlycon. earlycon=lpuart32,mmio32,0x5a060010,115200 not work for i.MX8QXP. It is because lpuart32_early_console_setup not support little endian. Since the original code is to support UPIO_MEM32BE, so if not UPIO_MEM32, we still take it as UPIO_MEM32BE Acked-by: Fugang Duan <fugang.duan@nxp.com> Signed-off-by: Peng Fan <peng.fan@nxp.com> --- drivers/tty/serial/fsl_lpuart.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/drivers/tty/serial/fsl_lpuart.c b/drivers/tty/serial/fsl_lpuart.c index 54c7735406f8..6ad0af073e62 100644 --- a/drivers/tty/serial/fsl_lpuart.c +++ b/drivers/tty/serial/fsl_lpuart.c @@ -2376,7 +2376,9 @@ static int __init lpuart32_early_console_setup(struct earlycon_device *device, if (!device->port.membase) return -ENODEV; - device->port.iotype = UPIO_MEM32BE; + if (device->port.iotype != UPIO_MEM32) + device->port.iotype = UPIO_MEM32BE; + device->con->write = lpuart32_early_write; return 0; } -- 2.16.4
From: Peng Fan <peng.fan@nxp.com> "earlycon" no need to specify the value string since it uses stdout-path parameters. However when earlycon and normal console are not using the same uart port, we need specify value string to earlycon, this is what we need to do when support dual linux using jailhouse hypervisor. The 2nd linux will use the uart of the 1st linux as earlycon. earlycon=lpuart32,mmio32,0x5a060010,115200 not work for i.MX8QXP. It is because lpuart32_early_console_setup not support little endian. Since the original code is to support UPIO_MEM32BE, so if not UPIO_MEM32, we still take it as UPIO_MEM32BE Acked-by: Fugang Duan <fugang.duan@nxp.com> Signed-off-by: Peng Fan <peng.fan@nxp.com> --- drivers/tty/serial/fsl_lpuart.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/drivers/tty/serial/fsl_lpuart.c b/drivers/tty/serial/fsl_lpuart.c index 54c7735406f8..6ad0af073e62 100644 --- a/drivers/tty/serial/fsl_lpuart.c +++ b/drivers/tty/serial/fsl_lpuart.c @@ -2376,7 +2376,9 @@ static int __init lpuart32_early_console_setup(struct earlycon_device *device, if (!device->port.membase) return -ENODEV; - device->port.iotype = UPIO_MEM32BE; + if (device->port.iotype != UPIO_MEM32) + device->port.iotype = UPIO_MEM32BE; + device->con->write = lpuart32_early_write; return 0; } -- 2.16.4
From: Peng Fan <peng.fan@nxp.com> i.MX8QXP lpuart is compatible with i.MX7ULP, so no need an extra entry for i.MX8QXP. Signed-off-by: Peng Fan <peng.fan@nxp.com> --- drivers/tty/serial/fsl_lpuart.c | 1 - 1 file changed, 1 deletion(-) diff --git a/drivers/tty/serial/fsl_lpuart.c b/drivers/tty/serial/fsl_lpuart.c index 6ad0af073e62..00cf72e9e9e8 100644 --- a/drivers/tty/serial/fsl_lpuart.c +++ b/drivers/tty/serial/fsl_lpuart.c @@ -2398,7 +2398,6 @@ static int __init lpuart32_imx_early_console_setup(struct earlycon_device *devic 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); -OF_EARLYCON_DECLARE(lpuart32, "fsl,imx8qxp-lpuart", lpuart32_imx_early_console_setup); #define LPUART_CONSOLE (&lpuart_console) #define LPUART32_CONSOLE (&lpuart32_console) -- 2.16.4
Hi Greg, > Subject: [PATCH 2/3] tty: serial: lpuart: support UPIO_MEM32 for lpuart32 This patch was sent out wrongly. Not affect the other three patches which belongs the whole patch set described in cover-letter. Should I sent out v2? Or you are fine if the other 3 patches are ok? Thanks, Peng. > > From: Peng Fan <peng.fan@nxp.com> > > "earlycon" no need to specify the value string since it uses stdout-path > parameters. However when earlycon and normal console are not using the > same uart port, we need specify value string to earlycon, this is what we need > to do when support dual linux using jailhouse hypervisor. The 2nd linux will > use the uart of the 1st linux as earlycon. > > earlycon=lpuart32,mmio32,0x5a060010,115200 not work for i.MX8QXP. > It is because lpuart32_early_console_setup not support little endian. > > Since the original code is to support UPIO_MEM32BE, so if not UPIO_MEM32, > we still take it as UPIO_MEM32BE > > Acked-by: Fugang Duan <fugang.duan@nxp.com> > Signed-off-by: Peng Fan <peng.fan@nxp.com> > --- > drivers/tty/serial/fsl_lpuart.c | 4 +++- > 1 file changed, 3 insertions(+), 1 deletion(-) > > diff --git a/drivers/tty/serial/fsl_lpuart.c b/drivers/tty/serial/fsl_lpuart.c index > 54c7735406f8..6ad0af073e62 100644 > --- a/drivers/tty/serial/fsl_lpuart.c > +++ b/drivers/tty/serial/fsl_lpuart.c > @@ -2376,7 +2376,9 @@ static int __init > lpuart32_early_console_setup(struct earlycon_device *device, > if (!device->port.membase) > return -ENODEV; > > - device->port.iotype = UPIO_MEM32BE; > + if (device->port.iotype != UPIO_MEM32) > + device->port.iotype = UPIO_MEM32BE; > + > device->con->write = lpuart32_early_write; > return 0; > } > -- > 2.16.4
On Wed, Dec 18, 2019 at 12:26:09PM +0000, Peng Fan wrote:
> Hi Greg,
>
> > Subject: [PATCH 2/3] tty: serial: lpuart: support UPIO_MEM32 for lpuart32
>
> This patch was sent out wrongly. Not affect the other three patches which
> belongs the whole patch set described in cover-letter.
>
> Should I sent out v2? Or you are fine if the other 3 patches are ok?
Please send out a whole new v2 series.
thanks,
greg k-h