| // SPDX-License-Identifier: GPL-2.0+ | |
| /* | |
| * Copyright (C) 2023 Sean Anderson <seanga2@gmail.com> | |
| */ | |
| #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 |