GPIO pull down resistor

Hello.
I’am trying to use internal resistor in the GPIO input pin of the board but can not get a result.

After get a HIGH signal on the input and break the circuit, the signal don’t swith to LOW automatic.

I’am use GPIO.setup (pin,GPIO.IN,GPIO.PUD_UP) command to configure it.

I’am use Jetpack 4.3 [L4T 32.3.1]

hello _Minary,

may I know which GPIO pin you’re used. are you working with Nano J41 40-pin Header?
could you please also review Pinmux spreadsheets for the default pin configurations.
thanks

Hello!
I’am connect button on 7 pin of j41 connector for a test. In the end, I want to use pins 7, 12, 13, 22, 26, 32, 38 for buttons.

Сan you please clarify for me, what should i change in Pinmux table?

hello _Minary,

you may found there’s [40-Pin Header] column to mapping to its signal name and also ball names.
for example,

Jetson Nano Signal Name 40 Pin Header Ball Name
GPIO09 7 AUD_MCLK

please review the pinmux spreadsheets, you should update [Customer Usage] column, to choose the Pin Muxing.
you may refer to Pinmux Changes session for the steps to customize the pinmux spreadsheet.
for an alternative ways, you may also check Configuring the 40-Pin Expansion Header to enable Jetson-IO for customization.
thanks

Jerry,
should the settings for the rest of the signals (not from expansion header) remain by default as indicated in the table? Doesn’t anything stop working if I load such a table?

And one more question about confuguring 40-pin header from jetson-io.py file. I’am run it from the console and it stops without errors immediately, after start. Do you know why?

hello _Minary,

those values in the pinmux spreadsheet should be default board configuration settings;
BTW,
you should check the footnote for two known issues in L4T release 32.3.1, which prevent Jetson‑IO from working correctly.
thanks

Jerry,

as i see in the PinMux configuration file, the signal AUDIO_MCLK (Pin 7 on the J41 Header) already configured with internal resistor:
Pin Direction = Input, Req. Initial State = Int PU.
But it ist work.
Why?

hello _Minary,

Initial State = Int PU. means pull-up;
could you please describe your steps again,
thanks

Hi @JerryChang and @_Minary,
I have the same problem, so I think I can describe it in details

I’m using GPIO_PE6 (J41 pin 33) for a button. In pinmux spreadsheet I have set the customer usage to “GPIO3_PE.06”, direction as input, initial state to “Int PU”. Then clicked the button in spreadsheet to generate 2 dtsi file.
Following instructions in customizing_the_jetson_nano_40-pin_expansion_header_v1.2.pdf, I compiled the dtb file, and succeeded booting the Jetson Nano board with my custom dtb file (verified by reading /proc/device-tree/nvidia,dtbbuildtime).
In /proc/device-tree/pinmux@700008d4/common folder, I saw “pe6” folder, that is not occurred with default dtb file. I checked the nvidia,pull value and it is 2.

Then I setup the pin 33 as input both edges interrupt using Jetson.GPIO python library, and try to connect a wire from PIN 33 to GND and disconnect. I saw that the interrupt was captured only once. But if I switch the connection between PIN33 - GND and PIN33 - 3V3, the event occurs on both edges as expected.
Does that mean the pull-up doesn’t work?

Thank you.

Hi again,

Could it be the reason that the 1v8-3v3 level translator IC doesn’t support open-drain, then I have to have pull resistor at input side?

Datasheet of the 1v8-3v3 translator https://www.ti.com/store/ti/en/p/product/?p=TXB0108RGYR

Hi nvl1109,

Can you please give us the dump of following registers at each stage:
Before connecting the Pin 33 to GND, at the time it is connected to GND, after disconnection
busybox devmem 0x6000d100
busybox devmem 0x6000d110
busybox devmem 0x6000d120
busybox devmem 0x6000d130

Thanks,
Shubhi

Hello Jerry.

I cannot change the j41 configuration right now.

