About PPS signal input

Please provide the following info (tick the boxes after creating this topic):
Software Version
[*] DRIVE OS 6.0.6
DRIVE OS 6.0.5
DRIVE OS 6.0.4 (rev. 1)
DRIVE OS 6.0.4 SDK
other

Target Operating System
[*] Linux
QNX
other

Hardware Platform
DRIVE AGX Orin Developer Kit (940-63710-0010-D00)
DRIVE AGX Orin Developer Kit (940-63710-0010-C00)
[*] DRIVE AGX Orin Developer Kit (not sure its number)
other

SDK Manager Version
[*] 1.9.2.10884
other

Host Machine Version
[] native Ubuntu Linux 20.04 Host installed with SDK Manager
[
] native Ubuntu Linux 20.04 Host installed with DRIVE OS Docker Containers
native Ubuntu Linux 18.04 Host installed with DRIVE OS Docker Containers
other

Hi,
I am checking the PPS signal input from GNSS.
However, the NvPPS module is operating in timer mode.
How can I make the NvPPS module operate in GPIO / PPS mode?

nvidia@tegra-ubuntu:~$ sudo dmesg | grep nvpps
[ 1.265081] nvpps c6a0104.nvpps: nvpps_probe
[ 1.265087] nvpps c6a0104.nvpps: PPS GPIO not provided in DT, only Timer mode available
[ 1.265090] nvpps c6a0104.nvpps: using ptp notifier method with interface(mgbe2_0)
[ 1.265092] nvpps c6a0104.nvpps: tsc_res_ns(32)
[ 1.265141] nvpps c6a0104.nvpps: nvpps cdev(508:0)
[ 1.265215] nvpps c6a0104.nvpps: tegra_gte_register_event err = -22
[ 1.265229] nvpps c6a0104.nvpps: TSC config ptx 0x313
[ 2.270649] nvpps nvpps0: failed to get PTP_TSC concurrent timestamp from interface(mgbe2_0)
[ 2.270654] nvpps nvpps0: failed to get PTP_TSC concurrent timestamp for secondary interface(eqos_0)

Best Regards,

We will check this and get back to you here. Thanks.

Your application should call an ioctl function with the command NVPPS_SETPARAMS and a struct nvpps_params variable as an argument to configure NvPPS. The provided struct definition specifies the values each element takes. To set the NvPPS mode to GPIO, set the evt_mode variable to NVPPS_MODE_GPIO (0x1), and to set the mode to TIMER, set the value to NVPPS_MODE_TIMER (0x2). The below snippet shows the definition of the struct and the available values for evt_mode and tsc_mode.

struct nvpps_params {
__u32 evt_mode;
__u32 tsc_mode;
};

/* evt_mode */
define NVPPS_MODE_GPIO 0x01
define NVPPS_MODE_TIMER 0x02

/* tsc_mode */
define NVPPS_TSC_NSEC 0
define NVPPS_TSC_COUNTER 1

For more details, please refer to the nvpps_ioctl.h file located at ~/nvidia/nvidia_sdk/DRIVE_OS_6.0.6_SDK_Linux_DRIVE_AGX_ORIN_DEVKITS/DRIVEOS/drive-linux/kernel/source/oss_src/nvidia/include/uapi/linux/.

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