[PATCH 3/6] can: rockchip-canfd: enable erratum 6 on RK3588
From: Heiko Stuebner
Date: Tue Jun 30 2026 - 12:50:44 EST
From: Heiko Stuebner <heiko.stuebner@xxxxxxxxx>
Sending extended CAN frames from the RK3588's CAN controller, sometimes
sends standard frames, as explained in the erratum's description:
can0 00001234 [4] DE AD BE EF
can0 00000001 [4] DE AD BE EF
can0 000007FF [4] DE AD BE EF
can0 00000800 [4] DE AD BE EF
can0 1FFFFFFF [4] DE AD BE EF
can0 12345678 [4] DE AD BE EF
can0 234 [4] DE AD BE EF
can0 00000001 [4] DE AD BE EF
Enabling the erratum, introduces the correct behaviour in re-sending the
frame:
can0 1FFFFFFF [4] DE AD BE EF
can0 12345678 [4] DE AD BE EF
can0 234 [4] DE AD BE EF
can0 00001234 [4] DE AD BE EF
can0 00000001 [4] DE AD BE EF
Signed-off-by: Heiko Stuebner <heiko.stuebner@xxxxxxxxx>
---
drivers/net/can/rockchip/rockchip_canfd-core.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/drivers/net/can/rockchip/rockchip_canfd-core.c b/drivers/net/can/rockchip/rockchip_canfd-core.c
index 707f387e7cf4..105ca4d5cbef 100644
--- a/drivers/net/can/rockchip/rockchip_canfd-core.c
+++ b/drivers/net/can/rockchip/rockchip_canfd-core.c
@@ -53,6 +53,7 @@ static const struct rkcanfd_devtype_data rkcanfd_devtype_data_rk3568v3 = {
static const struct rkcanfd_devtype_data rkcanfd_devtype_data_rk3588 = {
.model = RKCANFD_MODEL_RK3588,
.quirks = /* Possible more Errata */
+ RKCANFD_QUIRK_RK3568_ERRATUM_6,
RKCANFD_QUIRK_CANFD_BROKEN,
};
--
2.47.3