On 11/11/25 11:28, Corvin Köhne wrote:
From: YannickV <[email protected]>

This adds the Beckhoff Communication Controller (CCAT). The information
block, EEPROM interface and DMA controller are currently  implemented.

The EEPROM provides production information for Beckhoff Devices.
An EEPORM binary must therefor be handed over. It should be aligned to
a power of two. If no EEPROM binary is handed over an empty EEPROM of
size 4096 is initialized.

This device is needed for the Beckhoff CX7200 board emulation.

Signed-off-by: YannickV <[email protected]>
---
  hw/misc/Kconfig         |   3 +
  hw/misc/beckhoff_ccat.c | 338 ++++++++++++++++++++++++++++++++++++++++
  hw/misc/meson.build     |   1 +
  3 files changed, 342 insertions(+)
  create mode 100644 hw/misc/beckhoff_ccat.c


+#define TYPE_BECKHOFF_CCAT "beckhoff-ccat"
+OBJECT_DECLARE_SIMPLE_TYPE(BeckhoffCcat, BECKHOFF_CCAT)
+
+#define MAX_NUM_SLOTS 32
+#define CCAT_FUNCTION_BLOCK_SIZE 16
+
+#define CCAT_EEPROM_OFFSET 0x100
+#define CCAT_DMA_OFFSET 0x8000
+
+#define CCAT_MEM_SIZE 0xFFFF

Likely

  #define CCAT_MEM_SIZE (64 * KiB)

+#define CCAT_DMA_SIZE 0x800
+#define CCAT_EEPROM_SIZE 0x20
+
+#define EEPROM_MEMORY_SIZE 0x1000


Reply via email to