77bec9e3d8
Add a test which checks that VBE boots correctly from TPL through to U-Boot proper. Signed-off-by: Simon Glass <sjg@chromium.org>
39 lines
1.2 KiB
Python
39 lines
1.2 KiB
Python
# SPDX-License-Identifier: GPL-2.0+
|
|
# Copyright 2022 Google LLC
|
|
#
|
|
# Test addition of VBE
|
|
|
|
import os
|
|
|
|
import pytest
|
|
import u_boot_utils
|
|
|
|
@pytest.mark.boardspec('sandbox_vpl')
|
|
@pytest.mark.requiredtool('dtc')
|
|
def test_vbe_vpl(u_boot_console):
|
|
cons = u_boot_console
|
|
#cmd = [cons.config.build_dir + fname, '-v']
|
|
ram = os.path.join(cons.config.build_dir, 'ram.bin')
|
|
fdt = os.path.join(cons.config.build_dir, 'arch/sandbox/dts/test.dtb')
|
|
|
|
# Enable firmware1 and the mmc that it uses. These are needed for the full
|
|
# VBE flow.
|
|
u_boot_utils.run_and_log(
|
|
cons, f'fdtput -t s {fdt} /bootstd/firmware0 status disabled')
|
|
u_boot_utils.run_and_log(
|
|
cons, f'fdtput -t s {fdt} /bootstd/firmware1 status okay')
|
|
u_boot_utils.run_and_log(
|
|
cons, f'fdtput -t s {fdt} /mmc3 status okay')
|
|
|
|
# Remove any existing RAM file, so we don't have old data present
|
|
if os.path.exists(ram):
|
|
os.remove(ram)
|
|
flags = ['-p', os.path.join(cons.config.build_dir, 'image.bin'), '-w',
|
|
'-s', 'state.dtb']
|
|
cons.restart_uboot_with_flags(flags)
|
|
|
|
# Make sure that VBE was used in both VPL (to load SPL) and SPL (to load
|
|
# U-Boot
|
|
output = cons.run_command('vbe state')
|
|
assert output == 'Phases: VPL SPL'
|