From: YannickV <y.vos...@beckhoff.com>

The CX7200 polls for statusregisters in the DDR Controller.
To avaid endless polling loops, a dummy DDR Controller is
added.

Signed-off-by: Yannick Voßen <y.vos...@beckhoff.com>
---
 hw/arm/beckhoff_CX7200.c | 13 +++++++++++++
 1 file changed, 13 insertions(+)

diff --git a/hw/arm/beckhoff_CX7200.c b/hw/arm/beckhoff_CX7200.c
index 0fe03f570f..8c1379aab4 100644
--- a/hw/arm/beckhoff_CX7200.c
+++ b/hw/arm/beckhoff_CX7200.c
@@ -141,6 +141,17 @@ static void ccat_init(uint32_t base)
     sysbus_mmio_map(busdev, 0, base);
 }
 
+static void ddr_ctrl_init(uint32_t base)
+{
+    DeviceState *dev;
+    SysBusDevice *busdev;
+
+    dev = qdev_new("zynq.ddr-ctlr");
+    busdev = SYS_BUS_DEVICE(dev);
+    sysbus_realize_and_unref(busdev, &error_fatal);
+    sysbus_mmio_map(busdev, 0, base);
+}
+
 static inline int beckhoff_cx7200_init_spi_flashes(uint32_t base_addr,
                                         qemu_irq irq, bool is_qspi, int unit0)
 {
@@ -326,6 +337,8 @@ static void beckhoff_cx7200_init(MachineState *machine)
 
     ccat_init(0x40000000);
 
+    ddr_ctrl_init(0xF8006000);
+
     /*
      * Compatible with:
      * - SD Host Controller Specification Version 2.0 Part A2
-- 
2.49.0


Reply via email to