I use this commands:
$ cd Linux_for_Tegra/
$ ./source_sync.sh

And had next log. There were no time to enter the tag tegra-l4t-r32.3.1.

user@Jetson:~/Загрузки/Tegra210_Linux_R32.3.1_aarch64/Linux_for_Tegra$ ./source_sync.sh

Downloading default kernel/kernel-4.9 source...

Cloning into '/home/user/Загрузки/Tegra210_Linux_R32.3.1_aarch64/Linux_for_Tegra/sources/kernel/kernel-4.9'...

remote: Enumerating objects: 5193614, done.

remote: Counting objects: 100% (5193614/5193614), done.

remote: Compressing objects: 100% (799556/799556), done.

jvtneceiving objects: 0% (31165/5193614), 17.01 MiB | 445.00 KiB/s

vtnjReceiving objects: 0% (35585/5193614), 19.33 MiB | 627.00 KiB/s

remote: Total 5193614 (delta 4355668), reused 5191347 (delta 4353473)

Receiving objects: 100% (5193614/5193614), 932.44 MiB | 574.00 KiB/s, done.

Resolving deltas: 100% (4355668/4355668), done.

The default kernel/kernel-4.9 source is downloaded in: /home/user/Загрузки/Tegra210_Linux_R32.3.1_aarch64/Linux_for_Tegra/sources/kernel/kernel-4.9

Please enter a tag to sync /home/user/Загрузки/Tegra210_Linux_R32.3.1_aarch64/Linux_for_Tegra/sources/kernel/kernel-4.9 source to

(enter nothing to skip): Couldn't find tag yjdjvtn

/home/user/Загрузки/Tegra210_Linux_R32.3.1_aarch64/Linux_for_Tegra/sources/kernel/kernel-4.9 source sync to tag yjdjvtn failed!

Downloading default kernel/nvgpu source...

Cloning into '/home/user/Загрузки/Tegra210_Linux_R32.3.1_aarch64/Linux_for_Tegra/sources/kernel/nvgpu'...

remote: Enumerating objects: 54520, done.

remote: Counting objects: 100% (54520/54520), done.

remote: Compressing objects: 100% (12994/12994), done.

remote: Total 54520 (delta 34834), reused 52815 (delta 33324)

Receiving objects: 100% (54520/54520), 13.63 MiB | 547.00 KiB/s, done.

Resolving deltas: 100% (34834/34834), done.

The default kernel/nvgpu source is downloaded in: /home/user/Загрузки/Tegra210_Linux_R32.3.1_aarch64/Linux_for_Tegra/sources/kernel/nvgpu

Couldn't find tag yjdjvtn

/home/user/Загрузки/Tegra210_Linux_R32.3.1_aarch64/Linux_for_Tegra/sources/kernel/nvgpu source sync to tag yjdjvtn failed!

Downloading default kernel/nvidia source...

Cloning into '/home/user/Загрузки/Tegra210_Linux_R32.3.1_aarch64/Linux_for_Tegra/sources/kernel/nvidia'...

remote: Enumerating objects: 147992, done.

remote: Counting objects: 100% (147992/147992), done.

remote: Compressing objects: 100% (42461/42461), done.

remote: Total 147992 (delta 85136), reused 145343 (delta 82594)

Receiving objects: 100% (147992/147992), 37.73 MiB | 315.00 KiB/s, done.

Resolving deltas: 100% (85136/85136), done.

The default kernel/nvidia source is downloaded in: /home/user/Загрузки/Tegra210_Linux_R32.3.1_aarch64/Linux_for_Tegra/sources/kernel/nvidia

Couldn't find tag yjdjvtn

/home/user/Загрузки/Tegra210_Linux_R32.3.1_aarch64/Linux_for_Tegra/sources/kernel/nvidia source sync to tag yjdjvtn failed!

Downloading default hardware/nvidia/soc/t18x source...

