69 Commits

Author SHA1 Message Date
Tom Rini
8e395d853a hooks: py/konsulko-labgrid: Add sample rpi_arm64 / rpi_4 boardenv file
To match up with the sample conf file under bin/konsulko-labgrid, add a
boardenv file for the rpi_4 and rpi_arm64 variants (cannot be shared
with rpi_4_32b as we have aarch64 specific example test files). This
shows how to enable network based tests, including OS boot on the
platform.

Signed-off-by: Tom Rini <trini@konsulko.com>
2025-05-28 10:43:10 +01:00
Tom Rini
e0780d9ad7 hooks: py: Rename the rest of the boardenv files with "-" in their name
The way that test/py/conftest.py has always worked is that it translates
all "-" to "_" when looking for boardenv files. Rename the few
incorrectly named ones that we had.

Signed-off-by: Tom Rini <trini@konsulko.com>
2025-05-28 10:43:10 +01:00
Tom Rini
0262541809 hooks: sifive_unleashed: Rename "spi-nor_qemu" variant to "spi_nor_qemu"
Given how files are searched and parsed,
py/travis-ci/u_boot_boardenv_sifive_unleashed_spi-nor_qemu.py was not
being used due to the dash in the name. Use an underbar for consistency.

Signed-off-by: Tom Rini <trini@konsulko.com>
2025-05-28 10:43:10 +01:00
Venkatesh Yadav Abbarapu
863fe8116b hooks: travis-ci: Skip the saveenv and reset test cases on xilinx zynq qemu
There is an issue with the xilinx zynq qemu qspi driver during the erase
operation in dual parallel configuration, so skip these
tests for now.

Signed-off-by: Venkatesh Yadav Abbarapu <venkatesh.abbarapu@amd.com>
Acked-by: Michal Simek <michal.simek@amd.com>
2025-05-28 10:43:09 +01:00
Jiaxun Yang
9bc634982a hooks: qemu-loongarch64: New board
Signed-off-by: Jiaxun Yang <jiaxun.yang@flygoat.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Tom Rini <trini@konsulko.com>
2025-05-28 10:43:09 +01:00
Jiaxun Yang
346525fffc hooks: qemu-xtensa-dc233c: New board
Signed-off-by: Jiaxun Yang <jiaxun.yang@flygoat.com>
Reviewed-by: Tom Rini <trini@konsulko.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
2025-05-28 10:43:09 +01:00
Jiaxun Yang
2f10447cf2 hooks: qemu-arm64be: New board
Signed-off-by: Jiaxun Yang <jiaxun.yang@flygoat.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Tom Rini <trini@konsulko.com>
2025-05-28 10:43:09 +01:00
Michal Simek
7ddd4a2014 hooks: travis-ci: Do not run TPM tests on Versal QEMU target
TPM is going to be enabled by default but QEMU doesn't model it over SPI
that's why disable it for xilinx_versal_virt_qemu target.

Signed-off-by: Michal Simek <michal.simek@amd.com>
2025-05-28 10:43:09 +01:00
Marek Vasut
6268fa7f96 hooks: travis-ci: Add m68k M5208EVBE machine
Add m68k M5208EVBE machine configured to test U-Boot m68k support.

Signed-off-by: Marek Vasut <marek.vasut+renesas@mailbox.org>
Reviewed-by: Tom Rini <trini@konsulko.com>
2025-05-28 10:43:09 +01:00
Joel Stanley
ef922e0297 hooks: travis-ci: Add Aspeed AST2600 Qemu configuration
Similar to the AST2500 this machine is emulated by Qemu. It boots from
a 64MB SPI NOR flash device by default.

