Jetson agx xavier pin doesn't work

Hello everybody

I tried to use pwm using jetson io pin.
But it didn’t work at all.
I used an oscilloscope, but I didn’t see any output of the signal.

What I know is that when I install Jetpack, Jetson.GPIO is installed by default.
(After installing jetpack, I checked it using the Python interpreter.)

After activating pwm through jetson-io.py and rebooting, I ran a simple sample example, but only GND and power pins worked, but no signal came out.

I ran the same code on the same equipment, but the pin doesn’t work, so I’m going crazy. (It’s been 2 weeks already)

A brief summary of my attempts

  1. Activate pin 13 that supports pwm through jetson-io.py (rebooted of course).

  2. A simple code was executed.

  3. However, no signal was detected and many similar samples were searched, but to no avail.

  4. Then, I installed the jetpack again, and installed it again and again endlessly.

  5. But it doesn’t work and it’s just sad.

I’m not sure if this is a hardware failure or if my gpio configuration is wrong.
The other agx xavier I have is working fine, but only this one doesn’t work.

Package: nvidia-jetpack
Version: 4.6.1-b110
Architecture: arm64
Maintainer: NVIDIA Corporation
Installed-Size: 194
Depends: nvidia-cuda (= 4.6.1-b110), nvidia-opencv (= 4.6.1-b110), nvidia-cudnn8 (= 4.6.1-b110), nvidia-tensorrt (= 4.6.1-b110), nvidia-visionworks (= 4.6.1-b110), nvidia-container (= 4.6.1-b110), nvidia-vpi (= 4.6.1-b110), nvidia-l4t-jetson-multimedia-api (>> 32.7-0), nvidia-l4t-jetson-multimedia-api (<< 32.8-0)
Homepage: Autonomous Machines | NVIDIA Developer
Priority: standard
Section: metapackages
Filename: pool/main/n/nvidia-jetpack/nvidia-jetpack_4.6.1-b110_arm64.deb
Size: 29374
SHA256: 312e75d89d0837472668714c43590fd204a33b9c7727c542e1b5df367ec239c4
SHA1: 769cbf1c7acb9e39a4539879884a570bde12292c
MD5sum: a074f5225dfe8d7ea24560b15eef08d9
Description: NVIDIA Jetpack Meta Package
Description-md5: ad1462289bdbc54909ae109d1d32c0a8

Also added example code :

import Jetson.GPIO as GPIO
import time

SERVO_PIN =13

GPIO.setwarnings(False)
GPIO.setmode(GPIO.BOARD)
GPIO.setup(SERVO_PIN, GPIO.OUT)

pwm = GPIO.PWM(SERVO_PIN, 1000)
pwm.start(3.0)
for t_high in range(30, 1000):
a=int(input("pwm here : "))
pwm.ChangeDutyCycle(a)
pwm.stop()

GPIO.cleanup()

In addition, it seems that jetson.gpio is not installed in the relevant xavier, so I installed Jetson.gpio arbitrarily after installing jetpack.
Is this the cause of the problem?

hello rlawhdfls78954,

please try enable PWMs with pinmux configuration,
there’re steps to configure the pin,

  1. Set SFIO configuration to the 40 pin PWM signal
  2. Set good clock source to the PWM controller.
  3. Configure pwm sysfs parameters (period and dutycycle) based on clock source.
  4. Trigger pwm sysfs enable signal.
  5. Enable the controller from DT.

it might due to clock configuration mismatch, (step-2 above)
could you please also check the clock source for min and max supported clock rate. the clock source may be static, and change in clock source needs bpmp update.
i.e. # cat /sys/kernel/debug/bpmp/debug/clk/pwmN/{parent, min_rate, max_rate}

Thanks for your reply.

1.Does SFIO configuration setting mean to activate the pwm pin by running jetson-io.py?

2.By “clock source” you mean the frequency of the pwm?

There are a lot of things that I don’t understand because I don’t have enough knowledge about it.

hello rlawhdfls78954,

please check developer guide, Pinmux Changes.
you should change the pinmux configuration applied by the software, and updating the board with the created *.cfg file.
thanks

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