Hello
First, I will explain my state.
My host PC is Ubuntu 22.04, and I flash my AGX ORIN 32GB devkit using SDK Manager.
SDK version is Jetpack 6.0 (rev. 2) and I flash it to NVMe SSD which is installed to board.
After all processes are finished, I try to control GPIO with VS CODE using the code below.
import Jetson.GPIO as GPIO
import time
GPIO_PIN = 40
GPIO.setmode(GPIO.BOARD)
GPIO.setup(GPIO_PIN, GPIO.OUT, initial=GPIO.HIGH)
print(“Press CTRL+C when you want the LED to stop blinking”)
while True:
time.sleep(2)
GPIO.output(GPIO_PIN, GPIO.HIGH)
print(“ON”)
time.sleep(2)
GPIO.output(GPIO_PIN, GPIO.LOW)
print(“OFF”)
I’ve experience that this code is work for several month ago.
(I think that time my Jetpack version is 5.x)
But now I can’t control GPIO with this code.
So, I try to figure how to solve this problem.
And I found in this forum that GPIO CONTROL on AGX ORIN with JETPACK 6.0 is not possible without changing(update) device tree.
Refer to [ Jetson AGX Orin Platform Adaptation and Bring-Up — NVIDIA Jetson Linux Developer Guide 1 documentation ]. I download pinmux spreadsheet and found the pin is set as input(not bidirectional).
So I changed to bidirectional and generate DT file. Finally I’ve got 3 files
[Orin-jetson_agx_orin-gpio-default.dtsi 4.9KB]
[Orin-jetson_agx_orin-padvoltage-default.dtsi 2.4KB]
[Orin-jetson_agx_orin-pinmux.dtsi** 65.7KB]
Now here is my question.
Based on pin-mux change document, I have to follow
Copy the pinmux.dtsi
file to the <l4t_top>/bootloader/generic/BCT/
directory, and copy the gpio.dtsi
file to the <l4t_top>/bootloader/
directory.
You do not need to copy the padvoltage.dtsi
file.
But the person likes me who are not familiar with linux, can not follow any more.
In “<l4t_top>/bootloader/generic/BCT/” and <l4t_top>/bootloader/
, there are lots of files with the name that I can’t understand.
what I mean is I cannot find which file do I have to replace with generated file.
And do I have to chang the generated files name to that original replaced file name?.
And also next step is
After copying the files, ensure that you point these files to the new board.conf
file that you created for your board.
I don’t know what is board.conf
. I can’t find file name with board.conf in linux for tegra folder.
Can anyone explain kindly for newby?
and even if I finish this process, how can I flash this to NVMe?
Any command for Terminal?
this command affects only for jetpack? not for Ubuntu image?
Finally, is there no way to change this in flashed Jetson after flash normal JETPACK?
This is not flexible at all. GPIO PINs(at least headered out 40 pins) can be used anytime during developing process.
But if I have to reflash it like this…it makes developing process to hard.
Anyway, I’m waiting for anyone who can help me.
Thank.