Signed-off-by: Joel Stanley <joel@jms.id.au>
Reviewed-by: Cédric Le Goater <clg@kaod.org>
2025-05-28 10:43:09 +01:00
Bin Meng
300137ecdb hooks: travis-ci: Add SiFive Unleashed QEMU targets
Add support for testing sifive_unleashed_defconfig via QEMU.
QEMU supports booting exact the same images as used on the real
hardware out of the box, that U-Boot SPL loads U-Boot proper
from either an SD card or the SPI NOR flash, hence we can easily
set up CI to cover these 2 boot flows of SiFive Unleashed board.

Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
2025-05-28 10:43:09 +01:00
Marek Vasut
322383e33a hooks: travis-ci: Add SH4 r2dplus machine with various PCI ethernet options
Add SH4 R2Dplus machine configured to test various U-Boot PCI ethernet
options -- RTL8139, EEPRO100, AMD PCnet, DEC Tulip.

Signed-off-by: Marek Vasut <marek.vasut+renesas@gmail.com>
Cc: Stephen Warren <swarren@nvidia.com>
Cc: Tom Rini <trini@konsulko.com>
Signed-off-by: Stephen Warren <swarren@nvidia.com>
2025-05-28 10:43:09 +01:00
Cristian Ciocaltea
f948cdf223 hooks: travis-ci: Fix "ResourceWarning: unclosed file"
This patch gets rid of the warning messages like:

uboot-test-hooks/py/travis-ci/travis_tftp.py:43: ResourceWarning:
unclosed file <_io.BufferedReader name='.bm-work/qemu_arm/u-boot.bin'>

Signed-off-by: Cristian Ciocaltea <cristian.ciocaltea@gmail.com>
Signed-off-by: Stephen Warren <swarren@nvidia.com>
2025-05-28 10:43:08 +01:00
Daniel Schwierzeck
8ae71d6c1e hooks: travis-ci: Add configs for malta{64,el,64el}_qemu targets
This is mostly copied from qemu_mips configs. The generic
Qemu MIPS machine is marked as deprecated by Qemu. The
MIPS Malta machine should be preferred. Thus in order to
be able to deprecate the qemu_mips target in U-Boot as
well, all MIPS specific Qemu CI tests have to be moved
to the Malta targets.

The Qemu MIPS Malta machine expects all firmware images to be
given in Big-Endian byte order. Thus the Malta Little-Endian
variants (maltael, malta64el) needs to use 'u-boot-swap.bin'
as firmware.

Signed-off-by: Daniel Schwierzeck <daniel.schwierzeck@gmail.com>
Signed-off-by: Stephen Warren <swarren@nvidia.com>
2025-05-28 10:43:08 +01:00
Bin Meng
502e5f9dcc hooks: travis-ci: Add qemu-riscv{32,64}_spl targets
Add support for testing qemu-riscv{32,64}_spl_defconfig.
Unlike qemu-riscv{32,64} targets, this creates a 4-core SMP
configuration to cover U-Boot SMP codes testing.

Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
Signed-off-by: Stephen Warren <swarren@wwwdotorg.org>
2025-05-28 10:43:08 +01:00
Bin Meng
669f4e9e5b hooks: travis-ci: Add qemu-riscv32 target
Add support for testing qemu-riscv32_defconfig.

Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
Signed-off-by: Stephen Warren <swarren@wwwdotorg.org>
2025-05-28 10:43:08 +01:00
Bin Meng
7093abf2f4 hooks: travis-ci: Add EFI grub2 and fit image configuration for qemu-riscv64
This adds EFI grub2 and fit image configuration for qemu-riscv64
target used for test.

Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
Signed-off-by: Stephen Warren <swarren@wwwdotorg.org>
2025-05-28 10:43:08 +01:00
Michal Simek
e986d9223e hooks: Add support for Xilinx Zynq Virtual platform
The configuration is the same with zc702 but there is a need to do a
conversion from zynq_zc702 to xilinx_zynq_virt platform.

Origin support was added by commit dab68a8fb4d9
("Wire arm32 qemu for zynq_zc702 target") and configuration is the same.

