Change PIN state on 40 pin GPIO Header on Jetson Nano with Jetson-IO-Base-A Carrier board

I tried to change pin configuration for 16’th pin on 40 pin GPIO Header but didn’t have sucusses. My carrier board is Jetson-IO-Base-A (https://www.waveshare.com/wiki/JETSON-NANO-DEV-KIT) and a high voltage level is set on GPIOs of 40 pin header after turning on. I’d like to have GPIOs on GND as on original Jetson Nano carrier board.
I tried to affect on 16’th GPIO in accordance with this application notes (https://docs.nvidia.com/jetson/archives/l4t-archived/l4t-3261/index.html#page/Tegra%20Linux%20Driver%20Package%20Development%20Guide/adaptation_and_bringup_nano.html#wwpID0E0PO0HA).

  1. Change Pin direction, Initial state (separately) for GPIO3_PDD.00
  2. Update the Bootloader Pinmux
  3. I tried flash jetson completely (sudo ./flash.sh jetson-nano-devkit-emmc mmcblk0p1) and only update DTB (sudo ./flash.sh -r -k DTB jetson-nano-devkit-emmc mmcblk0p1).
    I also tried to change decompiled dts file manually but result was the same. Fortunately, I’m sure that this dtb file applied bucause I was able to cope with addition of external micro sd to device tree as described here (https://www.waveshare.com/wiki/JETSON-NANO-DEV-KIT).

So I have several questions:

  1. Are the steps enough?
  2. Should I port UBoot (if yes I don’t understand how to do it becouse there isn’t board/nvidia/p3450-porg/ directory in sources)?

Note: I use Jetpack 4.6.2, but also tried 4.6.3.

hello tsikunov96,

please check debugfs for GPIO, this pin GPIO3_PDD.00 should be gpio-232.
you should examine from debug node for its default pin configuration.

it’s also able to enter the location of the GPIOs to create the node manually to alter the pin,
for example,

Generate gpio232 name
# echo 232 > /sys/class/gpio/export

You'll see the GPIO node created.
# cd /sys/class/gpio/gpio232

Enable the gpio
# echo out > direction && echo 1 > value

I found out that disabling of UBoot leads to appling of changes of pinmux. Bit it’s necessary for me to use UBoot becouse I want to use external MicroSD and this configuration is made in extlinux.conf.
So my questions transformed to “How to compile UBoot for my pinmux changes?”.

hello tsikunov96,

please visit Jetson Linux Archive page. assume you’re using Jetson Linux R32.7.3, you should download the [Driver Package (BSP) Sources] and extract u-boot_src.tbz2 for sources and also build script.

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