Re: [U-Boot] QUERY:U-boot DM:SERIAL:Multiple On-chip UART Controller Support

On 23 May 2018 at 11:56, Vabhav Sharma vabhav.sharma@nxp.com wrote:
Hello Everyone,
I am working on integrating generic PL011 driver in u-boot and linux for 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
PS:I am unable to find owner of serial uclass driver from MAINTAINERS file
Regards,
Vabhav

Hi,
On 23 May 2018 at 12:04, Simon Glass sjg@chromium.org wrote:
On 23 May 2018 at 11:56, Vabhav Sharma vabhav.sharma@nxp.com 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.
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

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 sjg@chromium.org wrote:
On 23 May 2018 at 11:56, Vabhav Sharma vabhav.sharma@nxp.com 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 U-Boot-DM@lists.denx.de https://lists.denx.de/listinfo/u-boot-dm
participants (2)
-
Andreas Dannenberg
-
Simon Glass