[PATCH v11 00/13] fpga: zynqmp: Adding support of loading authenticated images
Oleksandr Suvorov
oleksandr.suvorov at foundries.io
Tue Jul 5 21:23:07 CEST 2022
This patchset introduces support for the authenticated and encrypted
FPGA images on ZynqMP boards, besides that introducing common way to
pass the compatible property to any fpga driver.
It bases on the initial work by Jorge Ramirez-Ortiz <jorge at foundries.io>
https://patchwork.ozlabs.org/project/uboot/patch/20211015091506.2602-1-jorge@foundries.io/
https://patchwork.ozlabs.org/project/uboot/patch/20211005111324.19749-3-jorge@foundries.io/
Changes in v11:
- Fix treating an incoming FPGA image with empty flags parameter as
legacy.
- add Tested-by records.
Changes in v10:
- move FPGA flags to macros;
- initialize xilinx_desc structs directly, removing *_DESC macros;
- initialize flags for mach-zynq;
- fix mixed types of return value;
- made the message about ignoring legacy compatibe option as debug
- fix grammar;
- Support DDR images only if FPGA_LOAD_SECURE enabled.
- Support ENC images only if FPGA_LOAD_SECURE enabled.
Changes in v9:
- remove an alien commit from a patchset :)
Changes in v8:
- Michal Simek's suggestions addressed:
-- introduce the compatible flags in xilinx_desc;
-- pass a binary compatible flag instead of "compatible" property to
an FPGA driver.
- Optimize a zynqmp_load() function.
Changes in v7:
- apply Michal Simek's suggestions
As I applied changes on Oleksandr's patches, I indicated it by
specifying myself as co-author in the commits logs. I am not sure
if that is the convention of marking it.
Changes in v6:
- add support for the encrypted bitfiles.
Changes in v5:
- replace ifdef with if() where it's possible.
Changes in v4:
- change interface to xilinx_desc->operations->open() callback.
- fix a bug from previous version of the patchset in dereferencing
of a parent fpga_desc structure.
Changes in v3:
- remove the patch which introduced CMD_SPL_FPGA_LOAD_SECURE.
- fix mixing definitions/declarations.
- replace strcmp() calls with more secure strncmp().
- document the "u-boot,zynqmp-fpga-ddrauth" compatible string.
- fix code style by check-patch recommendations.
Changes in v2:
- add function fit_fpga_load() to simplify calls of fpga_load()
from contexts without a compatible attribute.
- move all ZynqMP-specific logic to drivers/fpga/zynqmppl.c
- prepare for passing a "compatible" FDT property to any fpga driver.
Adrian Fiergolski (1):
fpga: zynqmp: support loading encrypted bitfiles
Oleksandr Suvorov (12):
fpga: add option for loading FPGA secure bitstreams
fpga: xilinx: add missed identifier names
fpga: xilinx: add bitstream flags to driver desc
fpga: zynqmp: add str2flags call
fpga: add fpga_compatible2flag
fpga: xilinx: pass compatible flags to xilinx_load()
fpga: pass compatible flags to fpga_load()
spl: fit: pass real compatible flags to fpga_load()
fpga: xilinx: pass compatible flags to load() callback
fpga: zynqmp: optimize zynqmppl_load() code
fpga: zynqmp: add bitstream compatible checking
fpga: zynqmp: support loading authenticated images
arch/arm/mach-zynq/cpu.c | 1 +
board/xilinx/versal/board.c | 5 +-
board/xilinx/zynqmp/zynqmp.c | 5 +-
boot/Kconfig | 4 +-
boot/image-board.c | 4 +-
cmd/Kconfig | 3 +-
cmd/fpga.c | 8 +-
common/spl/spl_fit.c | 16 ++--
doc/uImage.FIT/source_file_format.txt | 7 +-
drivers/fpga/Kconfig | 14 ++++
drivers/fpga/fpga.c | 31 +++++++-
drivers/fpga/spartan2.c | 2 +-
drivers/fpga/spartan3.c | 2 +-
drivers/fpga/versalpl.c | 2 +-
drivers/fpga/virtex2.c | 2 +-
drivers/fpga/xilinx.c | 8 +-
drivers/fpga/zynqmppl.c | 104 ++++++++++++++++++++++----
drivers/fpga/zynqpl.c | 2 +-
include/fpga.h | 4 +-
include/versalpl.h | 3 -
include/xilinx.h | 19 +++--
include/zynqmppl.h | 9 ++-
22 files changed, 199 insertions(+), 56 deletions(-)
--
2.36.1
More information about the U-Boot
mailing list