Cloning into '/home/user/Загрузки/Tegra210_Linux_R32.3.1_aarch64/Linux_for_Tegra/sources/hardware/nvidia/soc/t18x'...

remote: Enumerating objects: 1953, done.

remote: Counting objects: 100% (1953/1953), done.

remote: Compressing objects: 100% (833/833), done.

remote: Total 1953 (delta 816), reused 1702 (delta 691)

Receiving objects: 100% (1953/1953), 383.73 KiB | 142.00 KiB/s, done.

Resolving deltas: 100% (816/816), done.

The default hardware/nvidia/soc/t18x source is downloaded in: /home/user/Загрузки/Tegra210_Linux_R32.3.1_aarch64/Linux_for_Tegra/sources/hardware/nvidia/soc/t18x

Couldn't find tag yjdjvtn

/home/user/Загрузки/Tegra210_Linux_R32.3.1_aarch64/Linux_for_Tegra/sources/hardware/nvidia/soc/t18x source sync to tag yjdjvtn failed!

Downloading default hardware/nvidia/platform/tegra/common source...

Cloning into '/home/user/Загрузки/Tegra210_Linux_R32.3.1_aarch64/Linux_for_Tegra/sources/hardware/nvidia/platform/tegra/common'...

remote: Enumerating objects: 270, done.

remote: Counting objects: 100% (270/270), done.

remote: Compressing objects: 100% (161/161), done.

remote: Total 270 (delta 109), reused 107 (delta 48)

Receiving objects: 100% (270/270), 103.06 KiB | 108.00 KiB/s, done.

Resolving deltas: 100% (109/109), done.

The default hardware/nvidia/platform/tegra/common source is downloaded in: /home/user/Загрузки/Tegra210_Linux_R32.3.1_aarch64/Linux_for_Tegra/sources/hardware/nvidia/platform/tegra/common

Couldn't find tag yjdjvtn

/home/user/Загрузки/Tegra210_Linux_R32.3.1_aarch64/Linux_for_Tegra/sources/hardware/nvidia/platform/tegra/common source sync to tag yjdjvtn failed!

Downloading default hardware/nvidia/platform/t18x/common source...

Cloning into '/home/user/Загрузки/Tegra210_Linux_R32.3.1_aarch64/Linux_for_Tegra/sources/hardware/nvidia/platform/t18x/common'...

remote: Enumerating objects: 3623, done.

remote: Counting objects: 100% (3623/3623), done.

remote: Compressing objects: 100% (1080/1080), done.

remote: Total 3623 (delta 2102), reused 3250 (delta 1856)

Receiving objects: 100% (3623/3623), 637.33 KiB | 175.00 KiB/s, done.

Resolving deltas: 100% (2102/2102), done.

The default hardware/nvidia/platform/t18x/common source is downloaded in: /home/user/Загрузки/Tegra210_Linux_R32.3.1_aarch64/Linux_for_Tegra/sources/hardware/nvidia/platform/t18x/common

Couldn't find tag yjdjvtn

/home/user/Загрузки/Tegra210_Linux_R32.3.1_aarch64/Linux_for_Tegra/sources/hardware/nvidia/platform/t18x/common source sync to tag yjdjvtn failed!

Downloading default hardware/nvidia/platform/t18x/quill source...

Cloning into '/home/user/Загрузки/Tegra210_Linux_R32.3.1_aarch64/Linux_for_Tegra/sources/hardware/nvidia/platform/t18x/quill'...

remote: Enumerating objects: 1138, done.

remote: Counting objects: 100% (1138/1138), done.

remote: Compressing objects: 100% (499/499), done.

remote: Total 1138 (delta 603), reused 746 (delta 396)

Receiving objects: 100% (1138/1138), 200.39 KiB | 119.00 KiB/s, done.

Resolving deltas: 100% (603/603), done.

The default hardware/nvidia/platform/t18x/quill source is downloaded in: /home/user/Загрузки/Tegra210_Linux_R32.3.1_aarch64/Linux_for_Tegra/sources/hardware/nvidia/platform/t18x/quill

