[PATCH v9 00/13] fpga: zynqmp: Adding support of loading authenticated images

Oleksandr Suvorov oleksandr.suvorov at foundries.io
Wed Jun 1 10:46:10 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 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

 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                   | 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               | 93 ++++++++++++++++++++++-----
 drivers/fpga/zynqpl.c                 |  2 +-
 include/fpga.h                        |  4 +-
 include/versalpl.h                    |  2 +-
 include/xilinx.h                      | 19 ++++--
 include/zynqmppl.h                    |  3 +-
 19 files changed, 177 insertions(+), 51 deletions(-)

-- 
2.36.1



More information about the U-Boot mailing list