[PATCH v6 2/4] can: rockchip: add RK3588 CAN support

Cunhao Lu 1579567540 at qq.com
Tue Aug 11 08:05:29 PDT 2026


Hi Marc,

I would like to follow up on my previous email regarding RK3588 CAN-FD
and TDC.

As reported previously:

> Enabling TDC makes the transmitter enter bus-off for every TDCO value
> tested. This includes the framework value (TDCO=48), TDCO=0, and the
> non-zero values 1, 8, 16, 24, 32, 40, 48 and 56. With TDCO=63, only one
> frame was received during a 10 second test, so that setting is not usable.

I have now also completed a 20-hour CAN-FD test with TDC disabled, using
the same setup as described in my previous email:

  Board:             embedfire,rk3588-lubancat-5io
  CAN clock:         300 MHz
  Nominal bitrate:   500 kbit/s
  Data bitrate:      5 Mbit/s
  Sample points:     80% nominal, 80% data
  Bus:               can0 and can1 directly connected, 60 Ohm termination

The 5 Mbit/s data bitrate is the maximum supported by the CAN
transceivers on this board.

No frames were lost during the 20-hour test, and no CAN errors were
reported in the kernel log. The final ifconfig statistics were:

  can0 RX: 607939922 packets, 9613049987 bytes (9.6 GB)
  can0 TX: 607939922 packets, 9613049987 bytes (9.6 GB)
  can1 RX: 607939922 packets, 9613049987 bytes (9.6 GB)

The error, dropped, and overrun counters were all zero. The kernel log
contained fewer than ten TXE_FIFO_FULL_INT informational messages during
the entire test, with no corresponding frame loss, bus error, or bus-off
event.

These results show that, on this hardware setup, RK3588 CAN-FD operates
reliably at 5 Mbit/s when TDC is disabled, while enabling TDC prevents
normal CAN communication.

Would it therefore be acceptable to drop RKCANFD_QUIRK_CANFD_BROKEN for
RK3588 and enable CAN-FD support while explicitly keeping TDC disabled?

Alternatively, should I follow your earlier suggestion and add
RKCANFD_QUIRK_CANFD_BROKEN back for RK3588 in this series?

Best regards,
Cunhao


More information about the linux-arm-kernel mailing list