Couldn't find tag yjdjvtn

/home/user/Загрузки/Tegra210_Linux_R32.3.1_aarch64/Linux_for_Tegra/sources/hardware/nvidia/platform/t18x/quill source sync to tag yjdjvtn failed!

Downloading default hardware/nvidia/soc/t210 source...

Cloning into '/home/user/Загрузки/Tegra210_Linux_R32.3.1_aarch64/Linux_for_Tegra/sources/hardware/nvidia/soc/t210'...

remote: Enumerating objects: 3162, done.

remote: Counting objects: 100% (3162/3162), done.

remote: Compressing objects: 100% (1075/1075), done.

remote: Total 3162 (delta 1273), reused 2923 (delta 1165)

Receiving objects: 100% (3162/3162), 513.91 KiB | 161.00 KiB/s, done.

Resolving deltas: 100% (1273/1273), done.

The default hardware/nvidia/soc/t210 source is downloaded in: /home/user/Загрузки/Tegra210_Linux_R32.3.1_aarch64/Linux_for_Tegra/sources/hardware/nvidia/soc/t210

Couldn't find tag yjdjvtn

/home/user/Загрузки/Tegra210_Linux_R32.3.1_aarch64/Linux_for_Tegra/sources/hardware/nvidia/soc/t210 source sync to tag yjdjvtn failed!

Downloading default hardware/nvidia/platform/t210/common source...

Cloning into '/home/user/Загрузки/Tegra210_Linux_R32.3.1_aarch64/Linux_for_Tegra/sources/hardware/nvidia/platform/t210/common'...

remote: Enumerating objects: 1604, done.

remote: Counting objects: 100% (1604/1604), done.

remote: Compressing objects: 100% (485/485), done.

remote: Total 1604 (delta 690), reused 1408 (delta 583)

Receiving objects: 100% (1604/1604), 245.80 KiB | 123.00 KiB/s, done.

Resolving deltas: 100% (690/690), done.

The default hardware/nvidia/platform/t210/common source is downloaded in: /home/user/Загрузки/Tegra210_Linux_R32.3.1_aarch64/Linux_for_Tegra/sources/hardware/nvidia/platform/t210/common

Couldn't find tag yjdjvtn

/home/user/Загрузки/Tegra210_Linux_R32.3.1_aarch64/Linux_for_Tegra/sources/hardware/nvidia/platform/t210/common source sync to tag yjdjvtn failed!

Downloading default hardware/nvidia/platform/t210/jetson source...

Cloning into '/home/user/Загрузки/Tegra210_Linux_R32.3.1_aarch64/Linux_for_Tegra/sources/hardware/nvidia/platform/t210/jetson'...

remote: Enumerating objects: 2823, done.

remote: Counting objects: 100% (2823/2823), done.

remote: Compressing objects: 100% (855/855), done.

remote: Total 2823 (delta 1639), reused 2473 (delta 1408)

Receiving objects: 100% (2823/2823), 665.63 KiB | 150.00 KiB/s, done.

Resolving deltas: 100% (1639/1639), done.

The default hardware/nvidia/platform/t210/jetson source is downloaded in: /home/user/Загрузки/Tegra210_Linux_R32.3.1_aarch64/Linux_for_Tegra/sources/hardware/nvidia/platform/t210/jetson

Couldn't find tag yjdjvtn

/home/user/Загрузки/Tegra210_Linux_R32.3.1_aarch64/Linux_for_Tegra/sources/hardware/nvidia/platform/t210/jetson source sync to tag yjdjvtn failed!

Downloading default hardware/nvidia/platform/t210/porg source...

Cloning into '/home/user/Загрузки/Tegra210_Linux_R32.3.1_aarch64/Linux_for_Tegra/sources/hardware/nvidia/platform/t210/porg'...

remote: Enumerating objects: 907, done.

remote: Counting objects: 100% (907/907), done.