Signed-off-by: Michal Simek <monstr@monstr.eu>
Signed-off-by: Stephen Warren <swarren@nvidia.com>
2025-05-28 10:43:08 +01:00
Stephen Warren
bb5cddec16 hooks: travis-ci: be consistent about blank lines between values
Signed-off-by: Stephen Warren <swarren@nvidia.com>
2025-05-28 10:43:08 +01:00
Heinrich Schuchardt
6dafff0eea hooks: travis-ci: provide env__efi_fit_tftp_file
Provide dictionary env__efi_fit_tftp_file describing the file used for the
UEFI FIT image test.

Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
Signed-off-by: Stephen Warren <swarren@nvidia.com>
2025-05-28 10:43:08 +01:00
Heinrich Schuchardt
73fedc8387 hooks: travis-ci: set load address for files
Set the load address for files to the value of $kernel_addr_r for the
qemu_arm64_defconfig and qemu_arm_defconfig boards to avoid collisions with
the device tree.

Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
Signed-off-by: Stephen Warren <swarren@nvidia.com>
2025-05-28 10:43:08 +01:00
Heinrich Schuchardt
f79a5edd5b hooks: travis-ci: provide 'addr' in file2env()
Function fetch_tftp_file() in test/py/tests/test_efi_loader.py expects that
the dictionary describing a file contains an entry 'addr' specifying the
loading address.

Add an optional parameter in function file2env() to set the 'addr' entry.

Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
Signed-off-by: Stephen Warren <swarren@nvidia.com>
2025-05-28 10:43:08 +01:00
Joel Stanley
363f80fc41 hooks: travis: Add ASPEED AST2500 EVB Qemu
Signed-off-by: Joel Stanley <joel@jms.id.au>
Signed-off-by: Stephen Warren <swarren@nvidia.com>
2025-05-28 10:43:08 +01:00
Heinrich Schuchardt
7f2cf3d3c0 hooks: travis-ci: add qemu-riscv64
Add support for testing qemu-riscv64_defconfig.

Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
Signed-off-by: Stephen Warren <swarren@nvidia.com>
2025-05-28 10:43:08 +01:00
Stephen Warren
a2ded3595d hooks: Fix swrren-lx1 Jetson TX1 USB disk path
Signed-off-by: Stephen Warren <swarren@nvidia.com>
2025-05-28 10:43:08 +01:00
Stephen Warren
41aed6d73e hooks: Updates for new swarren-lx1 HW
The old machine died, and since the new machine is different HW, all the
USB port IDs are different.

Signed-off-by: Stephen Warren <swarren@nvidia.com>
2025-05-28 10:43:08 +01:00
Stephen Warren
08bc7c4bf5 hooks: Remove dalmore support on swarren-lx1
I haven't had this board for a long time, and my Jenkins never tested it,
so there's no point keeping the config files.

