So It is working now!
I followed gtj’s steps from Time sensitive networking [TSN] on NX - #40 by _av with a few modifications (really just the names to work with the AGX instead of the NX).
I saved this file to /boot/pps.dts
where the pin has been set to 24 on the 40 pin header.
/dts-v1/;
/plugin/;
/ {
overlay-name = "Jetson PPS";
compatible = "p2822-0000+p2888-0001,p2972-0000-devkit,devboard";
fragment {
target-path = "/";
__overlay__ {
pps: pps_gpio {
compatible = "pps-gpio";
gpios = <&tegra_main_gpio 206 1>;
assert-falling-edge;
status = "okay";
};
};
};
};
Then compiled the dts files and ignored the warnings that I don’t understand…
sudo dtc -I dts -O dtb -@ -o pps.dtbo pps.dts
Then created the custom dtb
sudo fdtoverlay -i tegra194-p2888-0001-p2822-0000.dtb -o tegra194-p2888-0001-p2822-0000-user-custom.dtb tegra194-p2888-0001-p2822-0000-hdr40.dtbo pps.dtbo
Finally edited /boot/extlinux/extlinux.conf by adding the extra entry:
LINUX ...
INITRD ...
FDT /boot/tegra194-p3668-all-p3509-0000-user-custom.dtb
APPEND ...
and rebooted.
Thanks @gtj and @Andrey1984
Sorry if this is a bit of a duplicate question (although I guess it’s specific to the AGX as opposed to the NX).
What I don’t understand is why does the device tree need to be edited after the kernel has been flashed?
Editing ~/nvidia/nvidia_sdk/JetPack_4.3_Linux_P3448/Linux_for_Tegra/sources/hardware/nvidia/soc/t210/kernel-dts/tegra210-soc/tegra210-soc-base.dtsi
to include
pps: pps_gpio {
compatible = "pps-gpio";
gpios = <&tegra_main_gpio 206 1>;
assert-falling-edge;
status = "okay";
};
should be the same as including it after the flash by editing the device tree overlay right?