All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v1 0/6] hw/arm/sabrelite: Add FlexCAN support
@ 2025-12-15 20:03 Matyáš Bobek
  2025-12-15 20:03 ` [PATCH v1 1/6] hw/arm/sabrelite: Convert machine to full class Matyáš Bobek
                   ` (6 more replies)
  0 siblings, 7 replies; 17+ messages in thread
From: Matyáš Bobek @ 2025-12-15 20:03 UTC (permalink / raw)
  To: qemu-devel, Matyas Bobek, Pavel Pisa, Bernhard Beschow
  Cc: Marc Kleine-Budde, Oliver Hartkopp, Nikita Ostrenkov,
	Peter Maydell, Matyáš Bobek

This series adds emulation of the FlexCAN CAN controller, version 2,
found in NXP i.MX6 series SoCs. The controller is integrated into
fsl-imx6 and the Sabrelite ARM board.

The chip has two FlexCAN controllers, but the Linux Sabrelite
device tree enables only one by default. Linux kernel with both
controllers enabled has been tested to work properly (using a custom
device tree).
See docs/system/devices/can.rst for an example of QEMU command line
invocation.

More information about the implementation can be found in my bachelor
thesis [1].

[1] http://dspace.cvut.cz/bitstream/handle/10467/122654/F3-BP-2025-Bobek-Matyas-BP_Bobek_FlexCAN_final_4.pdf

Matyáš Bobek (6):
  hw/arm/sabrelite: Convert machine to full class
  hw/misc/imx6_ccm: Add PLL3 and CAN clock
  hw/net/can/flexcan: NXP FlexCAN core emulation
  hw/arm: Plug FlexCAN into FSL_IMX6 and Sabrelite
  tests: Add qtests for FlexCAN
  docs/arm/sabrelite: Mention FlexCAN support

 MAINTAINERS                   |    2 +
 docs/system/arm/sabrelite.rst |    1 +
 docs/system/devices/can.rst   |   20 +
 hw/arm/Kconfig                |    1 +
 hw/arm/fsl-imx6.c             |   29 +
 hw/arm/sabrelite.c            |   70 +-
 hw/misc/imx6_ccm.c            |   24 +
 hw/misc/trace-events          |    2 +
 hw/net/Kconfig                |    5 +
 hw/net/can/flexcan.c          | 1469 +++++++++++++++++++++++++++++++++
 hw/net/can/flexcan_regs.h     |  188 +++++
 hw/net/can/meson.build        |    1 +
 hw/net/can/trace-events       |   18 +
 include/hw/arm/fsl-imx6.h     |    7 +
 include/hw/misc/imx6_ccm.h    |    4 +
 include/hw/misc/imx_ccm.h     |    1 +
 include/hw/net/flexcan.h      |  153 ++++
 tests/qtest/flexcan-test.c    |  411 +++++++++
 tests/qtest/meson.build       |    1 +
 19 files changed, 2397 insertions(+), 10 deletions(-)
 create mode 100644 hw/net/can/flexcan.c
 create mode 100644 hw/net/can/flexcan_regs.h
 create mode 100644 include/hw/net/flexcan.h
 create mode 100644 tests/qtest/flexcan-test.c

-- 
2.52.0



^ permalink raw reply	[flat|nested] 17+ messages in thread

end of thread, other threads:[~2026-01-16 12:56 UTC | newest]

Thread overview: 17+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-12-15 20:03 [PATCH v1 0/6] hw/arm/sabrelite: Add FlexCAN support Matyáš Bobek
2025-12-15 20:03 ` [PATCH v1 1/6] hw/arm/sabrelite: Convert machine to full class Matyáš Bobek
2026-01-02 13:31   ` Bernhard Beschow
2025-12-15 20:03 ` [PATCH v1 2/6] hw/misc/imx6_ccm: Add PLL3 and CAN clock Matyáš Bobek
2025-12-18 22:33   ` Bernhard Beschow
2025-12-15 20:03 ` [PATCH v1 3/6] hw/net/can/flexcan: NXP FlexCAN core emulation Matyáš Bobek
2026-01-02 14:53   ` Bernhard Beschow
2026-01-16  9:53     ` Bernhard Beschow
2026-01-16 12:54       ` Pavel Pisa
2025-12-15 20:03 ` [PATCH v1 4/6] hw/arm: Plug FlexCAN into FSL_IMX6 and Sabrelite Matyáš Bobek
2026-01-02 14:56   ` Bernhard Beschow
2025-12-15 20:03 ` [PATCH v1 5/6] tests: Add qtests for FlexCAN Matyáš Bobek
2026-01-02 15:31   ` Bernhard Beschow
2025-12-15 20:03 ` [PATCH v1 6/6] docs/arm/sabrelite: Mention FlexCAN support Matyáš Bobek
2026-01-02 15:11   ` Bernhard Beschow
2025-12-16  0:44 ` [PATCH v1 0/6] hw/arm/sabrelite: Add " Pavel Pisa
2025-12-18 23:38   ` Bernhard Beschow

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.