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!
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