SPI not working on Jetson Nano

Hi, I’ve been crawling through the forums here trying to get SPI to work on the Jetson Nano. This is an emmc model so i can’t use Jetson-Io to configure it for SPI. I have tried device tree overlays, as well as changing the SPI pin functions on the dtb and flashing, but my SPI is still not working. I’m attaching an image of the modified dtb. My L4T version is: nvidia-l4t-core 32.7.5-20240611161210 Please help.

Hi sagartetalitech,

Are you using the devkit or custom board for Jetson Nano wit eMMC module?

You can configure those pins as SPI usage through pinmux spreadsheet.
Please refer to the following instruction for details.
NVIDIA Jetson Linux Developer Guide : Jetson Module Adaptation and Bring-Up | NVIDIA Docs

Using a custom board based on the NVIDIA devkit. This one: https://tannatechbiz.com/tanna-tech-biz-eagle-101-nano-developer-system.html

Apart from changing the rsvd functions, and reflashing, I have run commands specified here: Enable SPI on a Jetson NANO eMMC - #4 by callum.gran.
I have run commands to look at the pin configs. these are the results:

The SPI loopback test fails when I short pins 19 and 21, as well as 37 and 22. However when I bitbang these in GPIO mode the pins seem to work.

Many pins on a Jetson have multiple possible uses of which the device tree is responsible for determining the function. Since you have a custom/third party carrier board, this most likely means the manufacturer of the third party carrier board has a different layout compared to a developer’s kit. The software you get from NVIDIA is for a developer kit. The implication is that if the “correct” PINMUX spreadsheet is used (for a dev kit, which differs from a custom carrier board), or the “correct” device tree is used (which is what the PINMUX spreadsheet creates), then this custom carrier board will fail (at least for some components). You will have to get the information for this from the third party carrier board manufacturer since it isn’t possible for NVIDIA to know what carrier board layout has been chosen.

Sometimes a manufacturer of carrier boards will choose an electrical layout which matches a developer’s kit, but that does not seem to be the case for this. Far more often the manufacturer will provide either (A) a patch to the NVIDIA flash software, or else (B) a rebranded flash software which is basically a patched version of the developer kit software. To know which case you have you have to refer to the documentation from that manufacturer.

There is no update from you for a period, assuming this is not an issue anymore.
Hence, we are closing this topic. If need further support, please open a new one.
Thanks

They are not the expected result to me.

Please share how did you configure them in pinmux spreadsheet.