What works: I succeed to setup and validate SPI with Jetson-IO tool and spiDev succesfully
What I tried:
Jetson-IO GPIO configuration : I tried to configure a pin as GPIO output or input from the Jetson-IO tool but it is not not supported (no option available)
Device tree overlay :
→ I added a custom DT overlay to configure a pin as GPIO and it is detected correclty with “sudo /opt/nvidia/jetson-io/config-by-hardware.py -l”
→ I tested with the “gpioinfo, gpioget , gpioset” tools without any luck: when I check with a multimeter, the level is randomly changing between 3.3V, 0V and 1.5V.
I am aware there is a patch to apply to avoid issue with GPIO but I do not have a Linux Host system to flash the system. I do not want a solution for rewritting the whole device tree file by reflashing the image (only available from a linux Host system).
My question is simple:
What is the simplest and officially supported way to control a GPIO on a Jetson Orin Nano today? Should I use Jetson SDK 5.X? Should I wait for a new release?
I believe that your issue is caused from the bit 10 of pinmux register has been set.
Please apply the patch from the following thread to check if it could help for your case. 40hdr - SPI1 gpio padctl register bit[10] effect by gpiod tools in JP6 - #20 by KevinFFF
You can simply update the /boot/Image instead of reflashing the board to apply the change.