Jetpack 6 on Jetson Orin Nano Devkit 8GB cannot LED ON/OFF via GPIO

The new pinmux already includes this file, so you don’t need to specify it anywhere else, but it has to be present.

Copy the padvoltage.dtsi and pinmux.dtsi files to the <l4t_top>/bootloader/generic/BCT/ directory and copy the gpio.dtsi file to the <l4t_top>/bootloader/ directory.

Please do it for the case of SKU5:

        elif [ "${board_sku}" = "0005" ]; then
                BPFDTB_FILE="tegra234-bpmp-3767-0003-3509-a02.dtb";
                DTB_FILE=tegra234-p3768-0000+p3767-0005-nv.dtb;

Hello @DaveYYY , it successfully flashed but I still get no voltage on pin12, any other ideas please?

I made 2 changes to config:

  1. DEFAULT_EMC_FUSE=“0”;
    DEFAULT_EMC_FUSE=“0”;
    PINMUX_CONFIG=“Orin-myorin-pinmux.dtsi”;#generated pinmux
    PMC_CONFIG=“Orin-myorin-padvoltage-default.dtsi”;#generated padvoltage
    BPFDTB_FILE=“tegra234-bpmp-3767-0000-a02-3509-a02.dtb”;
    EMMC_CFG=“flash_t234_qspi_sd.xml”;
    DTB_FILE=tegra234-p3768-0000+p3767-0000-nv.dtb;
    TBCDTB_FILE=“${DTB_FILE}”;
    OVERLAY_DTB_FILE+=“,tegra234-p3768-0000+p3767-0000-dynamic.dtbo”;

elif [ “${board_sku}” = “0005” ]; then
BPFDTB_FILE=“tegra234-bpmp-3767-0003-3509-a02.dtb”;
DTB_FILE=tegra234-p3768-0000+p3767-0005-nv.dtb;
PINMUX_CONFIG=“Orin-myorin-pinmux.dtsi”;#added this line
PMC_CONFIG=“Orin-myorin-padvoltage-default.dtsi”;#added this line
else

Saved the generated gpio, pinmux and padvoltage files:

Attached files:
Orin-myorin-.zip (7.4 KB)

Flash in Automatic without Runtime and SDK components:

Restart Jetson and let ubuntu apply changes.


Try PIN12 for LED re-using existing hardware setup:

  1. At jetson start:
    sergio@ubuntu:~$ sudo cat /sys/kernel/debug/gpio | grep PH.07
    [sudo] password for sergio:
    gpio-398 (PH.07 )

  2. Run code for LED:
    sergio@ubuntu:~$ python3
    Python 3.10.12 (main, Jun 11 2023, 05:26:28) [GCC 11.4.0] on linux
    Type “help”, “copyright”, “credits” or “license” for more information.

import Jetson.GPIO as GPIO
led_pin=12
GPIO.setmode(GPIO.BOARD)
GPIO.setup(led_pin,GPIO.OUT,initial=GPIO.HIGH)

Still no LED ON.

  1. Check GPIO
    sergio@ubuntu:~$ sudo cat /sys/kernel/debug/gpio | grep PH.07
    [sudo] password for sergio:
    gpio-398 (PH.07 |Jetson-gpio ) out hi

  2. Try with output, but LED does not light up:
    GPIO.output(led_pin,GPIO.HIGH)

  3. Try Multi meter - no DC voltage:


From your multi meter, it seems 2.3V.
Could you try to pull it low and check if the value would become 0?

GPIO.output(led_pin,GPIO.LOW)

Hello @KevinFFF please look closer , the unit is mV = millivolts, there is no current

You could use larger scale to check the voltage.

Please disconnect the LED and just measure the voltage on PIN12(PH.07) of 40-pin expansion header.

You could run the following command to pull it high/low.

$ sudo apt install gpiod
$ sudo su
# busybox devmem 0x02434088 w 1056
# gpioset --mode=wait `gpiofind "PH.07"`=0
# gpioset --mode=wait `gpiofind "PH.07"`=1

