According to this, it looks like Xavier NX production modules don’t have SDMMC1, so I can’t boot from an SD card using CBoot. I can put the rootfs on an sd card but the full boot from an SD Card doesn’t seem to work. Is this the correct assumption? When I try to boot from an SD card I see the following:
Which means it can’t read from the sdcard and find the extlinux.conf file on it.
I want to use Xavier NX production modules with off the shelf and custom carrier boards and I need the ability to boot from an SD card. Also does the Xavier NX support booting from NVME after the feature was added to Jetpack 4.6.1?
Please tell us what is your “SDMMC1” here? Are you talking about hardware pin “SDMMC1” or the sdcard device that is enumerated as sdmmc1 in bootloader? These two are totally different things.
I’m not sure what the difference is. If I have a Xavier NX production module, how do I get it to boot off of the SD card? I have a Quark ConnectTech carrier that has a microsd slot.
Here is the dtsi for the Quark carrier board from connecttech. I may be reading this wrong but it looks like it is setting the sd card to sdmmc1. Can you help verify this?tegra194-xavier-nx-cti-base.dtsi (14.4 KB)
I have done that and found where the “No sdcard” print happens (bootloader/partner/common/drivers/sdmmc/tegrabl_sd_card.c). This file references a TEGRABL_STORAGE_SDCARD variable but that variable is just set to an arbitrary id of 6 since it is used to index into some array. I haven’t found anywhere in the code that specifically sets the sd storage device to sdmmc1.
I have no problem reading this code, but you guys should also release some better documentation as this is an issue that many people are running into on this forum
I am sorry that there is no document for cboot code. The only thing can do is track the code.
Even if you seek a help from me, I am also doing the same thing as you, open the code, track the log you want and give you where to change. If you want me to search it for you, please expect some delays.
I’m not sure this is what I need to modify. It looks like tegrabl_sd_get_platform_params has a loop over the sdmmc_nodes and gets the available sdhci slots, but it breaks from that loop after the first available sd card slot it finds which is 0.