u-boot/common/spl/spl_bootrom.c
Philipp Tomsich 225d30b708 spl: add a 'return to bootrom' boot method
Some devices (e.g. the RK3368) have only limited SRAM, but provide
support for loading the next boot stage after our SPL performs basic
setup (e.g. DRAM).

For target systems like these, we add a boot device BOOTROM that will
invoke a board-specific hook to return to the bootrom (if supported).

Signed-off-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>

Reviewed-by: Tom Rini <trini@konsulko.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
2017-08-13 17:12:19 +02:00

27 lines
657 B
C

/*
* Copyright (C) 2017 Theobroma Systems Design und Consulting GmH
*
* SPDX-License-Identifier: GPL-2.0+
*/
#include <common.h>
#include <spl.h>
__weak void board_return_to_bootrom(void)
{
}
static int spl_return_to_bootrom(struct spl_image_info *spl_image,
struct spl_boot_device *bootdev)
{
/*
* If the board implements a way to return to its ROM (with
* the expectation that the next stage of will be booted by
* the ROM), it will implement board_return_to_bootrom() and
* should not return from it.
*/
board_return_to_bootrom();
return false;
}
SPL_LOAD_IMAGE_METHOD("BOOTROM", 0, BOOT_DEVICE_BOOTROM, spl_return_to_bootrom);