How do I set the default GPIO level status for Jetson AGX Orin

I need to set GPIO07、GPIO09、GPIO08、GPIO10,I want these IO to be set to the default low level…

I tried to modify pinmux and generated *.dtsi file.When I flash successfully, I find that the status of the GPIOs has not changed, and on startup, the GPIOs are at a high level, not the low level I expected…


Orin-rg0-padvoltage-default.txt (1.3 KB)
Orin-rg0-pinmux.txt (64.6 KB)
Orin-rg0-gpio-default.txt (2.0 KB)

Hi,

Are you sure the updated pinmux files are really flashed into the device?
Did you follow everything described here?
https://docs.nvidia.com/jetson/archives/r35.4.1/DeveloperGuide/text/HR/JetsonModuleAdaptationAndBringUp/JetsonAgxOrinSeries.html#pinmux-changes

Hello, DaveYYY,

I follow this content to the letter,Jetson AGX Orin Platform Adaptation and Bring-Up — Jetson Linux Developer Guide documentation.

In addition to modifying pinmux and updating dtsi files, do you need to rebuild and compile the device tree?

I mean how did you flash it?
Are you sure the pinmux setting file is pointed to in the board config file?
You don’t need to play with device tree here.

Sorry, I didn’t verify that the pinmux update was successful because I don’t know how to check, but my flash succeeded.
After updating the *.dtsi file, I directly use the directive “$./flash rg0-agx-orin-351 mmcblk0p1”,

flashLog.txt (94.7 KB)

copying pinmux_config(/home/user/nvidia/nvidia_sdk/RG_JetPack_5.1.2_Linux_JETSON_AGX_ORIN_TARGETS/Linux_for_Tegra/bootloader/t186ref/BCT/Orin-rg0-pinmu

Is this the file you are using?

Yes, that’s right…

“/home/user/nvidia/nvidia_sdk/RG_JetPack_5.1.2_Linux_JETSON_AGX_ORIN_TARGETS/Linux_for_Tegra/bootloader/t186ref/BCT/Orin-rg0-pinmux.dtsi”

Hi,

Int PU/Int PD is for Input pins, for Output pins, please set them as Drive 0(low level)/Drive 1(high level).

Maybe it should be set this way?…

I think YES.

The scheme you provided is very correct. GPIO has successfully changed to low level. Thank you very much for your help.

1 Like

If I want to set my GPIO to the default high level, I should set it to Drive 1, right?

1 Like

Sure, you just do the reverse of what you previously did.

Okay, I’ll go test it,Thank you very much.

Hi, GPIO set to Drive 1, did not change to the default high state, did not achieve the desired effect.After power-on, it will remain high for five seconds, and after five seconds, it will become low

Hi,

it will remain high for five seconds: this means your pinmux setting is correct, but this pin is pulled down by other things.
Please check what drivers/code is occupying this pin by looking at

cat /sys/kernel/debug/gpio


As you said, there are indeed other drivers occupying these two GPIOs, so how should I remove these drivers?

Is there any specific reason you have to use these two pins?
If there’s not, please use other pins as this is the camera driver.

Hi,I can’t use the other pins now, I don’t use the camera, can I disable the camera driver?

I found in my device tree source code file that the camera driver was using the GPIO I wanted to use…