mbox series

[v1,0/8] Xilinx Versal CFI support

Message ID 20230710140249.56324-1-francisco.iglesias@amd.com (mailing list archive)
Headers show
Series Xilinx Versal CFI support | expand

Message

Francisco Iglesias July 10, 2023, 2:02 p.m. UTC
Hi,

This series adds support for the Configuration Frame Unit (CFU) and the
Configuration Frame controllers (CFRAME) to the Xilinx Versal machine
([1], chapter 21) for emulaing bitstream loading and readback.

The series starts by introducing the Xilinx CFI interface that is
thereafter used by the Xilinx CFU components, the Xilinx CFRAME and Xilinx
CFRAME broadcast models for transfering CFI packets between each other.
Thereafter a model of the CFU_APB, CFU_FDRO and CFU_SFR are introduced and
also models of the CFRAME controller and CFRAME broadcast controller.

The series thereafter ends with connecting the models to Xilinx Versal
machine.

Best regards,
Francisco Iglesias

References:
[1] https://docs.xilinx.com/r/en-US/am011-versal-acap-trm/PSM-Local-Registers


Francisco Iglesias (8):
  hw/misc: Introduce the Xilinx CFI interface
  hw/misc: Introduce a model of Xilinx Versal's CFU_APB
  hw/misc/xlnx-versal-cfu: Introduce a model of Xilinx Versal CFU_FDRO
  hw/misc/xlnx-versal-cfu: Introduce a model of Xilinx Versal's CFU_SFR
  hw/misc: Introduce a model of Xilinx Versal's CFRAME_REG
  hw/misc: Introduce a model of Xilinx Versal's CFRAME_BCAST_REG
  hw/arm/xlnx-versal: Connect the CFU_APB, CFU_FDRO and CFU_SFR
  hw/arm/versal: Connect the CFRAME_REG and CFRAME_BCAST_REG

 MAINTAINERS                              |  10 +
 hw/arm/xlnx-versal.c                     | 158 +++-
 hw/misc/meson.build                      |   3 +
 hw/misc/xlnx-cfi-if.c                    |  34 +
 hw/misc/xlnx-versal-cframe-reg.c         | 887 +++++++++++++++++++++++
 hw/misc/xlnx-versal-cfu.c                | 566 +++++++++++++++
 include/hw/arm/xlnx-versal.h             |  85 +++
 include/hw/misc/xlnx-cfi-if.h            |  59 ++
 include/hw/misc/xlnx-versal-cframe-reg.h | 305 ++++++++
 include/hw/misc/xlnx-versal-cfu.h        | 238 ++++++
 10 files changed, 2344 insertions(+), 1 deletion(-)
 create mode 100644 hw/misc/xlnx-cfi-if.c
 create mode 100644 hw/misc/xlnx-versal-cframe-reg.c
 create mode 100644 hw/misc/xlnx-versal-cfu.c
 create mode 100644 include/hw/misc/xlnx-cfi-if.h
 create mode 100644 include/hw/misc/xlnx-versal-cframe-reg.h
 create mode 100644 include/hw/misc/xlnx-versal-cfu.h

Comments

Edgar E. Iglesias July 12, 2023, 12:20 p.m. UTC | #1
On Mon, Jul 10, 2023 at 4:02 PM Francisco Iglesias <
francisco.iglesias@amd.com> wrote:

> Hi,
>
> This series adds support for the Configuration Frame Unit (CFU) and the
> Configuration Frame controllers (CFRAME) to the Xilinx Versal machine
> ([1], chapter 21) for emulaing bitstream loading and readback.
>
> The series starts by introducing the Xilinx CFI interface that is
> thereafter used by the Xilinx CFU components, the Xilinx CFRAME and Xilinx
> CFRAME broadcast models for transfering CFI packets between each other.
> Thereafter a model of the CFU_APB, CFU_FDRO and CFU_SFR are introduced and
> also models of the CFRAME controller and CFRAME broadcast controller.
>
> The series thereafter ends with connecting the models to Xilinx Versal
> machine.
>

I just had a quick look and the series LGTM!
Acked-by: Edgar E. Iglesias <edgar@zeroasic.com>



>
> Best regards,
> Francisco Iglesias
>
> References:
> [1]
> https://docs.xilinx.com/r/en-US/am011-versal-acap-trm/PSM-Local-Registers
>
>
> Francisco Iglesias (8):
>   hw/misc: Introduce the Xilinx CFI interface
>   hw/misc: Introduce a model of Xilinx Versal's CFU_APB
>   hw/misc/xlnx-versal-cfu: Introduce a model of Xilinx Versal CFU_FDRO
>   hw/misc/xlnx-versal-cfu: Introduce a model of Xilinx Versal's CFU_SFR
>   hw/misc: Introduce a model of Xilinx Versal's CFRAME_REG
>   hw/misc: Introduce a model of Xilinx Versal's CFRAME_BCAST_REG
>   hw/arm/xlnx-versal: Connect the CFU_APB, CFU_FDRO and CFU_SFR
>   hw/arm/versal: Connect the CFRAME_REG and CFRAME_BCAST_REG
>
>  MAINTAINERS                              |  10 +
>  hw/arm/xlnx-versal.c                     | 158 +++-
>  hw/misc/meson.build                      |   3 +
>  hw/misc/xlnx-cfi-if.c                    |  34 +
>  hw/misc/xlnx-versal-cframe-reg.c         | 887 +++++++++++++++++++++++
>  hw/misc/xlnx-versal-cfu.c                | 566 +++++++++++++++
>  include/hw/arm/xlnx-versal.h             |  85 +++
>  include/hw/misc/xlnx-cfi-if.h            |  59 ++
>  include/hw/misc/xlnx-versal-cframe-reg.h | 305 ++++++++
>  include/hw/misc/xlnx-versal-cfu.h        | 238 ++++++
>  10 files changed, 2344 insertions(+), 1 deletion(-)
>  create mode 100644 hw/misc/xlnx-cfi-if.c
>  create mode 100644 hw/misc/xlnx-versal-cframe-reg.c
>  create mode 100644 hw/misc/xlnx-versal-cfu.c
>  create mode 100644 include/hw/misc/xlnx-cfi-if.h
>  create mode 100644 include/hw/misc/xlnx-versal-cframe-reg.h
>  create mode 100644 include/hw/misc/xlnx-versal-cfu.h
>
> --
> 2.34.1
>
>