mirror of
https://github.com/brain-hackers/u-boot-brain
synced 2024-08-29 05:18:51 +09:00
![Lukas Auer](/assets/img/avatar_default.png)
RISC-V OpenSBI is an open-source implementation of the RISC-V Supervisor Binary Interface (SBI) specification. It is required by Linux and U-Boot running in supervisor mode. This patch adds support for booting via the OpenSBI FW_DYNAMIC firmware. It supports OpenSBI version 0.4 and higher. In this configuration, U-Boot SPL starts in machine mode. After loading OpenSBI and U-Boot proper, it will start OpenSBI. All necessary parameters are generated by U-Boot SPL and are passed to OpenSBI. U-Boot proper is started in supervisor mode by OpenSBI. Support for OpenSBI is enabled with CONFIG_SPL_OPENSBI. An additional configuration entry, CONFIG_SPL_OPENSBI_LOAD_ADDR, is used to specify the load address of the OpenSBI firmware binary. It is not used directly in U-Boot and instead is intended to make the value available to scripts such as FIT configuration generators. The header file include/opensbi.h is based on header files from the OpenSBI project. They are recent, as of commit bae54f764570 ("firmware: Add fw_dynamic firmware"). Signed-off-by: Lukas Auer <lukas.auer@aisec.fraunhofer.de> Reviewed-by: Bin Meng <bmeng.cn@gmail.com> Tested-by: Bin Meng <bmeng.cn@gmail.com> Reviewed-by: Anup Patel <anup.patel@wdc.com>
35 lines
1.3 KiB
Makefile
35 lines
1.3 KiB
Makefile
# SPDX-License-Identifier: GPL-2.0+
|
|
#
|
|
# (C) Copyright 2012
|
|
# Texas Instruments Incorporated - http://www.ti.com/
|
|
# Aneesh V <aneesh@ti.com>
|
|
# Based on common/Makefile.
|
|
#
|
|
|
|
ifdef CONFIG_SPL_BUILD
|
|
obj-$(CONFIG_SPL_FRAMEWORK) += spl.o
|
|
obj-$(CONFIG_$(SPL_TPL_)BOOTROM_SUPPORT) += spl_bootrom.o
|
|
obj-$(CONFIG_$(SPL_TPL_)LOAD_FIT) += spl_fit.o
|
|
obj-$(CONFIG_$(SPL_TPL_)NOR_SUPPORT) += spl_nor.o
|
|
obj-$(CONFIG_$(SPL_TPL_)XIP_SUPPORT) += spl_xip.o
|
|
obj-$(CONFIG_$(SPL_TPL_)YMODEM_SUPPORT) += spl_ymodem.o
|
|
ifndef CONFIG_SPL_UBI
|
|
obj-$(CONFIG_$(SPL_TPL_)NAND_SUPPORT) += spl_nand.o
|
|
obj-$(CONFIG_$(SPL_TPL_)ONENAND_SUPPORT) += spl_onenand.o
|
|
endif
|
|
obj-$(CONFIG_$(SPL_TPL_)UBI) += spl_ubi.o
|
|
obj-$(CONFIG_$(SPL_TPL_)NET_SUPPORT) += spl_net.o
|
|
obj-$(CONFIG_$(SPL_TPL_)MMC_SUPPORT) += spl_mmc.o
|
|
obj-$(CONFIG_$(SPL_TPL_)ATF) += spl_atf.o
|
|
obj-$(CONFIG_$(SPL_TPL_)OPTEE) += spl_optee.o
|
|
obj-$(CONFIG_$(SPL_TPL_)OPENSBI) += spl_opensbi.o
|
|
obj-$(CONFIG_$(SPL_TPL_)USB_STORAGE) += spl_usb.o
|
|
obj-$(CONFIG_$(SPL_TPL_)FS_FAT) += spl_fat.o
|
|
obj-$(CONFIG_$(SPL_TPL_)FS_EXT4) += spl_ext.o
|
|
obj-$(CONFIG_$(SPL_TPL_)SATA_SUPPORT) += spl_sata.o
|
|
obj-$(CONFIG_$(SPL_TPL_)DFU) += spl_dfu.o
|
|
obj-$(CONFIG_$(SPL_TPL_)SPI_LOAD) += spl_spi.o
|
|
obj-$(CONFIG_$(SPL_TPL_)RAM_SUPPORT) += spl_ram.o
|
|
obj-$(CONFIG_$(SPL_TPL_)USB_SDP_SUPPORT) += spl_sdp.o
|
|
endif
|