Setting up test.py for a platform with 2 U-Boots?
Stephen Warren
swarren at wwwdotorg.org
Fri May 8 01:17:15 CEST 2020
On 5/7/20 12:48 PM, Tom Rini wrote:
> Hey,
>
> So I'm trying to enable our test.py framework on am65x_evm_r5 +
> am65x_evm_a53. The short version is this platform has an R5 core that
> sets things up and fires off the A53 cores. So there's two U-Boots and
> the console log looks like this (I used SOURCE_DATE_EPOCH to give both
> binaries the same timestamp):
...
> And that's even with:
> env__spl_skipped = True
> in u_boot_boardenv_am65x_evm_a53_na.py for the platform. Any ideas on what to
> do here? I even tried turning off serial support in the R5 side of things, but
> it still failed. Thanks!
It's odd that disabling serial support on the R5 didn't fix this; are
you sure that patch actually prevented the serial output from appearing,
and the board still booted without issue?
Anyway, u_boot_console_base.py:ConsoleBase:ensure_spawned() does roughly
this:
if SPL will print signon message:
Wait for SPL signon message
Wait for main U-Boot signon message
Maybe we need to expand that to a loop that iterates over a list of
signon messages, with the default list value being either [spl, main] or
[main] as configured by the current logic, but if the env file provides
an alternate list, that's used instead, e.g. [spl, main, spl, main] (or
whatever)?
e.g. very roughly:
msgs = self.config.env.get('env__boot_signon_msgs')
if msgs:
signons = parse(msgs)
else if spl:
signons = [spl, main]
else:
signons = [main]
for signon in signons:
self.p.expect(signon)
More information about the U-Boot
mailing list