remote: Compressing objects: 100% (257/257), done.

remote: Total 907 (delta 555), reused 799 (delta 488)

Receiving objects: 100% (907/907), 198.06 KiB | 112.00 KiB/s, done.

Resolving deltas: 100% (555/555), done.

The default hardware/nvidia/platform/t210/porg source is downloaded in: /home/user/Загрузки/Tegra210_Linux_R32.3.1_aarch64/Linux_for_Tegra/sources/hardware/nvidia/platform/t210/porg

Couldn't find tag yjdjvtn

/home/user/Загрузки/Tegra210_Linux_R32.3.1_aarch64/Linux_for_Tegra/sources/hardware/nvidia/platform/t210/porg source sync to tag yjdjvtn failed!

Downloading default hardware/nvidia/soc/t19x source...

Cloning into '/home/user/Загрузки/Tegra210_Linux_R32.3.1_aarch64/Linux_for_Tegra/sources/hardware/nvidia/soc/t19x'...

remote: Enumerating objects: 3492, done.

remote: Counting objects: 100% (3492/3492), done.

remote: Compressing objects: 100% (1409/1409), done.

remote: Total 3492 (delta 1445), reused 3250 (delta 1318)

Receiving objects: 100% (3492/3492), 645.70 KiB | 141.00 KiB/s, done.

Resolving deltas: 100% (1445/1445), done.

The default hardware/nvidia/soc/t19x source is downloaded in: /home/user/Загрузки/Tegra210_Linux_R32.3.1_aarch64/Linux_for_Tegra/sources/hardware/nvidia/soc/t19x

Couldn't find tag yjdjvtn

/home/user/Загрузки/Tegra210_Linux_R32.3.1_aarch64/Linux_for_Tegra/sources/hardware/nvidia/soc/t19x source sync to tag yjdjvtn failed!

Downloading default hardware/nvidia/platform/t19x/common source...

Cloning into '/home/user/Загрузки/Tegra210_Linux_R32.3.1_aarch64/Linux_for_Tegra/sources/hardware/nvidia/platform/t19x/common'...

remote: Enumerating objects: 1242, done.

remote: Counting objects: 100% (1242/1242), done.

remote: Compressing objects: 100% (755/755), done.

remote: Total 1242 (delta 665), reused 945 (delta 483)

Receiving objects: 100% (1242/1242), 377.71 KiB | 144.00 KiB/s, done.

Resolving deltas: 100% (665/665), done.

The default hardware/nvidia/platform/t19x/common source is downloaded in: /home/user/Загрузки/Tegra210_Linux_R32.3.1_aarch64/Linux_for_Tegra/sources/hardware/nvidia/platform/t19x/common

Couldn't find tag yjdjvtn

/home/user/Загрузки/Tegra210_Linux_R32.3.1_aarch64/Linux_for_Tegra/sources/hardware/nvidia/platform/t19x/common source sync to tag yjdjvtn failed!

Downloading default hardware/nvidia/platform/t19x/galen/bct source...

Cloning into '/home/user/Загрузки/Tegra210_Linux_R32.3.1_aarch64/Linux_for_Tegra/sources/hardware/nvidia/platform/t19x/galen/bct'...

remote: Enumerating objects: 389, done.

remote: Counting objects: 100% (389/389), done.

remote: Compressing objects: 100% (237/237), done.

remote: Total 389 (delta 271), reused 224 (delta 150)

Receiving objects: 100% (389/389), 259.74 KiB | 131.00 KiB/s, done.

Resolving deltas: 100% (271/271), done.

The default hardware/nvidia/platform/t19x/galen/bct source is downloaded in: /home/user/Загрузки/Tegra210_Linux_R32.3.1_aarch64/Linux_for_Tegra/sources/hardware/nvidia/platform/t19x/galen/bct

Couldn't find tag yjdjvtn

