[U-Boot] [PATCH] env: ti: boot: Use ttyS2 instead of ttyO2

Sam Protsenko semen.protsenko at linaro.org
Tue Jul 16 13:15:08 UTC 2019


Hi Andrew,

On Mon, Jul 15, 2019 at 10:15 PM Andrew F. Davis <afd at ti.com> wrote:
>
> On 7/12/19 1:38 PM, Sam Protsenko wrote:
> > ttyO2 console enables legacy CONFIG_SERIAL_OMAP driver in kernel.
> > Nowadays it's preferred to use the generic CONFIG_SERIAL_8250_OMAP
> > driver, which being enabled via ttyS2 console. Both drivers are enabled
> > in multi_v7_defconfig and in omap2plus_defconfig, for compatibility
> > reasons. Let's switch to ttyS2 console, to be sure that standard 8250
> > serial driver is used.
> >
> > Similar behavior can be also achieved by enabling
> > CONFIG_SERIAL_8250_OMAP_TTYO_FIXUP option in kernel, but it's better not
> > to rely on that, as it can be disabled or removed after transitional
> > period.
> >
> > Right now on DRA7/AM57x platforms the 8250-omap driver is being probed
> > first, and omap-serial driver is only probed if the first one failed.
> > It can be seen from uart3 definition in arch/arm/boot/dts/dra7-l4.dtsi:
> >
> >     compatible = "ti,dra742-uart", "ti,omap4-uart";
> >
> > So the kernel already uses 8250 driver. This change basically allows
> > kernel developers to throw away the omap-serial driver and associated
> > compatibility options. Similar discussions [1,2] have started several
> > years ago, so it should be safe to do that now.
> >
> > [1] https://patchwork.kernel.org/patch/6198471/
> > [2] http://processors.wiki.ti.com/index.php/Sitara_Linux_UART_-_Switching_to_8250_Driver
> >
> > Signed-off-by: Sam Protsenko <semen.protsenko at linaro.org>
> > ---
> > Changes in v2:
> >   - use ttyS also in AM57x EVM and in DRA7xx EVM configs
> >
> >  include/configs/am57xx_evm.h  | 2 +-
> >  include/configs/dra7xx_evm.h  | 4 ++--
> >  include/environment/ti/boot.h | 2 +-
> >  3 files changed, 4 insertions(+), 4 deletions(-)
> >
> > diff --git a/include/configs/am57xx_evm.h b/include/configs/am57xx_evm.h
> > index 45fd21878c..e181b30564 100644
> > --- a/include/configs/am57xx_evm.h
> > +++ b/include/configs/am57xx_evm.h
> > @@ -24,7 +24,7 @@
> >
> >  #define CONFIG_SYS_BOOTM_LEN         SZ_64M
> >
> > -#define CONSOLEDEV                   "ttyO2"
> > +#define CONSOLEDEV                   "ttyS2"
> >  #define CONFIG_SYS_NS16550_COM1              UART1_BASE      /* Base EVM has UART0 */
> >  #define CONFIG_SYS_NS16550_COM2              UART2_BASE      /* UART2 */
> >  #define CONFIG_SYS_NS16550_COM3              UART3_BASE      /* UART3 */
> > diff --git a/include/configs/dra7xx_evm.h b/include/configs/dra7xx_evm.h
> > index 9c8141de2e..7ec6e691c7 100644
> > --- a/include/configs/dra7xx_evm.h
> > +++ b/include/configs/dra7xx_evm.h
> > @@ -26,9 +26,9 @@
> >  #endif
> >
> >  #if (CONFIG_CONS_INDEX == 1)
>
> This CONFIG_CONS_INDEX is not enabled for this platform, meaning the
> non-default console is chosen by default, it's not caused by this patch
> but while you are here could you fix that up?
>
> Just set:
>
> #define CONSOLEDEV   "ttyS0"
>
> and drop all the #ifdef stuff, makes things a bit more clean. (and
> prevents a conflict with a patch I was going to send for the same)
>

It's not that simple. Please look at commits [1,2]. Seems like that
#if selector you mentioned was implemented for a reason and serves the
purpose of using uart3, chosen via menuconfig, for UART boot mode. I
suggest we keep this patch as is, I really want it to be an atomical
change, as it's a big change as it is. If you still want to remove
that #if and only leave ttyS0, it can be done in the separate patch,
mentioning [1,2] and explaining, why do we want to get rid of UART
boot feature for DRA7.

So if you are ok with my reasoning, please add your R-b tag here.

Thanks!

[1] https://gitlab.denx.de/u-boot/u-boot/commit/a13cbf5f208b59797d08199604f2701b6c3b9f64
[2] https://gitlab.denx.de/u-boot/u-boot/commit/cfd921f7cc8cb54320e2b2ac4dc9ec13fc4f96c3

> Andrew
>
> > -#define CONSOLEDEV                   "ttyO0"
> > +#define CONSOLEDEV                   "ttyS0"
> >  #elif (CONFIG_CONS_INDEX == 3)
> > -#define CONSOLEDEV                   "ttyO2"
> > +#define CONSOLEDEV                   "ttyS2"
> >  #endif
> >  #define CONFIG_SYS_NS16550_COM1              UART1_BASE      /* Base EVM has UART0 */
> >  #define CONFIG_SYS_NS16550_COM2              UART2_BASE      /* UART2 */
> > diff --git a/include/environment/ti/boot.h b/include/environment/ti/boot.h
> > index 01b2981c5b..22206b9467 100644
> > --- a/include/environment/ti/boot.h
> > +++ b/include/environment/ti/boot.h
> > @@ -10,7 +10,7 @@
> >  #define __TI_BOOT_H
> >
> >  #ifndef CONSOLEDEV
> > -#define CONSOLEDEV "ttyO2"
> > +#define CONSOLEDEV "ttyS2"
> >  #endif
> >
> >  #define VBMETA_PART_SIZE             (64 * 1024)
> >


More information about the U-Boot mailing list