Hello @KevinFFF response is invalid offset:

  1. Before I start:
    sergio@ubuntu:~$ sudo cat /sys/kernel/debug/gpio | grep PH.07
    [sudo] password for sergio:
    gpio-398 (PH.07

  2. sergio@ubuntu:~$ sudo su
    root@ubuntu:/home/sergio# busybox devmem 0x02434088
    0x00001002
    root@ubuntu:/home/sergio# busybox devmem 0x02434088 w 1056
    root@ubuntu:/home/sergio# busybox devmem 0x02434088
    0x00000400

  3. The command provided errored with “Invalid offset and voltage stays at zero”
    oot@ubuntu:/home/sergio# gpioset --mode=wait gpiofind “PH.07”=0
    gpioset: invalid offset<->value mapping: PH.07=0
    root@ubuntu:/home/sergio# gpioset --mode=wait gpiofind “PH.07”=1
    gpioset: invalid offset<->value mapping: PH.07=1

root@ubuntu:/home/sergio# gpiofind PH.07
gpiochip0 50

  1. Changed command to:
    root@ubuntu:/home/sergio# gpioset --mode=wait $(gpiofind “PH.07”)=1
    ^C
    root@ubuntu:/home/sergio# gpioset --mode=wait $(gpiofind “PH.07”)=0
    ^C
    root@ubuntu:/home/sergio# gpioset --mode=wait $(gpiofind “PH.07”)=1

When I set “PH.07”=1 I can see:
sergio@ubuntu:~$ sudo cat /sys/kernel/debug/gpio | grep PH.07
gpio-398 (PH.07 |gpioset ) out hi

When I set “PH.07”=0 I can see:
sergio@ubuntu:~$ sudo cat /sys/kernel/debug/gpio | grep PH.07
gpio-398 (PH.07 |gpioset ) out lo

However there is no current. I disconnected the LED.

Please let me know what I can look into.

Thank you.

This is the step what I’ve verified on the devkit and should work.

You didn’t add ` for gpiofind “PH.07” here.

It is " rather than and

Do you have any custom modification in pinmux with the clean R36.2?
In my case, I got 0x1456 after flash the board.
The bit 10 should be 0 for GPIO usage so that I configured 0x1056 for this register.
0x400 is also not the expected value for this pinmux register.

Hello @KevinFFF

Yes I modified the Pinmux as suggested by @DaveYYY and you can read in the history of this chat, he was great but his suggestions did not work:

I showed you the register before I changed it with the devmem command you gave me.

I can see the high and low for the PIN is set with the command you provide, but there is no voltage from the PIN.

and I can see the PIN output changing in another terminal but there is no voltage:
sergio@ubuntu:~$ sudo cat /sys/kernel/debug/gpio | grep PH.07
gpio-398 (PH.07 )
ergio@ubuntu:~$ sudo cat /sys/kernel/debug/gpio | grep PH.07
gpio-398 (PH.07 |gpioset ) out lo
sergio@ubuntu:~$ sudo cat /sys/kernel/debug/gpio | grep PH.07
gpio-398 (PH.07 |gpioset ) out hi

I bought the Jetson to run AI and all I have done for a month is test PINs because they do not output voltage, not done any AI. Please appreciate that I am now therefore very frustrated, I have tried the solutions you suggested and unless you have last modification to try I conclude the board is bust and I ask you to provide me steps for RMA please.

Thank you.

Since you are using the devkit, I would suggest you could verify from clean JP6.0 DP (R36.2).
You could just use SDKM to flash clean R36.2.
and run the commands what I’ve also verified on the devkit, too.

$ sudo busybox devmem 0x02434088 
(please share the result)
$ sudo apt install gpiod
$ sudo su
# busybox devmem 0x02434088 w 1056
# gpioset --mode=wait `gpiofind "PH.07"`=0
# gpioset --mode=wait `gpiofind "PH.07"`=1

Do you have another devkit board with the same issue?

If there’s only one board having the issue and also above steps do not work on your board.
Then I will suggest for RMA.

Hi @KevinFFF

OK I have uninstalled the existing image and installed fresh clean R36.2

Version installed:

Devmem requested:

Write to devmem:

Check gpio:

Set gpio to 0:

Set GPIO to 1:

No Current PIN 15:

Please advise steps to RMA.

You should write 0x1056 rather than 1056…

Let me show you the difference:

root@Jetson:# sudo busybox devmem 0x02434088
0x00001056
root@Jetson:# sudo busybox devmem 0x02434088 w 1056
root@Jetson:# sudo busybox devmem 0x02434088
0x00000400
root@Jetson:# sudo busybox devmem 0x02434088 w 0x1056
root@Jetson:# sudo busybox devmem 0x02434088
0x00001056
1 Like

Hello @KevinFFF

Same results as yours:

Then I try with this last w setting:

No Voltage PIN 15:

Please advise steps for RMA.

Do you have other devkit board having the same issue?

Please refer to Jetson FAQ | NVIDIA Developer

Thank you for the link and help @KevinFFF

Nope I inly have this jetson, my first one.

I look forward after RMA I start enjoying the AI pipelines on the jetson that im working on.

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.