On 12/31/24 15:53, Peter Robinson wrote:


On Tue, 24 Dec 2024 at 14:00, Gijs Peskens <gijs.pesk...@munisense.com> wrote:

    I'm working on getting a compute module working with Yocto using
    U-Boot
    as bootloader, which mostly works thanks to previous work to get
    RPi 5
    working.
    However I'm running into a strange issue: if I turn on the CM5
    without
    the debug UART (which requires soldering a header onto the CM5)
    attached, the Pi doesn't boot beyond showing the submarine splash
    screen, if I boot it with the console attached it autoboots correctly.
    If I attach the UART after the boot halted and press enter I get a
    U-Boot console, and giving the boot command boots it normally.
    And setting bootdelay=-2 in the env allows it to correctly boot.

    Which leads me to believe there is perhaps a spurious input
    registered
    by U-Boot which interrupts autobooting.

    Is there a command that allows me to extract why U-Boot didn't
    continue
    autobooting?

    And anyone have a hint how this could perhaps be fixed in a more
    elegant
    way (allowing interruptable autoboot).

    The hardware I'm testing on is the CM5 devkit, I needed to make small
    changes to yocto to get it working:
    https://github.com/agherzan/meta-raspberrypi/pull/1397


I don't think this is unique to the CM5, I've seen it on other RPi models, I have a RPi4 8Gb model that exhibits the same behavior, yet other RPi4s I have don't exhibit the behavious. In the case of the 8Gb I have a USB serial TTL on it, it boots if the USB is plugged in, doesn't if not. I have other v4s, both with and without the TTL and they boot fine, I've never been able to get to the bottom of why.
Can you try by setting the bootdelay to -2? That did fix it for me, though autoboot is no longer interruptable.

As stated, I suspect my CM5 is generating spurious signals on the debug uart when it's not connected. Is there a config option that changes autoboot interruption to only happen on a specific key combination? i.e. control+c ?
That might fix it sufficiently for me.

Gijs

Reply via email to