/home/user/Загрузки/Tegra210_Linux_R32.3.1_aarch64/Linux_for_Tegra/sources/hardware/nvidia/platform/t19x/galen/bct source sync to tag yjdjvtn failed!

Downloading default hardware/nvidia/platform/t19x/galen/kernel-dts source...

Cloning into '/home/user/Загрузки/Tegra210_Linux_R32.3.1_aarch64/Linux_for_Tegra/sources/hardware/nvidia/platform/t19x/galen/kernel-dts'...

remote: Enumerating objects: 1187, done.

remote: Counting objects: 100% (1187/1187), done.

remote: Compressing objects: 100% (537/537), done.

remote: Total 1187 (delta 835), reused 927 (delta 649)

Receiving objects: 100% (1187/1187), 233.72 KiB | 115.00 KiB/s, done.

Resolving deltas: 100% (835/835), done.

The default hardware/nvidia/platform/t19x/galen/kernel-dts source is downloaded in: /home/user/Загрузки/Tegra210_Linux_R32.3.1_aarch64/Linux_for_Tegra/sources/hardware/nvidia/platform/t19x/galen/kernel-dts

Couldn't find tag yjdjvtn

/home/user/Загрузки/Tegra210_Linux_R32.3.1_aarch64/Linux_for_Tegra/sources/hardware/nvidia/platform/t19x/galen/kernel-dts source sync to tag yjdjvtn failed!

Downloading default hardware/nvidia/soc/tegra source...

Cloning into '/home/user/Загрузки/Tegra210_Linux_R32.3.1_aarch64/Linux_for_Tegra/sources/hardware/nvidia/soc/tegra'...

remote: Enumerating objects: 774, done.

remote: Counting objects: 100% (774/774), done.

remote: Compressing objects: 100% (457/457), done.

remote: Total 774 (delta 236), reused 625 (delta 155)

Receiving objects: 100% (774/774), 271.94 KiB | 115.00 KiB/s, done.

Resolving deltas: 100% (236/236), done.

The default hardware/nvidia/soc/tegra source is downloaded in: /home/user/Загрузки/Tegra210_Linux_R32.3.1_aarch64/Linux_for_Tegra/sources/hardware/nvidia/soc/tegra

Couldn't find tag yjdjvtn

/home/user/Загрузки/Tegra210_Linux_R32.3.1_aarch64/Linux_for_Tegra/sources/hardware/nvidia/soc/tegra source sync to tag yjdjvtn failed!

Downloading default u-boot source...

Cloning into '/home/user/Загрузки/Tegra210_Linux_R32.3.1_aarch64/Linux_for_Tegra/sources/u-boot'...

remote: Enumerating objects: 559980, done.

remote: Counting objects: 100% (559980/559980), done.

remote: Compressing objects: 100% (91089/91089), done.

remote: Total 559980 (delta 463141), reused 557457 (delta 460778)

Receiving objects: 100% (559980/559980), 112.33 MiB | 509.00 KiB/s, done.

Resolving deltas: 100% (463141/463141), done.

The default u-boot source is downloaded in: /home/user/Загрузки/Tegra210_Linux_R32.3.1_aarch64/Linux_for_Tegra/sources/u-boot

Please enter a tag to sync /home/user/Загрузки/Tegra210_Linux_R32.3.1_aarch64/Linux_for_Tegra/sources/u-boot source to

(enter nothing to skip): Couldn't find tag yjdjvtn

/home/user/Загрузки/Tegra210_Linux_R32.3.1_aarch64/Linux_for_Tegra/sources/u-boot source sync to tag yjdjvtn failed!

And could your describe me the default configuration of the pins?

In pinmux table i can see, that pin 7 already configured with internal resistor. but it isn’t work without external resistor, whitch connected simular to next picture
image

Hi Minary,
Please check this document:
https://developer.nvidia.com/jetson-nano-developer-kit-40-pin-expansion-header-gpio-usage-considerations-applications-note

This will give answers and will help to solve the issue.

Thanks,
Shubhi