Hello Peter, Gustavo and others, our CTU CAN FD IP core is used on many FPGA platforms and has been even tapeout on some other university and even prototypes of the massive production chips (support for that organized by our former student in his company).
But actual QEMU emulation targets only PCI/PCIe mapping in hw/net/can/ctucan_pci.c its use is described for example by Mateusz Szafoni for the NuttX development there https://railab.me/posts/2025/5/host-based-dev-with-nuttx-can-network/ But possibility to map the CTU CAN FD core hw/net/can/ctucan_core.c https://canbus.pages.fel.cvut.cz/ onto bus of FPGA based devices as well onto integrated SoCs is getting important now. We have developed CAN stack for RTEMS https://docs.rtems.org/docs/main/bsp-howto/can.html which is tested on real Zynq 7000 and even on PCIe x86 under mainline QEMU and with proposed patches on Zynq 7000. The next target on the table is Microchip PolarFire SoC, again under RTEMS and Linux. But there is arising another target, Espressif announced mass production of ESP32-C5 which has integrated CTU CAN FD IP core, the ESP32-H4 is on horizon and there areplans to use our IP core on future devices as well. Thanks for review in advance, I expect that you would prefer to move define of TYPE_CTUCAN_MM_DEV = "ctucan_mm" somewhere in headers or may it be evech nage the type name. So please, specify where and how. I have even questions about better way to process and combine IRQ sources even on PCI/PCIe boards in past. But because there has been no result how it could be changed. On the other hand, current solution works and proposed extension enhances its value for embedded development for broader community a lot. Pavel Pisa (3): hw/net/can: CTU CAN FD IP core mapping to the platform bus hw/net/can: CTU CAN FD IP platform bus mapping enabled for Xilinx Zynq hw/net/can: CTU CAN FD IP mapping enabled for Microchip PolarFire SoC Icicle Kit hw/arm/xilinx_zynq.c | 1 + hw/net/can/ctucan_mm.c | 258 +++++++++++++++++++++++++++++++++++++ hw/net/can/meson.build | 1 + hw/riscv/microchip_pfsoc.c | 2 + 4 files changed, 262 insertions(+) create mode 100644 hw/net/can/ctucan_mm.c -- 2.39.5