u-boot/common/spl
Lukas Auer 5e30e45c83 spl: support booting via RISC-V OpenSBI
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>
2019-08-26 16:07:42 +08:00
..
Kconfig spl: support booting via RISC-V OpenSBI 2019-08-26 16:07:42 +08:00
Makefile spl: support booting via RISC-V OpenSBI 2019-08-26 16:07:42 +08:00
spl.c spl: support booting via RISC-V OpenSBI 2019-08-26 16:07:42 +08:00
spl_atf.c spl: atf: Fix uninitialized pointer to bl31_image_info 2019-07-02 10:30:02 +08:00
spl_bootrom.c SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
spl_dfu.c env: Drop environment.h header file where not needed 2019-08-11 16:43:41 -04:00
spl_ext.c env: Move env_get() to env.h 2019-08-11 16:43:41 -04:00
spl_fat.c env: Move env_get() to env.h 2019-08-11 16:43:41 -04:00
spl_fit.c spl: fit: use U-Boot device tree when FIT image has no device tree 2019-08-26 16:07:42 +08:00
spl_mmc.c spl: Make image loader infrastructure more universal 2019-07-17 11:12:54 -04:00
spl_nand.c spl: spl_nand.c: Add NAND loading message 2019-04-23 17:57:27 -04:00
spl_net.c env: Move env_init() to env.h 2019-08-11 16:43:41 -04:00
spl_nor.c spl: nor: Skip CONFIG_SYS_FDT_BASE if not defined 2018-07-19 16:20:13 -04:00
spl_onenand.c spl: Weed out CONFIG_SYS_TEXT_BASE usage 2018-09-25 21:48:43 -04:00
spl_opensbi.c spl: support booting via RISC-V OpenSBI 2019-08-26 16:07:42 +08:00
spl_optee.S Rockchip-focused changes for v2018.11-rc2: 2018-10-05 13:40:42 -04:00
spl_ram.c spl: Kconfig: Drop the _SUPPORT postfix from SPL_DFU 2019-01-26 08:13:54 -05:00
spl_sata.c spl: sata: support U-Boot load from raw sata disk 2019-07-24 14:15:36 -04:00
spl_sdp.c Fixes for 2019.07 2019-06-28 08:00:22 -04:00
spl_spi.c dm: spi: Read default speed and mode values from DT 2019-04-12 11:54:50 +05:30
spl_ubi.c ubispl: add support for loading volumes by name 2019-07-09 07:00:25 +02:00
spl_usb.c usb: Rename SPL_USB_SUPPORT to SPL_USB_STORAGE 2019-02-15 22:01:15 +01:00
spl_xip.c SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
spl_ymodem.c common: Move gzip functions into a new gzip header 2019-08-11 16:43:41 -04:00