Hello,
We are currently debugging CAN-tsync and need to read the hardware timestamp. However, we find that the CAN clock cannot be located in bpmp-clk. Why is it not available on Thor, while it is confirmed to exist on AGX Orin?
Are there any suggestions for reading the hardware timestamp (SOF) of CAN-tsync?
Jetpack 7.1 is the version being used.
Looking forward to your reply!
I am using the devkit.
Jetpack 7.1 is the version being used.
Understood, but I now need to read the SOF timestamp. Is there any way to do this?
The main objective is to implement CAN time synchronization (CAN-tsync), which requires capturing the SOF and sending it back to the application layer.
I would appreciate your help, and I really need a feasible solution from you.
I know that I have already reviewed the code here, but when I tried to read it at the application layer, I did not obtain the relevant hardware timestamps.
Have you tried it? Were you able to read it successfully?
Thank you very much for looking into this matter at present. We hope to receive your feedback as soon as there is an update.
First, an attempt was made to read the HW timestamp using candump, but no output was generated.
Then, we checked via ethtool, yet there was no output indicating support for the relevant hardware timestamp feature.
After examining the kernel, we found the corresponding reading code was present, which led us to further suspect whether the CAN node in the device tree had hardware timestamping disabled. We then discovered that bpmp-clk could not be allocated to the CAN controller.
Finally, we wrote a program to configure the Socket timestamp function and extract timestamps from control messages, but the result was still only software timestamps being retrieved.