[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