mbox series

[v7,0/7] fpga: zynqmp: Adding support of loading authenticated images

Message ID 20220411180046.1505209-1-adrian.fiergolski@fastree3d.com
Headers show
Series fpga: zynqmp: Adding support of loading authenticated images | expand

Message

Adrian Fiergolski April 11, 2022, 6 p.m. UTC
This patchset introduces support for the authenticated 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/

Changed 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.

Changed 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.

Oleksandr Suvorov (6):
  fpga: add option for loading FPGA secure bitstreams
  fpga: add fit_fpga_load function
  fpga: xilinx: pass an address of xilinx_desc in fpga_desc
  fpga: xilinx: add missed identifier names
  fpga: xilinx: pass xilinx_desc pointer address into load() ops
  fpga: zynqmp: support loading authenticated images

Adrian Fiergolski (1):
  fpga: zynqmp: support loading encrypted bitfiles

 boot/Kconfig                          |  4 +--
 cmd/Kconfig                           |  3 ++-
 common/spl/spl_fit.c                  |  6 ++---
 doc/uImage.FIT/source_file_format.txt |  7 +++++-
 drivers/fpga/Kconfig                  | 14 +++++++++++
 drivers/fpga/fpga.c                   | 29 ++++++++++++++++++---
 drivers/fpga/spartan2.c               |  3 ++-
 drivers/fpga/spartan3.c               |  3 ++-
 drivers/fpga/versalpl.c               |  2 +-
 drivers/fpga/virtex2.c                |  3 ++-
 drivers/fpga/xilinx.c                 |  8 +++---
 drivers/fpga/zynqmppl.c               | 36 ++++++++++++++++++++++++---
 drivers/fpga/zynqpl.c                 |  3 ++-
 include/fpga.h                        |  5 ++++
 include/xilinx.h                      | 12 +++++----
 15 files changed, 109 insertions(+), 29 deletions(-)

Comments

Michal Simek May 3, 2022, 7:56 a.m. UTC | #1
On 4/11/22 20:00, Adrian Fiergolski wrote:
> This patchset introduces support for the authenticated 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/
> 
> Changed 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.
> 
> Changed 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.
> 
> Oleksandr Suvorov (6):
>    fpga: add option for loading FPGA secure bitstreams
>    fpga: add fit_fpga_load function
>    fpga: xilinx: pass an address of xilinx_desc in fpga_desc
>    fpga: xilinx: add missed identifier names
>    fpga: xilinx: pass xilinx_desc pointer address into load() ops
>    fpga: zynqmp: support loading authenticated images
> 
> Adrian Fiergolski (1):
>    fpga: zynqmp: support loading encrypted bitfiles
> 
>   boot/Kconfig                          |  4 +--
>   cmd/Kconfig                           |  3 ++-
>   common/spl/spl_fit.c                  |  6 ++---
>   doc/uImage.FIT/source_file_format.txt |  7 +++++-
>   drivers/fpga/Kconfig                  | 14 +++++++++++
>   drivers/fpga/fpga.c                   | 29 ++++++++++++++++++---
>   drivers/fpga/spartan2.c               |  3 ++-
>   drivers/fpga/spartan3.c               |  3 ++-
>   drivers/fpga/versalpl.c               |  2 +-
>   drivers/fpga/virtex2.c                |  3 ++-
>   drivers/fpga/xilinx.c                 |  8 +++---
>   drivers/fpga/zynqmppl.c               | 36 ++++++++++++++++++++++++---
>   drivers/fpga/zynqpl.c                 |  3 ++-
>   include/fpga.h                        |  5 ++++
>   include/xilinx.h                      | 12 +++++----
>   15 files changed, 109 insertions(+), 29 deletions(-)
> 

Thanks for continuing on this work. We are almost there. Just small things to 
finish and we are ready to go.

Thanks,
Michal