Hi again,
To update, I followed the instructions here for the compilation of custom BSP (which is only the device-tree in my case) and here for the flashing.
My modification :
- I added <kernel_src>/hardware/nvidia/platform/t23x/p3768/kernel-dts/cvb/tegra234-p3768-vps.dtsi :
/ {
pps {
gpios = <&tegra_main_gpio TEGRA234_MAIN_GPIO(AC, 6) GPIO_ACTIVE_HIGH>;
compatible = "pps-gpio";
status = "okay";
};
};
- Included the above .dtsi in <kernel_src>/hardware/nvidia/platform/t23x/p3768/kernel-dts/cvb/tegra234-p3768-0000-a0.dtsi
git diff hardware/nvidia/platform/t23x/p3768/kernel-dts/cvb/tegra234-p3768-0000-a0.dtsi
diff --git a/hardware/nvidia/platform/t23x/p3768/kernel-dts/cvb/tegra234-p3768-0000-a0.dtsi b/hardware/nvidia/platform/t23x/p3768/kernel-dts/cvb/tegra234-p3768-0000-a0.dtsi
index 95d737541..39cd731b3 100644
--- a/hardware/nvidia/platform/t23x/p3768/kernel-dts/cvb/tegra234-p3768-0000-a0.dtsi
+++ b/hardware/nvidia/platform/t23x/p3768/kernel-dts/cvb/tegra234-p3768-0000-a0.dtsi
@@ -18,6 +18,7 @@
#include "tegra234-p3768-audio.dtsi"
#include "tegra234-p3768-camera-rbpcv3-imx477.dtsi"
#include "tegra234-p3768-camera-rbpcv2-imx219.dtsi"
+#include "tegra234-p3768-vps.dtsi"
/ {
gpio-keys {
which is in turn included in <kernel_src>/hardware/nvidia/platform/t23x/p3768/kernel-dts/tegra234-p3767-0000-p3768-0000-a0.dts
24:#include "cvb/tegra234-p3768-0000-a0.dtsi"
And eventually tegra234-p3767-0000-p3768-0000-a0.dts is included in the following Orin Development Kit’s device-trees :
<kernel_src>/hardware/nvidia/platform/t23x/p3768/kernel-dts/tegra234-p3767-0001-p3768-0000-a0.dts
18:#include "tegra234-p3767-0000-p3768-0000-a0.dts"
<kernel_src>/hardware/nvidia/platform/t23x/p3768/kernel-dts/tegra234-p3767-0004-p3768-0000-a0.dts
18:#include "tegra234-p3767-0000-p3768-0000-a0.dts"
<kernel_src>/hardware/nvidia/platform/t23x/p3768/kernel-dts/tegra234-p3767-0003-p3768-0000-a0.dts
18:#include "tegra234-p3767-0000-p3768-0000-a0.dts"
- Verify the <kernel_src>/kernel/kernel-5.10/arch/arm64/configs/tegra_defconfig, which is a symbolic link to <kernel_src>/kernel/kernel-5.10/arch/arm64/configs/defconfig :
CONFIG_PPS_DEBUG=y
CONFIG_PPS_CLIENT_GPIO=y
After re-compiling and flashing into the NVME on the board, I would expect some registration of the assigned GPIO for the PPS, even with the failure like below :
[ 1.513054] pps_core: LinuxPPS API ver. 1 registered
[ 1.518017] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <giometti@linux.it>
[ 4.404332] pps-gpio pps: failed to request PPS GPIO
[ 4.409427] pps-gpio: probe of pps failed with error -22
But what I observed was only the first 2 lines :
[ 1.513054] pps_core: LinuxPPS API ver. 1 registered
[ 1.518017] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <giometti@linux.it>
as in the default Jetpack(-5.1.2) release, and no /dev/pps-* device found.
I wonder if my modification was not taken into account or the modified dtb was not flashed. In the other hand, my Orin Nano 8GB Devkit is recognized as P3767-0005 module on the P3768-000 carrier board, which does not match any of above tegra234-p3767-000*-p3768-0000-a0.dts.
Could this be a problem ?
Best Regards,
Khang