1*4882a593Smuzhiyunconfig BR2_TARGET_OPENSBI 2*4882a593Smuzhiyun bool "opensbi" 3*4882a593Smuzhiyun depends on BR2_riscv 4*4882a593Smuzhiyun help 5*4882a593Smuzhiyun OpenSBI aims to provide an open-source and extensible 6*4882a593Smuzhiyun implementation of the RISC-V SBI specification for a platform 7*4882a593Smuzhiyun specific firmware (M-mode) and a general purpose OS, 8*4882a593Smuzhiyun hypervisor or bootloader (S-mode or HS-mode). OpenSBI 9*4882a593Smuzhiyun implementation can be easily extended by RISC-V platform or 10*4882a593Smuzhiyun System-on-Chip vendors to fit a particular hadware 11*4882a593Smuzhiyun configuration. 12*4882a593Smuzhiyun 13*4882a593Smuzhiyun https://github.com/riscv/opensbi.git 14*4882a593Smuzhiyun 15*4882a593Smuzhiyunif BR2_TARGET_OPENSBI 16*4882a593Smuzhiyunchoice 17*4882a593Smuzhiyun prompt "OpenSBI Version" 18*4882a593Smuzhiyun help 19*4882a593Smuzhiyun Select the specific OpenSBI version you want to use 20*4882a593Smuzhiyun 21*4882a593Smuzhiyunconfig BR2_TARGET_OPENSBI_LATEST_VERSION 22*4882a593Smuzhiyun bool "0.9" 23*4882a593Smuzhiyun 24*4882a593Smuzhiyunconfig BR2_TARGET_OPENSBI_CUSTOM_VERSION 25*4882a593Smuzhiyun bool "Custom version" 26*4882a593Smuzhiyun help 27*4882a593Smuzhiyun This option allows to use a specific official versions 28*4882a593Smuzhiyun 29*4882a593Smuzhiyunconfig BR2_TARGET_OPENSBI_CUSTOM_TARBALL 30*4882a593Smuzhiyun bool "Custom tarball" 31*4882a593Smuzhiyun 32*4882a593Smuzhiyunconfig BR2_TARGET_OPENSBI_CUSTOM_GIT 33*4882a593Smuzhiyun bool "Custom Git repository" 34*4882a593Smuzhiyun 35*4882a593Smuzhiyunendchoice 36*4882a593Smuzhiyun 37*4882a593Smuzhiyunconfig BR2_TARGET_OPENSBI_CUSTOM_VERSION_VALUE 38*4882a593Smuzhiyun string "OpenSBI version" 39*4882a593Smuzhiyun depends on BR2_TARGET_OPENSBI_CUSTOM_VERSION 40*4882a593Smuzhiyun 41*4882a593Smuzhiyunconfig BR2_TARGET_OPENSBI_CUSTOM_TARBALL_LOCATION 42*4882a593Smuzhiyun string "URL of custom OpenSBI tarball" 43*4882a593Smuzhiyun depends on BR2_TARGET_OPENSBI_CUSTOM_TARBALL 44*4882a593Smuzhiyun 45*4882a593Smuzhiyunif BR2_TARGET_OPENSBI_CUSTOM_GIT 46*4882a593Smuzhiyun 47*4882a593Smuzhiyunconfig BR2_TARGET_OPENSBI_CUSTOM_REPO_URL 48*4882a593Smuzhiyun string "URL of custom repository" 49*4882a593Smuzhiyun 50*4882a593Smuzhiyunconfig BR2_TARGET_OPENSBI_CUSTOM_REPO_VERSION 51*4882a593Smuzhiyun string "Custom repository version" 52*4882a593Smuzhiyun help 53*4882a593Smuzhiyun Revision to use in the typical format used by Git. E.G. a 54*4882a593Smuzhiyun sha id, a tag, branch, .. 55*4882a593Smuzhiyun 56*4882a593Smuzhiyunendif 57*4882a593Smuzhiyun 58*4882a593Smuzhiyunconfig BR2_TARGET_OPENSBI_VERSION 59*4882a593Smuzhiyun string 60*4882a593Smuzhiyun default "0.9" if BR2_TARGET_OPENSBI_LATEST_VERSION 61*4882a593Smuzhiyun default BR2_TARGET_OPENSBI_CUSTOM_VERSION_VALUE \ 62*4882a593Smuzhiyun if BR2_TARGET_OPENSBI_CUSTOM_VERSION 63*4882a593Smuzhiyun default "custom" if BR2_TARGET_OPENSBI_CUSTOM_TARBALL 64*4882a593Smuzhiyun default BR2_TARGET_OPENSBI_CUSTOM_REPO_VERSION \ 65*4882a593Smuzhiyun if BR2_TARGET_OPENSBI_CUSTOM_GIT 66*4882a593Smuzhiyun 67*4882a593Smuzhiyunconfig BR2_TARGET_OPENSBI_PLAT 68*4882a593Smuzhiyun string "OpenSBI Platform" 69*4882a593Smuzhiyun default "" 70*4882a593Smuzhiyun help 71*4882a593Smuzhiyun Specifies the OpenSBI platform to build. If no platform is 72*4882a593Smuzhiyun specified only the OpenSBI platform independent static 73*4882a593Smuzhiyun library libsbi.a is built. If a platform is specified then 74*4882a593Smuzhiyun the platform specific static library libplatsbi.a and firmware 75*4882a593Smuzhiyun examples are built. 76*4882a593Smuzhiyun 77*4882a593Smuzhiyunconfig BR2_TARGET_OPENSBI_INSTALL_DYNAMIC_IMG 78*4882a593Smuzhiyun bool "Install fw_dynamic image" 79*4882a593Smuzhiyun default y if BR2_TARGET_OPENSBI_PLAT != "" 80*4882a593Smuzhiyun help 81*4882a593Smuzhiyun This installs the fw_dynamic image. 82*4882a593Smuzhiyun 83*4882a593Smuzhiyunconfig BR2_TARGET_OPENSBI_INSTALL_JUMP_IMG 84*4882a593Smuzhiyun bool "Install fw_jump image" 85*4882a593Smuzhiyun default y if BR2_TARGET_OPENSBI_PLAT != "" 86*4882a593Smuzhiyun help 87*4882a593Smuzhiyun This installs the fw_jump image. 88*4882a593Smuzhiyun 89*4882a593Smuzhiyunconfig BR2_TARGET_OPENSBI_INSTALL_PAYLOAD_IMG 90*4882a593Smuzhiyun bool "Install fw_payload image" 91*4882a593Smuzhiyun help 92*4882a593Smuzhiyun This option enables the installation of the fw_paylaod 93*4882a593Smuzhiyun image. 94*4882a593Smuzhiyun 95*4882a593Smuzhiyunconfig BR2_TARGET_OPENSBI_LINUX_PAYLOAD 96*4882a593Smuzhiyun bool "Include Linux as OpenSBI Payload" 97*4882a593Smuzhiyun depends on BR2_TARGET_OPENSBI_PLAT != "" 98*4882a593Smuzhiyun depends on BR2_LINUX_KERNEL 99*4882a593Smuzhiyun depends on BR2_LINUX_KERNEL_IMAGE 100*4882a593Smuzhiyun select BR2_TARGET_OPENSBI_INSTALL_PAYLOAD_IMG 101*4882a593Smuzhiyun help 102*4882a593Smuzhiyun Build OpenSBI with the Linux kernel as a Payload. 103*4882a593Smuzhiyun 104*4882a593Smuzhiyunconfig BR2_TARGET_OPENSBI_UBOOT_PAYLOAD 105*4882a593Smuzhiyun bool "Include U-Boot as OpenSBI Payload" 106*4882a593Smuzhiyun depends on BR2_TARGET_OPENSBI_PLAT != "" 107*4882a593Smuzhiyun depends on BR2_TARGET_UBOOT 108*4882a593Smuzhiyun select BR2_TARGET_OPENSBI_INSTALL_PAYLOAD_IMG 109*4882a593Smuzhiyun help 110*4882a593Smuzhiyun Build OpenSBI with the U-Boot as a Payload. 111*4882a593Smuzhiyun 112*4882a593Smuzhiyunconfig BR2_TARGET_OPENSBI_FW_FDT_PATH 113*4882a593Smuzhiyun bool "Include U-Boot DTB in OpenSBI Payload" 114*4882a593Smuzhiyun depends on BR2_TARGET_OPENSBI_UBOOT_PAYLOAD 115*4882a593Smuzhiyun select BR2_TARGET_UBOOT_FORMAT_DTB 116*4882a593Smuzhiyun help 117*4882a593Smuzhiyun Build OpenSBI with FW_FDT_PATH set to 118*4882a593Smuzhiyun $(BINARIES_DIR)/u-boot.dtb. Note that CONFIG_OF_SEPARATE 119*4882a593Smuzhiyun must be set in the U-Boot configuration for this file to be 120*4882a593Smuzhiyun produced. 121*4882a593Smuzhiyun 122*4882a593Smuzhiyunendif 123