Signed-off-by: Stephen Warren <swarren@nvidia.com>
2025-05-28 10:43:08 +01:00
Bin Meng
0e45f13a89 hooks: travis-ci: Update grub file name for qemu-x86_64 target
grub_x86.efi is for 32-bit QEMU. Use grub_x64.efi for 64-bit.

Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
Signed-off-by: Stephen Warren <swarren@nvidia.com>
2025-05-28 10:43:07 +01:00
Stephen Warren
f36e6f39e7 hooks: Add automated testing of Jetson TK1 on swarren-lx1
This required creating a phidgets relay controller app. The Python app
previously used on EIMT uses libraries that don't seem to be available
any more (they've been replaced by a newer version), so write the control
app in C to minimize the amount of non-distro cruft that must be
installed.

Signed-off-by: Stephen Warren <swarren@nvidia.com>
2025-05-28 10:43:07 +01:00
Rick Chen
1789d43289 hooks: travis-ci: add qemu-ax25 (riscv64)
Signed-off-by: Rick Chen <rick@andestech.com>
Signed-off-by: Rick Chen <rickchen36@gmail.com>
Reviewed-by: Chih-Mao Chen <cmchen@andestech.com>
Cc: Greentime Hu <green.hu@gmail.com>
Signed-off-by: Stephen Warren <swarren@nvidia.com>
2025-05-28 10:43:07 +01:00
Rick Chen
9eb87d4583 hooks: travis-ci: add qemu-ae3xx (nds32)
Signed-off-by: Rick Chen <rick@andestech.com>
Signed-off-by: Rick Chen <rickchen36@gmail.com>
Reviewed-by: Chih-Mao Chen <cmchen@andestech.com>
Cc: Greentime Hu <green.hu@gmail.com>
Signed-off-by: Stephen Warren <swarren@nvidia.com>
2025-05-28 10:43:07 +01:00
Stephen Warren
d97d454b3f hooks: EIMT is no more
... so delete all config files for tamien, and any utility scripts used
solely on EIMT.

Signed-off-by: Stephen Warren <swarren@nvidia.com>
2025-05-28 10:43:07 +01:00
Stephen Warren
78b2d7df32 hooks: Enable MMC read tests on Jetson TX2 on swarren-lx1
Signed-off-by: Stephen Warren <swarren@nvidia.com>
2025-05-28 10:43:07 +01:00
Stephen Warren
0ac2d77b56 hooks: Add support for Jetson TX2 testing on swarren-lx1
Signed-off-by: Stephen Warren <swarren@nvidia.com>
2025-05-28 10:43:07 +01:00
Tuomas Tynkkynen
3c2e81994d hooks: travis-ci: Add qemu_arm64 board
This is emulated platform otherwise equivalent to the qemu_arm except
that it has an AArch64 CPU.

Signed-off-by: Tuomas Tynkkynen <tuomas.tynkkynen@iki.fi>
Signed-off-by: Stephen Warren <swarren@nvidia.com>
2025-05-28 10:43:07 +01:00
Tuomas Tynkkynen
b675dfbc2f hooks: travis-ci: Add qemu_arm board
This is similar to the existing vexpress QEMU targets, except:

- U-Boot is loaded via '-bios u-boot.bin' instead of '-kernel u-boot'
- Network comes from an e1000 on the PCI bus (like on e.g. qemu-x86_na)

Signed-off-by: Tuomas Tynkkynen <tuomas.tynkkynen@iki.fi>
Signed-off-by: Stephen Warren <swarren@nvidia.com>
2025-05-28 10:43:07 +01:00
Tom Rini
073d214f4d hooks: travis-ci: Wire up qemu-x86_64 support
Signed-off-by: Tom Rini <trini@konsulko.com>
Signed-off-by: Stephen Warren <swarren@nvidia.com>
2025-05-28 10:43:07 +01:00
Michal Simek
e0647b43ac hooks: Wire arm32 qemu for zynq_zc702 target
SPL is skipped because qemu version in ubuntu package does not support
qemu loader feature which could put images to certain location in the
memory. That's why testing is loading full u-boot directly without SPL
but buildmain builds target with SPL by default.

Signed-off-by: Michal Simek <michal.simek@xilinx.com>
Signed-off-by: Stephen Warren <swarren@nvidia.com>
2025-05-28 10:43:07 +01:00
Alexander Graf
bd34d723fa hooks: travis: Skip files that don't exist
The travis tftp helper exposes files from the host into the guest environment.
However, depending on the travis configuration and patch status, files may or
may not exist yet.

So if we can't find a particular file, let's skip it.

Signed-off-by: Alexander Graf <agraf@suse.de>
Signed-off-by: Stephen Warren <swarren@wwwdotorg.org>
2025-05-28 10:43:07 +01:00
Alexander Graf
7a90ceee25 hooks: Add efi_loader grub2 link to travis env
Out test framework for efi_loader in test/py gained support to test grub2
functionality. Expose the respective grub2 file as environment variable
to the test, so that it can access it.

Signed-off-by: Alexander Graf <agraf@suse.de>
Signed-off-by: Stephen Warren <swarren@nvidia.com>
2025-05-28 10:43:07 +01:00
Alexander Graf
cc092b43be hooks: Add efi_loader helloworld link to travis env
We have a new test framework for efi_loader in test/py now. That framework
can fetch a hello world application via tftp, but it needs to have it
referenced in the environment.

Fortunately U-Boot builds said hello world efi binary as part of its build
process, so let's expose that to the test case.

Signed-off-by: Alexander Graf <agraf@suse.de>
Signed-off-by: Stephen Warren <swarren@nvidia.com>
2025-05-28 10:43:07 +01:00
Alexander Graf
edc988ac70 hooks: Add tftp tests to qemu travis checks
With Travis we can just load files from the host directory structure
into our guests and verify network connectivity that way. Do so for all
boards that we currently already expose tftp on.

While at it, expose the u-boot output binary as test file for the tftp
test case.

Signed-off-by: Alexander Graf <agraf@suse.de>
Signed-off-by: Stephen Warren <swarren@nvidia.com>
2025-05-28 10:43:07 +01:00
Alexander Graf
86073556f1 hooks: Add travis tftp helper
The following patches will allow us to share files between the
build host and the qemu instance running our test case.

To reduce code duplication, expose a simple helper wrapper that
creates an env dict including checksum from a file name.

Signed-off-by: Alexander Graf <agraf@suse.de>
Signed-off-by: Stephen Warren <swarren@nvidia.com>
2025-05-28 10:43:07 +01:00
Guillaume GARDET
a5ff09e67c hooks: Add configuration for mx6qsabrelite (for OLI01 host)
Signed-off-by: Guillaume GARDET <guillaume.gardet@free.fr>
Signed-off-by: Stephen Warren <swarren@nvidia.com>
2025-05-28 10:43:07 +01:00
Stephen Warren
2759874bb7 hooks: EIMT: Beaver: Specify which Ethernet adapter to use on old branches
L4T U-Boot is old enough that PCIe auto-probes and we end up with both a
PCIe and a USB Ethernet device. By default, U-Boot happens to pick the one
we don't want to use, so we must tell it which to use by setting
environment variable ethact for network tests. We don't define this
variable statically, since the Ethernet device naming is different in the
branches (mainline) that don't have this problem, so this value is not
valid there:-(

Signed-off-by: Stephen Warren <swarren@nvidia.com>
2025-05-28 10:43:07 +01:00
Stephen Warren
ad88b29b05 hooks: EIMT: Beaver: enable testing the SD card
Signed-off-by: Stephen Warren <swarren@nvidia.com>
2025-05-28 10:43:06 +01:00
Stephen Warren
56558d4644 hooks: Add Beaver to EIMT
No SD card is available yet, so tests that rely on it aren't enabled.

Signed-off-by: Stephen Warren <swarren@nvidia.com>
2025-05-28 10:43:06 +01:00
Stephen Warren
5ae92d7899 hooks: Add Jetson TK1 testing to tamien
Signed-off-by: Stephen Warren <swarren@nvidia.com>
2025-05-28 10:43:06 +01:00
Stephen Warren
577abddfca hooks: Add configs for Dalmore testing on my dev box
Sometimes I hook up a Dalmore in place of my p2371-2180 and want to test
it. Add configs for that.

Signed-off-by: Stephen Warren <swarren@nvidia.com>
2025-05-28 10:43:06 +01:00
Stephen Warren
48554cc437 hooks: Add configs for manual Jetson TK1 testing on my dev box
I don't have remote control over the buttons on this system, so rely on
manual user intervention, hence the ".manual" hook implementations.

Signed-off-by: Stephen Warren <swarren@nvidia.com>
2025-05-28 10:43:06 +01:00