I noticed that with the latest Jetpack versions 6.1 and 6.2 GPIO pins are all input by default. Is there a way to make them biderectional without using devmem or creating a custom PINMUX and reflashing the device?
In the previous versions, I was just using Jetson.GPIO and setting them up like this:
Are you using the devkit or custom board for Orin Nano?
Sorry that the answer is no. The pinmux is configured in MB1(early boot) for PADCTL register so that you have to configure them in pinmux spreadsheet and generate pinmux/gpio dtsi and reflash the board to apply the change.
I am using the devkit. Thank you for your answer. Unfortunately, this creates a scaling problem. I was planning to create multiple Jetson devices by cloning their SSDs. If the flash is required every time, I can’t simply clone SSDs
May I know what’s your use case to update pinmux frequently?
As my understanding, you can configure the pins for your use case.
After you’ve updated all related dtsi in BSP package, you can use initrd script to create the mfi package and simply flash SSD on other board.
Sorry, for the confusion. I thought that I can just clone the SSD of the Jetson so I don’t have to reflash everytime. I just find out that I have to flash either way, I have to reflash the Jetson.
So changing the pinmux once and creating a clone of the image will be enough for me. I don’t have to change it frequently. I just want to control fans and motors with the pins.
I might have an another problem on this topic. I think pins are sometimes not working even after editing the PINMUX. I will create a new topic if issue persists.
Okay, you can open another topic to discuss them in details.
To control a pin, you have to configure the pin as Output or Bidirectional in pinmux spreadsheet before use.
Please also confirm that there’s no other driver request/use this pin from device tree.