Hello,
I’m trying to read a PPS signal from a DJI drone on our Jetson AGX Orin Dev Kit onboard PC.
I intend to connect this signal to GPIO9, pin 32 of the 40-pin header, gpio-324 (PBB.00). Correct me if these don’t match.
Firstly, I tested 2 different approaches that didn’t seem to work. I was trying to avoid building kernel as I’m not very familiar with it.
I thought I would be able to set this as PPS input from using /opt/nvidia/jetson-io/jetson-io.py
script but the terminal UI wouldn’t open. I couldn’t fix this and I’m not sure I would be able to achieve the PPS IN configuration intended with this only.
Then I looked at this post:
Using Nvidia AGX Orin GPIO pins to recieve a PPS signal
My current kernel already seemed to have the right configs for PPS.
$ zcat /proc/config.gz | grep CONFIG_PPS
CONFIG_PPS=y
# CONFIG_PPS_DEBUG is not set
CONFIG_PPS_CLIENT_KTIMER=y
CONFIG_PPS_CLIENT_LDISC=y
CONFIG_PPS_CLIENT_GPIO=y
So I then thought I could avoid building the whole kernel and just apply a device tree overlay, but I got nowhere with that, too. Is it an option that doesn’t involve building a kernel?
Surrendering to building a new kernel and device tree, I followed this and downloaded the correct public_sources.tbz2
for my OS, synced sources, and edited Linux_for_Tegra/source/public/hardware/nvidia/soc/t23x/kernel-dts/tegra234-soc/tegra234-soc-base.dtsi
to add:
pps: pps_gpio {
compatible = "pps-gpio";
gpios = <&tegra_main_gpio 324 1>;
assert-falling-edge;
status = "okay";
};
I’m now stuck, unsure of where to add the kernel config flags and the next steps to build and replace the current device tree with the new one.
I would appreciate any help in achieving this, and I’m sorry if I lack understanding of making changes on the kernel level. Thank you!
Also, my current kernel and OS details are the following:
NVIDIA Jetson AGX Orin Developer Kit
L4T 35.5.0 Ubuntu 20.04.6 LTS
Kernel Version: 5.10.192-tegra