• R/O
  • HTTP
  • SSH
  • HTTPS

Commit

Tags
No Tags

Frequently used words (click to add to your profile)

javac++androidlinuxc#windowsobjective-ccocoa誰得qtpythonphprubygameguibathyscaphec計画中(planning stage)翻訳omegatframeworktwitterdomtestvb.netdirectxゲームエンジンbtronarduinopreviewer

Commit MetaInfo

Revisionfb2b88567d3b06095b089e70f75160a107710ea8 (tree)
Time2022-07-26 15:42:16
AuthorOleksandr Suvorov <oleksandr.suvorov@foun...>
CommiterMichal Simek

Log Message

fpga: add option for loading FPGA secure bitstreams

It allows using this feature without enabling the "fpga loads"
command.

Signed-off-by: Oleksandr Suvorov <oleksandr.suvorov@foundries.io>
Co-developed-by: Adrian Fiergolski <adrian.fiergolski@fastree3d.com>
Signed-off-by: Adrian Fiergolski <adrian.fiergolski@fastree3d.com>
Tested-by: Ricardo Salveti <ricardo@foundries.io>
Tested-by: Adrian Fiergolski <adrian.fiergolski@fastree3d.com>
Link: https://lore.kernel.org/r/20220722141614.297383-2-oleksandr.suvorov@foundries.io
Signed-off-by: Michal Simek <michal.simek@amd.com>

Change Summary

Incremental Difference

--- a/cmd/Kconfig
+++ b/cmd/Kconfig
@@ -1038,8 +1038,9 @@ config CMD_FPGA_LOADP
10381038 a partial bitstream.
10391039
10401040 config CMD_FPGA_LOAD_SECURE
1041- bool "fpga loads - loads secure bitstreams (Xilinx only)"
1041+ bool "fpga loads - loads secure bitstreams"
10421042 depends on CMD_FPGA
1043+ select FPGA_LOAD_SECURE
10431044 help
10441045 Enables the fpga loads command which is used to load secure
10451046 (authenticated or encrypted or both) bitstreams on to FPGA.
--- a/drivers/fpga/Kconfig
+++ b/drivers/fpga/Kconfig
@@ -104,4 +104,18 @@ config SYS_FPGA_PROG_FEEDBACK
104104 help
105105 Enable printing of hash marks during FPGA configuration.
106106
107+config FPGA_LOAD_SECURE
108+ bool "Enable loading secure bitstreams"
109+ depends on FPGA
110+ help
111+ Enables the fpga loads() functions that are used to load secure
112+ (authenticated or encrypted or both) bitstreams on to FPGA.
113+
114+config SPL_FPGA_LOAD_SECURE
115+ bool "Enable loading secure bitstreams for SPL"
116+ depends on SPL_FPGA
117+ help
118+ Enables the fpga loads() functions that are used to load secure
119+ (authenticated or encrypted or both) bitstreams on to FPGA.
120+
107121 endmenu
--- a/drivers/fpga/fpga.c
+++ b/drivers/fpga/fpga.c
@@ -220,7 +220,7 @@ int fpga_fsload(int devnum, const void *buf, size_t size,
220220 }
221221 #endif
222222
223-#if defined(CONFIG_CMD_FPGA_LOAD_SECURE)
223+#if CONFIG_IS_ENABLED(FPGA_LOAD_SECURE)
224224 int fpga_loads(int devnum, const void *buf, size_t size,
225225 struct fpga_secure_info *fpga_sec_info)
226226 {
--- a/drivers/fpga/xilinx.c
+++ b/drivers/fpga/xilinx.c
@@ -172,7 +172,7 @@ int xilinx_loadfs(xilinx_desc *desc, const void *buf, size_t bsize,
172172 }
173173 #endif
174174
175-#if defined(CONFIG_CMD_FPGA_LOAD_SECURE)
175+#if CONFIG_IS_ENABLED(FPGA_LOAD_SECURE)
176176 int xilinx_loads(xilinx_desc *desc, const void *buf, size_t bsize,
177177 struct fpga_secure_info *fpga_sec_info)
178178 {
--- a/drivers/fpga/zynqmppl.c
+++ b/drivers/fpga/zynqmppl.c
@@ -245,7 +245,7 @@ static int zynqmp_load(xilinx_desc *desc, const void *buf, size_t bsize,
245245 return ret;
246246 }
247247
248-#if defined(CONFIG_CMD_FPGA_LOAD_SECURE) && !defined(CONFIG_SPL_BUILD)
248+#if CONFIG_IS_ENABLED(FPGA_LOAD_SECURE)
249249 static int zynqmp_loads(xilinx_desc *desc, const void *buf, size_t bsize,
250250 struct fpga_secure_info *fpga_sec_info)
251251 {
@@ -306,7 +306,7 @@ static int zynqmp_pcap_info(xilinx_desc *desc)
306306
307307 struct xilinx_fpga_op zynqmp_op = {
308308 .load = zynqmp_load,
309-#if defined(CONFIG_CMD_FPGA_LOAD_SECURE) && !defined(CONFIG_SPL_BUILD)
309+#if CONFIG_IS_ENABLED(FPGA_LOAD_SECURE)
310310 .loads = zynqmp_loads,
311311 #endif
312312 .info = zynqmp_pcap_info,