Modifying Jetson Nano Device Tree for Custom Carrier Board

Hello, I am attempting to adapt the Jetson Nano Module 900-13448-0020-000, and am attempting to modify the kernel and device tree to work on my custom carrier board. My carrier board is very simple with the only devices being the 4x pcie and ethernet, so I believe I just have to get rid of all the B00 devices for my board to properly boot. I have followed the steps as outlined in. https://docs.nvidia.com/jetson/l4t/index.html#page/Tegra%20Linux%20Driver%20Package%20Development%20Guide%2Fadaptation_and_bringup_nano.html%23
(i.e. I have replaced the pinmux and gpio device tree files in my hardware directory and recompiled the kernel, then moved them over) however I am getting a kernel panic. I think it trying to load a driver for vi, then panicing, but I am under the impression that vi is on the SOM itself, so I am not sure what I am doing wrong. I have attached my log. I am very new to device trees, so thanks for the help.log.txt (24.0 KB)

Just to verify, is this modeled after the b01 revision carrier board, and is the module itself also b01, and not a02? You would not be able to mix and match a02 and b01, but if both are b01, then it should be possible to make it work.

For whoever looks at this next (I can’t answer), it looks like it runs fine up to and including load and start of the kernel. Everything starts going wrong at this i2c very early on, followed by a tegradc.1 failure (and the tegra display controller reads i2c), so if you don’t have HDMI and DisplayPort, be certain that those are disabled in the device tree. I won’t be able to narrow it further, but the kernel panic is related to this attempt to use tegradc.1 (and there is also a tegradc.0…HDMI and DisplayPort on the dev carrier board).

1 Like

My board was based on the downloaded schematic, which I think only the B01 board is accessable. Hmm I will look into making sure I disabled the hdmi.

…and DisplayPort. Remember, the default dev carrier board has an HDMI connector and a DisplayPort connector stacked together. tegradc.0 works with one, tegradc.1 works with the other. I did not see any tegradc.0 error, but did see tegradc.1 error (of course if boot was working on tegradc.1 first, then it would have crashed before it ever got a chance to work with tegradc.0).

ok! I went through and made sure that I disabled hdmi and display ports, and it seems by setting more things to disabled I was able to get it to work (ctrl-f dp-display and hdmi-display worked pretty well). My log looks like this now, which I think is good, so I should just have to get into the oem-config through the usb. Unfortunately I neglected to add that port connected to pins 109 and 111, so I may have to do something a little jank to get first time configuration, haha.log.txt (18.5 KB) unless anyone else has a better idea.

1 Like

According to the latest result, please configure your board with oem-config first.