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


Reply via email to