[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

RE: [PATCH 2/3] xen/arm: Add i.MX lpuart early printk support


  • To: Julien Grall <julien@xxxxxxx>, "Peng Fan (OSS)" <peng.fan@xxxxxxxxxxx>, "sstabellini@xxxxxxxxxx" <sstabellini@xxxxxxxxxx>, "Volodymyr_Babchuk@xxxxxxxx" <Volodymyr_Babchuk@xxxxxxxx>, "bertrand.marquis@xxxxxxx" <bertrand.marquis@xxxxxxx>
  • From: Peng Fan <peng.fan@xxxxxxx>
  • Date: Fri, 18 Mar 2022 05:26:21 +0000
  • Accept-language: en-US
  • Arc-authentication-results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nxp.com; dmarc=pass action=none header.from=nxp.com; dkim=pass header.d=nxp.com; arc=none
  • Arc-message-signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=Kx+KuOYNUIKuRplMmz9kT/yyMjJRjAmjPFeeJFGqcME=; b=Dm8578rl0B9M88bSWvJHLlitjowCGKJMzd7fVv1Bx57ONXB0s5hsLWbs/bKFzyo/gPCw3zQvP2I2QMTnUmXMDTeBL4LiQp6Wv3Zmmr5QSjgjlH/T9Ayo0r9oYk++/uKpzV2DOoFK5HiZEfPvizUmsbYuuNcT17pqk/1WFaehhZOHHb7BFpeCOlX561cTPR7BtYGrEURIL5Amz36l9eamrO6y1uasZvDZchnPluFNTzLmLDlFIbrtplMRboKG+IhfhX2GgHmY9djh3ZGAG4zewS6UCchB2uMA9viaHRKg+/UhNz9oVLiUw1BshfIUct0Guz2vpHGutTNDPLpwbhXxAg==
  • Arc-seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Z9QUQJ+3h2xvBrck/kvpg95L7bffnQh6oxIoMD46lAQCXYu+zN1Kxjvh6E6bWs8FK6lrMT3sSgetg3hwBUxWEIeimXSIWGtbYmy8qVdoCfQsTawyPQmhYI+FhSk+403cFzqGADou3g6bhx6iOscb5+OZiECUEWmgqV/myX+tjJPk8vPar3Fs3XkDrRE0MmIPb6iM5ugYUu4QHKmwh7HA4JjCxNa6JkLdU9rKF4T3v5ysKioFoYbNm4WgOJKJo40tut+iWUKfJHRWYkj1GO+JbKiP+dPvA9CEyGz2Z58MYF63cCnKNAD2w32sXVkFuh37lC0CyGXKhjkRHFM7sAIDcA==
  • Authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=nxp.com;
  • Cc: "andrew.cooper3@xxxxxxxxxx" <andrew.cooper3@xxxxxxxxxx>, "george.dunlap@xxxxxxxxxx" <george.dunlap@xxxxxxxxxx>, "jbeulich@xxxxxxxx" <jbeulich@xxxxxxxx>, "wl@xxxxxxx" <wl@xxxxxxx>, "xen-devel@xxxxxxxxxxxxxxxxxxxx" <xen-devel@xxxxxxxxxxxxxxxxxxxx>, "van.freenix@xxxxxxxxx" <van.freenix@xxxxxxxxx>
  • Delivery-date: Fri, 18 Mar 2022 05:26:26 +0000
  • List-id: Xen developer discussion <xen-devel.lists.xenproject.org>
  • Thread-index: AQHYLDnzvahR7/4GlkqRjPvyQqaC7KyosZiAgBwG+qA=
  • Thread-topic: [PATCH 2/3] xen/arm: Add i.MX lpuart early printk support

> Subject: Re: [PATCH 2/3] xen/arm: Add i.MX lpuart early printk support
> 
> Hi Peng,
> 
> On 28/02/2022 01:07, Peng Fan (OSS) wrote:
> > From: Peng Fan <peng.fan@xxxxxxx>
> >
> > Signed-off-by: Peng Fan <peng.fan@xxxxxxx>
> > ---
> >   xen/arch/arm/Kconfig.debug              | 18 ++++++++++
> >   xen/arch/arm/arm64/debug-imx-lpuart.inc | 48
> +++++++++++++++++++++++++
> >   2 files changed, 66 insertions(+)
> >   create mode 100644 xen/arch/arm/arm64/debug-imx-lpuart.inc
> >
> > diff --git a/xen/arch/arm/Kconfig.debug b/xen/arch/arm/Kconfig.debug
> > index 35ccd13273..9ecb446b3a 100644
> > --- a/xen/arch/arm/Kconfig.debug
> > +++ b/xen/arch/arm/Kconfig.debug
> > @@ -55,6 +55,20 @@ choice
> >                     selecting one of the platform specific options below if
> >                     you know the parameters for the port.
> >
> > +                   This option is preferred over the platform specific
> > +                   options; the platform specific options are deprecated
> > +                   and will soon be removed.
> > +   config EARLY_UART_CHOICE_IMX_LPUART
> > +           select EARLY_UART_IMX_LPUART
> > +           depends on ARM_64
> > +           bool "Early printk via i.MX LPUART"
> > +           help
> > +                   Say Y here if you wish the early printk to direct their
> > +                   output to a i.MX LPUART. You can use this option to
> > +                   provide the parameters for the i.MX LPUART rather than
> > +                   selecting one of the platform specific options below if
> > +                   you know the parameters for the port.
> 
> Plaform specific early printk are deprecated. So I would rather prefer we are
> not introducing new one. Can you adjust the description to remove any
> mention of platform specific options?

Sure, fix in v2.

> 
> > +
> >                     This option is preferred over the platform specific
> >                     options; the platform specific options are deprecated
> >                     and will soon be removed.
> > @@ -186,6 +200,9 @@ config EARLY_UART_CADENCE
> >   config EARLY_UART_EXYNOS4210
> >     select EARLY_PRINTK
> >     bool
> > +config EARLY_UART_IMX_LPUART
> > +   select EARLY_PRINTK
> > +   bool
> >   config EARLY_UART_MESON
> >     select EARLY_PRINTK
> >     bool
> > @@ -283,6 +300,7 @@ config EARLY_PRINTK_INC
> >     default "debug-8250.inc" if EARLY_UART_8250
> >     default "debug-cadence.inc" if EARLY_UART_CADENCE
> >     default "debug-exynos4210.inc" if EARLY_UART_EXYNOS4210
> > +   default "debug-imx-lpuart.inc" if EARLY_UART_IMX_LPUART
> >     default "debug-meson.inc" if EARLY_UART_MESON
> >     default "debug-mvebu.inc" if EARLY_UART_MVEBU
> >     default "debug-pl011.inc" if EARLY_UART_PL011 diff --git
> > a/xen/arch/arm/arm64/debug-imx-lpuart.inc
> > b/xen/arch/arm/arm64/debug-imx-lpuart.inc
> > new file mode 100644
> > index 0000000000..7510210d46
> > --- /dev/null
> > +++ b/xen/arch/arm/arm64/debug-imx-lpuart.inc
> > @@ -0,0 +1,48 @@
> > +/*
> > + * xen/arch/arm/arm64/debug-imx8qm.inc
> > + *
> > + * i.MX8QM specific debug code
> > + *
> > + * Peng Fan <peng.fan@xxxxxxx>
> > + * Copyright (C) 2016 Freescale Inc.
> > + *
> > + * This program is free software; you can redistribute it and/or
> > +modify
> > + * it under the terms of the GNU General Public License as published
> > +by
> > + * the Free Software Foundation; either version 2 of the License, or
> > + * (at your option) any later version.
> > + *
> > + * This program is distributed in the hope that it will be useful,
> > + * but WITHOUT ANY WARRANTY; without even the implied warranty of
> > + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
> > + * GNU General Public License for more details.
> > + */
> > +
> > +#include <xen/imx-lpuart.h>
> > +
> > +.macro early_uart_init wb wc wd
> > +/* Already initialized in bootloader */ .endm
> 
> NIT: I would add a newline to separate with this macro from next one.

Fix in v2.

> 
> > +/* i.MX8QM wait LPUART to be ready to transmit
> > + * rb: register which contains the UART base address
> > + * rc: scratch register
> > + */
> 
> The coding style for multi-lines comment is:

Fix in v2. Thanks.

> 
> /*
>   * Foo
>   * Bar
>   */
> 
> > +.macro early_uart_ready xb, c
> > +1:
> > +        ldr   w\c, [\xb, #UARTSTAT]   /* <- Flag register */
> > +        tst   w\c, #UARTSTAT_TDRE     /* Check FIFO EMPTY bit */
> > +        beq   1b                      /* Wait for the UART to be
> ready */
> > +.endm
> > +
> > +/* i.MX8QM LPUART transmit character
> > + * rb: register which contains the UART base address
> > + * rt: register which contains the character to transmit */
> 
> Coding style:

Fix in V2.

Thanks,
Peng.
> 
> /*
>   * Foo
>   * Bar
>   */
> 
> > +.macro early_uart_transmit xb, wt
> > +        str   \wt, [\xb, #UARTDATA]  /* -> Data Register */
> > +.endm
> > +
> > +/*
> > + * Local variables:
> > + * mode: ASM
> > + * indent-tabs-mode: nil
> > + * End:
> > + */
> 
> Cheers,
> 
> --
> Julien Grall


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.