Re: [PATCH v4 4/4] arm64: dts: rockchip: Enable CAN controller on RK3588-Tiger-Haikou

From: Quentin Schulz

Date: Fri Jul 03 2026 - 10:21:55 EST


Hi Heiko, Cunhao,

On 7/3/26 10:01 AM, Cunhao Lu wrote:
From: Heiko Stuebner <heiko.stuebner@xxxxxxxxx>

CAN0 is piped through the Q7-connector to the CAN-Header on the Haikou
base-board, so enable support for it there.

At least on RK3588-Tiger, the CAN clocks default to 99MHz, limiting
usable CAN bitrates without skew. Errata documentation mentions
300MHz as the default frequency on RK3568, so replicate this here
to allow more bitrates.

Signed-off-by: Heiko Stuebner <heiko.stuebner@xxxxxxxxx>
Signed-off-by: Cunhao Lu <1579567540@xxxxxx>
---
arch/arm64/boot/dts/rockchip/rk3588-tiger-haikou.dts | 6 ++++++
1 file changed, 6 insertions(+)

diff --git a/arch/arm64/boot/dts/rockchip/rk3588-tiger-haikou.dts b/arch/arm64/boot/dts/rockchip/rk3588-tiger-haikou.dts
index 873fbeb8daa1..6273e695b039 100644
--- a/arch/arm64/boot/dts/rockchip/rk3588-tiger-haikou.dts
+++ b/arch/arm64/boot/dts/rockchip/rk3588-tiger-haikou.dts
@@ -155,6 +155,12 @@ vddd_audio_1v6: regulator-vddd-audio-1v6 {
};
};
+&can0 {
+ assigned-clocks = <&cru CLK_CAN0>;
+ assigned-clock-rates = <300000000>;

Why is this not SoC-specific? We are only routing the signal from the SoC after all.

If it cannot be put into rk3588-base.dtsi for some reason and is product-specific... Why is this in the baseboard DTS and not in the SoM DTSI? I would like to avoid our customers to have to copy things over if they should just work on their baseboard too if they don't do crazy things there.

I'll try to find time to test the three CAN controllers on RK3588 Jaguar with the CAN1-CAN2-UART4 Mezzanine adapter board and will contribute an overlay for that if it goes well. I don't have a CAN-FD adapter though but I hope they reused the exact same IP for the three controllers in the SoC :)

Cheers,
Quentin