aboutsummaryrefslogtreecommitdiff
path: root/arch/sandbox/cpu/spl.c
diff options
context:
space:
mode:
authorSimon Glass2022-04-30 00:56:54 -0600
committerTom Rini2022-05-02 09:58:13 -0400
commit9ae25b9ac9e295ecb50268fd926b220ad8f28e3b (patch)
treeca5463ed1dc027d711fd656b0c72ed5399d10f76 /arch/sandbox/cpu/spl.c
parent747093dd4089bdb2eccae90d7bccf33198e78eaa (diff)
sandbox: Add a build for VPL
Add an initial VPL build for sandbox. This includes the flow: TPL (with of-platdata) -> VPL -> SPL -> U-Boot To run it: ./tpl/u-boot-tpl -D The -D is needed to get the default device tree, which includes the serial console info. Add a Makefile check for OF_HOSTFILE which is the option that enables devicetree control on sandbox. Signed-off-by: Simon Glass <sjg@chromium.org>
Diffstat (limited to 'arch/sandbox/cpu/spl.c')
-rw-r--r--arch/sandbox/cpu/spl.c12
1 files changed, 9 insertions, 3 deletions
diff --git a/arch/sandbox/cpu/spl.c b/arch/sandbox/cpu/spl.c
index 3f107b8acbd..fe5d44d36ed 100644
--- a/arch/sandbox/cpu/spl.c
+++ b/arch/sandbox/cpu/spl.c
@@ -32,13 +32,21 @@ int sandbox_find_next_phase(char *fname, int maxlen, bool use_img)
return 0;
}
-/* SPL / TPL init function */
+/* SPL / TPL / VPL init function */
void board_init_f(ulong flag)
{
struct sandbox_state *state = state_get_current();
+ int ret;
gd->arch.ram_buf = state->ram_buf;
gd->ram_size = state->ram_size;
+
+ ret = spl_early_init();
+ if (ret) {
+ debug("spl_early_init() failed: %d\n", ret);
+ hang();
+ }
+ preloader_console_init();
}
u32 spl_boot_device(void)
@@ -75,8 +83,6 @@ void spl_board_init(void)
{
struct sandbox_state *state = state_get_current();
- preloader_console_init();
-
if (state->run_unittests) {
struct unit_test *tests = UNIT_TEST_ALL_START();
const int count = UNIT_TEST_ALL_COUNT();