Can bitrate error 0.2%

Hi,
I modified mttcan "status =okay "of tegra194-soc-can.dtsi ,as well as modified “status = disabled” of clocks-init node. and add 0x5e in tegra194-a02-bpmp-p2888-a04.dtb clock@can.
I tested the CAN interface through the CAN analyzer. bitrate 500000
“ip -detailes -statistics link show can” show
bitrate 498701
clock 3840000
“dmesg | grep mttcan” show
can bitrate error 0.2%

That sounds about right? With the given numbers, that looks like 0.26% accumulated phase skew between the sender and receiver.
Most CAN bus systems have a tolerance of at least 0.5% of the nominal bit rate. There are many, many, reasons for why bit rates won’t actually ever be 100% spot on in actual systems, starting with no crystal being perfectly stable over temperature range and going downhill from there.

Are you trying to use the Jetson in an integrated system with less than 0.26% frequency tolerance?

Hi baijianping,
If you don’t want any error and want fixed bitrate 500000.
You need to change clock to pllaon.
https://docs.nvidia.com/jetson/l4t/index.html#page/Tegra%20Linux%20Driver%20Package%20Development%20Guide/clocks.html#wwpID0E06B0HA