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?