From: Nikita Shubin <n.shubin@yadro.com>
Date: Mon, 8 Aug 2022 10:28:52 +0000 (+0300)
Subject: spl: opensbi: convert scratch options to config
X-Git-Tag: v2025.01-rc5-pxa1908~1314^2
X-Git-Url: http://git.dujemihanovic.xyz/html/static/git-logo.png?a=commitdiff_plain;h=aa0eda17cf98448c3ef826204f38c76bf48b3345;p=u-boot.git

spl: opensbi: convert scratch options to config

Convert hardcoded "opensbi_info.options" to config provided value, this
allows changing options passed to OpenSBI.

SPL_OPENSBI_SCRATCH_OPTIONS is defaulted to SBI_SCRATCH_NO_BOOT_PRINTS.

Link: https://github.com/riscv-software-src/opensbi/blob/master/docs/firmware/fw_dynamic.md
Signed-off-by: Nikita Shubin <n.shubin@yadro.com>
Reviewed-by: Anup Patel <anup@brainfault.org>
Reviewed-by: Leo Yu-Chi Liang <ycliang@andestech.com>
---

diff --git a/common/spl/Kconfig b/common/spl/Kconfig
index ee98810e9e..70d97815f0 100644
--- a/common/spl/Kconfig
+++ b/common/spl/Kconfig
@@ -1488,6 +1488,14 @@ config SPL_OPENSBI_LOAD_ADDR
 	help
 	  Load address of the OpenSBI binary.
 
+config SPL_OPENSBI_SCRATCH_OPTIONS
+	hex "Scratch options passed to OpenSBI"
+	default 0x1
+	depends on SPL_OPENSBI
+	help
+	  Options passed to fw_dynamic, for example SBI_SCRATCH_NO_BOOT_PRINTS or
+	  SBI_SCRATCH_DEBUG_PRINTS.
+
 config SPL_TARGET
 	string "Addtional build targets for 'make'"
 	default "spl/u-boot-spl.srec" if RCAR_GEN2
diff --git a/common/spl/spl_opensbi.c b/common/spl/spl_opensbi.c
index 7fe0b5e158..b0f40076c3 100644
--- a/common/spl/spl_opensbi.c
+++ b/common/spl/spl_opensbi.c
@@ -71,7 +71,7 @@ void spl_invoke_opensbi(struct spl_image_info *spl_image)
 	opensbi_info.version = FW_DYNAMIC_INFO_VERSION;
 	opensbi_info.next_addr = uboot_entry;
 	opensbi_info.next_mode = FW_DYNAMIC_INFO_NEXT_MODE_S;
-	opensbi_info.options = SBI_SCRATCH_NO_BOOT_PRINTS;
+	opensbi_info.options = CONFIG_SPL_OPENSBI_SCRATCH_OPTIONS;
 	opensbi_info.boot_hart = gd->arch.boot_hart;
 
 	opensbi_entry = (void (*)(ulong, ulong, ulong))spl_image->entry_point;