u-boot/test/image/spl_load_nor.c
Sean Anderson cbe86576cb spl: Convert nor to spl_load
This converts the nor load method to use spl_load. As a result it also
adds support for LOAD_FIT_FULL. Since this is the last caller of
spl_load_legacy_img, it has been removed.

We can't load FITs with external data with SPL_LOAD_FIT_FULL, so disable the
test in that case. No boards enable SPL_NOR_SUPPORT and SPL_LOAD_FIT_FULL, so
this is not a regression.

Signed-off-by: Sean Anderson <seanga2@gmail.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
2023-11-16 13:49:14 -05:00

41 lines
1,002 B
C

// SPDX-License-Identifier: GPL-2.0+
/*
* Copyright (C) 2023 Sean Anderson <seanga2@gmail.com>
*/
#include <common.h>
#include <dm.h>
#include <spl.h>
#include <asm/io.h>
#include <test/spl.h>
#include <test/ut.h>
static void *spl_test_nor_base;
unsigned long spl_nor_get_uboot_base(void)
{
return virt_to_phys(spl_test_nor_base);
}
static int spl_test_nor_write_image(struct unit_test_state *uts, void *img,
size_t img_size)
{
spl_test_nor_base = img;
return 0;
}
static int spl_test_nor(struct unit_test_state *uts, const char *test_name,
enum spl_test_image type)
{
return do_spl_test_load(uts, test_name, type,
SPL_LOAD_IMAGE_GET(0, BOOT_DEVICE_NOR,
spl_nor_load_image),
spl_test_nor_write_image);
}
SPL_IMG_TEST(spl_test_nor, LEGACY, 0);
SPL_IMG_TEST(spl_test_nor, LEGACY_LZMA, 0);
SPL_IMG_TEST(spl_test_nor, IMX8, 0);
SPL_IMG_TEST(spl_test_nor, FIT_INTERNAL, 0);
#if !IS_ENABLED(CONFIG_SPL_LOAD_FIT_FULL)
SPL_IMG_TEST(spl_test_nor, FIT_EXTERNAL, 0);
#endif