So my error seems to be related to the clock settings for can0 & can1. What I learned from searching this forum is that these settings are configured in various device tree files. The manufacturer of the carrier board ships ready-to-flash files for Jetpack 4.6.: https://auvidea.eu/download/firmware/DS/Jetpack4.6_AGX_Xavier_BSP.tar.gz
After extracting the tar archive, I can run
$ sudo bash ./flashcmd.txt
to flash the Xavier. I have been trying to resolve the issue, but without much success. This is what I have tried:
These are my modified files (I modified p2888-a01.dtb instead of p2888-a04.dtb because the -a04.dtb did not seem to be used in the normal flashing process. There is no single line mentioning the -a04.dtb. Instead, the -a01.dtb is present in the flash logs.): tegra194-a02-bpmp-p2888-a01.dtb (965.7 KB) tegra194-p2888-0001-p2822-0000.dtb (285.4 KB)
Modify the same files trying to revert back to pll_c instead of pllaon
Both attempts seem to not have any effect - I always get the same return values from the following commands:
I have not yet touched the kernel sources. The carrier board manufacturer does provide their modified kernel sources, however. So building the binaries based on the sources may be another option for me.
Do you know where I can find the mttcan driver file that is referenced in your linked developer guide?
This is my flashlog, maybe it is of some use: flashlog.txt (393.7 KB)
after that,
please check /boot/extlinux/extlinux.conf, it’s LINUX entry to specify the kernel image, you should modify that and point to your compiled kernel image.
I believe this section caused the pllaon clock to be unavailable as parent clock for the can clocks. Other device tree files provided by the carrier board manufacturer seemed to be fine.
I then built the kernel according to the guide from steps 1. to 7. and then needed to edit the BPMPFW DTB (tegra194-a02-bpmp-p2888-a04.dtb) file in the /Linux_for_Tegra/bootloader/t186ref directory using the dtc tool according to the section To use PLLAON as clock source of the referenced guide.
Then I flashed the board and now I am able to use the CAN bus as expected, using pllaon as pll_source for mttcan.
I was wondering where the sources for tegra194-a02-bpmp-p2888-a04.dtb are located? Or is using the dtc tool to de-/recompile the only option here?