From mboxrd@z Thu Jan 1 00:00:00 1970 From: Stephen Warren Date: Thu, 7 May 2020 17:17:15 -0600 Subject: Setting up test.py for a platform with 2 U-Boots? In-Reply-To: <20200507184820.GN12564@bill-the-cat> References: <20200507184820.GN12564@bill-the-cat> Message-ID: <567dcba1-cbc2-2ca6-c6fa-ea537c772ea1@wwwdotorg.org> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de 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)