I have been trying to read GPIO status whether it is HIGH or LOW, but it’s not working. I tried with pull-up as well as pull-down circuits external.ly, but it was not working. Always the status is showing ‘LOW’ only. my system is running with jetpack 6.2.
WHAT TO DO ??
Hi hemsinghb,
Are you using the devkit or custom board for Orin Nano?
Please apply the patch from 40hdr - SPI1 gpio padctl register bit[10] effect by gpiod tools in JP6 - #20 by KevinFFF before verifying GPIO on Orin Nano with JP6.x.
Please also share the detailed steps/commands how do you verify them.
Thank you for the reply. Please let me know the steps to be followed to apply the patch and how to apply it. This may also help others use GPIO pins on the Jetson orin dev kit. I’m using the official original dev kit board.
Please refer to the instructions in Kernel Customization — NVIDIA Jetson Linux Developer Guide to download kernel source first.
The patch should be applied for the <Linux_for_Tegra>/source/kernel/kernel-jammy-src/drivers/pinctrl/tegra/pinctrl-tegra.c
After rebuilding kernel image and copy output file to correct directory in BSP package, please reflash the board to apply change.
This is laborious work. Why doesn’t the Nvidia Jetson group release a new modified version OS image? .
if we do reflash the drive whole root system will be erased , is it reflash is advisable ?
The patch will be included in next release.
You can just replace the kernel image (/boot/Image) on your board to apply the change.
I did but, no change all GPIO pins are same, “OUTPUT” only. what I did: Whole patch file (named as ‘patch.diff’) I have copied and pasted in it and then ran $ git apply --patch.diff . Later I have created kernel image . replaced image and rebooted. No change taken place after reboot. any further advise please.
Best way is put few pins bi-directional on jetson orin, and then create image and circulate as a update to all, so that many user feel happy to use jetson orin. No one have time to go in to so deep and do laborious work, after all making pin as input / out put suppose to be very simple. THANK YOU.
What’s your use case for GPIO? Input or Output?
It seems you want to configure the pinmux.
Normally, you have to configure them in pinmux spreadsheet and update pinmux/gpio dtsi and reflash the board to apply the change since they are configured in MB1.
Alternative, you can also configure them in kernel dtb so that pinctrl-tegra driver will re-configure them during boot up. In this way, you don’t need to reflash the board and save your time.