Custom Carrier Board gets stuck during boot with TX2 NX, Xavier NX and Nano

We have designed a custom carrier board, that is supposed to work with Jetson TX2 NX, Jetson Nano and Jetson Xavier NX. The design of our board is based on the stock devkit boards by NVIDIA (we have followed the product design guide for power sequencing, peripheral electronics etc.). We have even been able to successfully boot the Jetson Xavier NX with the stock image by NVIDIA on our custom carrier board. Further, in our design, we are using the additional functionality for sdmmc3 for which we have made the required pinmux changes in the images of all the three devices. We also have a third party custom carrier board which supports all three devices. We used this third party board to validate our pinmux changes and they are working fine on it. The issue we are facing on our carrier board is that after plugging in the power source all the modules have trouble booting up, and get stuck in what seems to be the bootloader shell, from where we can manually boot up the device using a simple command “boot”(screenshot attached below for TX2 NX, similar behaviour observed on other devices). Since this happens before the Ubuntu OS has started booting we do not have a display available, hence we need to use the UART communication method, where we can see this bootloader shell and enter the “boot” command. After this command the modules boot up normally and the default ubuntu bash shell loads.

Can you tell us what are the probable causes, that can cause, the device to not boot automatically on providing power?

Is such behavior possible due to wrong pinmux config for enabling sdmmc3?

Also what would be the best way to track down any possible hardware issues with the carrier board?

You can share the full log from uart. Not only the last line coming out.
So that we can know what happened.

Hey @WayneWWW appreciate such a quick reply, I’ve attached the full log from uart corresponding to the images that I have attached in my previous message. This is a TX2 NX module with the Pinmux changes made for sdmmc3 i.e. replacing the tegra186-p3636-0001-p3509-0000-a01.dtb and tegra186-mb1-bct-pinmux-p3636-0001-a00.cfg file and flashed using sdk manager. I have followed the following steps as can be seen in the logs -

  1. Boot manually using the “boot” command
  2. log in to the device(gamma@gamma-desktop) after the boot is complete
  3. perform a shutdown → “sudo shutdown now”

TX2_NX_uart_boot_logs.txt (16.9 KB)

You didn’t get my point… there are logs before the stuck in uboot… I need those logs but not the log after you enter “boot”.

Also, what did you mean you modify cfg files and still use sdkmanager? Are you talking about or you are really using sdkm?