[U-Boot] [RFC] dm: tegra: boot time regression

Simon Glass sjg at chromium.org
Thu Nov 20 19:53:20 CET 2014


Hi Marcel,

On 20 November 2014 11:29, Marcel Ziswiler <marcel at ziswiler.com> wrote:
> On Mon, 2014-11-17 at 06:53 +0000, Simon Glass wrote:
>> Did this get resolved?
>
> No, unfortunately not.
>
>> Do you have an update please?
>
> I just retested this and it is still the case all with latest mainline
> stuff both on the U-Boot as well as the Linux kernel side. Another issue
> I noticed is that somehow current U-Boot DM serial stuff seems to double
> space everything?!? Well, anyway. Here the output of straight mainline:
>

I don't see the double-space problem. Can you debug it? The only place
that converts \n into \r should be in serial-uclass.c.

> U-Boot SPL 2015.01-rc1-00145-gf196044 (Nov 20 2014 - 09:04:15)
>
>
>
> U-Boot 2015.01-rc1-00145-gf196044 (Nov 20 2014 - 09:04:15)
>
>
> TEGRA30
>
> Board: Toradex Colibri T30
>
> I2C:   ready
>
> DRAM:  1 GiB
>
> MMC:   Tegra SD/MMC: 0, Tegra SD/MMC: 1
>
> In:    serial
>
> Out:   serial
>
> Err:   serial
>
> Net:   Net Initialization Skipped
>
> No ethernet found.
>
> Hit any key to stop autoboot:  2     1     0
>
> reading tegra30-colibri-eval-v3.dtb
>
> 24225 bytes read in 16 ms (1.4 MiB/s)
>
> reading uImage
>
> 4717016 bytes read in 127 ms (35.4 MiB/s)
>
> ## Booting kernel from Legacy Image at 81000000 ...
>
>    Image Name:   Linux-3.18.0-rc5
>
>    Image Type:   ARM Linux Kernel Image (uncompressed)
>
>    Data Size:    4716952 Bytes = 4.5 MiB
>
>    Load Address: 82008000
>
>    Entry Point:  82008000
>
>    Verifying Checksum ... OK
>
> ## Flattened Device Tree blob at 82000000
>
>    Booting using the fdt blob at 0x82000000
>
>    Loading Kernel Image ... OK
>
>    Using Device Tree in place at 82000000, end 82008ea0
>
>
> Starting kernel ...
>
>
> [    0.000000] Booting Linux on physical CPU 0x0
[snip]
> [    0.525849] console [ttyS0] disabled
> [    0.525956] of_serial 70006000.serial: ttyS0 at MMIO 0x70006000 (irq
> = 68, base_baud = 25500000) is a Tegra
> [    2.157476] console [ttyS0] enabled
> [    2.168642] serial-tegra 70006040.serial: ttyTHS1 at MMIO 0x70006040
> (irq = 69, base_baud = 0) is a TEGRA_UART
> [    2.185693] serial-tegra 70006300.serial: ttyTHS3 at MMIO 0x70006300
> (irq = 122, base_baud = 0) is a TEGRA_UART
> [    2.203062] [drm] Initialized drm 1.1.0 20060810
> [    2.213877] tegra-dc 54200000.dc: failed to probe RGB output: -517
> [    2.225972] platform 54200000.dc: Driver tegra-dc requests probe
> deferral

[snip]

>
> And with U-Boot commit 858530a8c0a7ce7e573e513934804a00d6676813
> reverted:
>
> U-Boot SPL 2015.01-rc1-00146-g715b59d (Nov 20 2014 - 11:18:59)
>
[snip]
>
> Starting kernel ...
>
> [    0.000000] Booting Linux on physical CPU 0x0
[snip]

> [    0.520098] Serial: 8250/16550 driver, 4 ports, IRQ sharing disabled
> [    0.525853] console [ttyS0] disabled
> [    0.525961] of_serial 70006000.serial: ttyS0 at MMIO 0x70006000 (irq
> = 68, base_baud = 25500000) is a Tegra
> [    1.339391] console [ttyS0] enabled
> [    1.344752] serial-tegra 70006040.serial: ttyTHS1 at MMIO 0x70006040
> (irq = 69, base_baud = 0) is a TEGRA_UART
> [    1.355956] serial-tegra 70006300.serial: ttyTHS3 at MMIO 0x70006300
> (irq = 122, base_baud = 0) is a TEGRA_UART
> [    1.367491] [drm] Initialized drm 1.1.0 20060810

[snip]

It seems to take a lot longer to init the serial consoles in the first
case. As an experiment, can you try removing the serial nodes (except
uart_a which I think you are using) from the device tree file
(tegra30.dtsi)?

Linux does some very strange things on serial init - see my Linux
commit 7735983.

Regards,
Simon


More information about the U-Boot mailing list