Subject: Re: [U-Boot-DM] QUERY:U-boot DM:SERIAL:Multiple On-chip UART Controller Support
From: Andreas Dannenberg <[email-masked]>
To: Simon Glass <[email-masked]>
Cc: Vabhav Sharma <[email-masked]>, U-Boot Mailing List <[email-masked]>, Masahiro Yamada <[email-masked]>, "[email-masked]" <[email-masked]>, Bin Meng <[email-masked]>
Date: Wed, 23 May 2018 19:00:56 +0000

Vabhav, Simon,

On Wed, May 23, 2018 at 12:55:41PM -0600, Simon Glass wrote:
> Hi,
>
> On 23 May 2018 at 12:04, Simon Glass <[email-masked]> wrote:
> > On 23 May 2018 at 11:56, Vabhav Sharma <[email-masked]> wrote:
> >> Hello Everyone,
> >>
> >> I am working on integrating  generic PL011 driver in u-boot and linux for
>
> Note, it is 'U-Boot'
>
> >> ARMv8 NXP SoC and facing issue with multiple UART console enablement in
> >> u-boot using DM model
> >>
> >> Kindly provide your valuable feedback and experts comments.
> >>
> >>
> >>
> >> DTS require stdout-path(e.g-UART0) to the /chosen device tree node
> >> ,Accordingly controller(UART0) is probed/initialized as boot console
> >>
> >> On u-boot prompt, Bootargs is modified to use UART1(ttyAMA1) console for
> >> linux boot but kernel hangs after “Starting kernel ... print”
> >>
> >>
> >>
> >> After debugging it’s found that UART1 is not initialized and single(first)
> >> controller is  probed/initialized in u-boot (Irrespective of 4 UART nodes
> >> are enabled in dts)
> >>
> >> In drivers/serial/serial-uclass.c ,gd->cur_serial_dev is updated to the DT
> >> stdout-path or CONFIG_CONS_INDEX or platform data(first index)
> >>
> >>
> >>
> >> Does the u-boot DM model support only one or multiple UART driver
> >> probing/initialization? Is there any configuration parameter required to
> >> define number of UART controllers to be probed/initialized.
> >>
> >> This looks limitation as same boot console is used for u-boot and linux and
> >> unable to use all available UART controllers.
> >>
> >>
> >>
> >> I am new to u-boot and please correct any misunderstanding
> >>
> >> Let me know If I can submit a patch for multiple UART probe in serial-uclass
> >> or open a bug for multiple UART support in u-boot DM model
>
> You can probe additional serial drivers if you like. U-Boot only
> probes things in a 'lazy' manner so far. Perhaps you could submit a
> patch which probes all serial devices? That is just a case of using
> uclass_first_device()...uclass_next_device() to iterate through them.
> I suppose we could have a CONFIG option to enable this.

That would indeed be useful. I was facing a similar issue of having to
initialize multiple UARTs, and ended up probing additional instances
manually from the board file using the respective DM functions
(unreleased code). Not pretty but it worked. I'll be happy to test such
a patch if created.

--
Andreas Dannenberg
Texas Instruments Inc

> >>
> >>
> >>
> >> PS:I am unable to find owner of serial uclass driver from MAINTAINERS file
>
> Not guilty but I did port a lot of things to driver model.
>
> >>
> >>
> >>
> >> Regards,
> >>
> >> Vabhav
> >>
> >>
>
> Regards,
> Simon
> _______________________________________________
> U-Boot-DM mailing list
> [email-masked]
> https://emea01.safelinks.protection.outlook.com/?url=https%3A%2F%2Flists.denx.de%2Flistinfo%2Fu-boot-dm&data=02%7C01%7Cvabhav.sharma%40nxp.com%7Ca10d407bc0024e9b962908d5c0df874c%7C686ea1d3bc2b4c6fa92cd99c5c301635%7C0%7C0%7C636626988663924872&sdata=smL6H9FguBogHLVE9DOAmn%2FxShMLydghC1029C9XBZY%3D&reserved=0