rpi: Compute Module 5 doesn't autoboot without debug UART

Quentin Schulz quentin.schulz at cherry.de
Tue Jan 14 15:04:36 CET 2025


Hi Gijs,

On 1/2/25 3:07 PM, Gijs Peskens wrote:
> [You don't often get email from gijs.peskens at munisense.com. Learn why 
> this is important at https://aka.ms/LearnAboutSenderIdentification ]
> 
> On 12/31/24 15:53, Peter Robinson wrote:
>>
>>
>> On Tue, 24 Dec 2024 at 14:00, Gijs Peskens
>> <gijs.peskens at 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://eur02.safelinks.protection.outlook.com/? 
>> url=https%3A%2F%2Fgithub.com%2Fagherzan%2Fmeta- 
>> raspberrypi%2Fpull%2F1397&data=05%7C02%7Cquentin.schulz%40cherry.de%7C7761da6784444fc601c708dd2b36dc7d%7C5e0e1b5221b54e7b83bb514ec460677e%7C0%7C0%7C638714236816045296%7CUnknown%7CTWFpbGZsb3d8eyJFbXB0eU1hcGkiOnRydWUsIlYiOiIwLjAuMDAwMCIsIlAiOiJXaW4zMiIsIkFOIjoiTWFpbCIsIldUIjoyfQ%3D%3D%7C0%7C%7C%7C&sdata=lvd6ywVVIfRlzcOYxKoMBrimT20rumG9hWD3VWZDkbE%3D&reserved=0
>>
>>
>> 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.
> 

I'm wondering if this couldn't be fixed by configuring the pinconf of 
the UART pins so that a floating line is in a stable state? e.g. a small 
pull-up/pull-down? Is this possible with the way UART generally works 
(i.e. is this going to work whether a console is connected or not?).

> 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.
> 

You are looking for AUTOBOOT_KEYED I believe.

Cheers,
Quentin


More information about the U-Boot mailing list