Message ID | 20220722141614.297383-1-oleksandr.suvorov@foundries.io |
---|---|
Headers | show |
Series | fpga: zynqmp: Adding support of loading authenticated images | expand |
On 7/22/22 16:16, Oleksandr Suvorov wrote: > CAUTION: This message has originated from an External Source. Please use proper judgment and caution when opening attachments, clicking links, or responding to this email. > > > 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@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 v12: > - define the function only if FPGA_LOAD_SECURE enabled; > - convert "compatible" to flags only if FPGA_LOAD_SECURE enabled; > - fix a commit message > - remove obsolete debug() message > - exclude all secure-related code if FPGA_LOAD_SECURE is disabled > - reduce the size of SPL if FPGA_LOAD_SECURE disabled. > > 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: xilinx: pass compatible flags to xilinx_load() > fpga: pass compatible flags to fpga_load() > fpga: add fpga_compatible2flag > spl: fit: pass real compatible flags to fpga_load() > fpga: xilinx: pass compatible flags to load() callback > fpga: zynqmp: reduce 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 | 17 +++-- > doc/uImage.FIT/source_file_format.txt | 7 +- > drivers/fpga/Kconfig | 14 ++++ > drivers/fpga/fpga.c | 33 ++++++++- > 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 | 99 ++++++++++++++++++++++----- > drivers/fpga/zynqpl.c | 2 +- > include/fpga.h | 4 +- > include/versalpl.h | 3 - > include/xilinx.h | 21 ++++-- > include/zynqmppl.h | 9 ++- > 22 files changed, 199 insertions(+), 56 deletions(-) > > -- > 2.36.1 > Applied with adding one macro in 12/13. Thanks, Michal