Time synchronisation using RTC and PPS module

Hi,

I am looking to synchronizing time on the Drive AGX with rest of the components (sensors, other linux systems, etc) in the system. For this, I would like to use the PPS signal provided by the RTC and PPS module that ships with the Drive.

IIUC, the PPS signal generated by the RTC module is described by the following fragment in the device tree -

nvpps {
        compatible = "nvidia,tegra194-nvpps";
        status = "okay";
        gpios = <0x20 0xa 0x0>;
};

This is used by the nvpps driver to instantiate a PPS device “/dev/nvpps0”. All good so far.

When I try to run standard Linux tools from pps-tools package to test the PPS functionality, I get the following error -

$ sudo ppstest /dev/nvpps0 
trying PPS source "/dev/nvpps0"
cannot create a PPS source from device "/dev/nvpps0" (Operation not supported)

It looks like nvpps driver doesn’t create a PPS device that complies with the Linux PPS API. See https://www.kernel.org/doc/Documentation/pps/pps.txt for more details. I also couldn’t find any Nvidia tools that use “/dev/nvpps0” PPS device.

A couple of related questions -

  • What tools are available to make use of the PPS functionality provided by the RTC and PPS module
  • Can you point me to documentation for the RTC and PPS module? It is connected to the CAN 4&6 connector but I couldn't find any details about the messages it supports
  • Is there a reason why the device is not exposed as a standard linux PPS device using the pps-gpio kernel driver?
  • Thanks!

    Dear punitagrawal,

    Could you please refer to the following link for your topic? Thanks.

    https://www.nvidia.com/en-us/nvdocs/drive/5_1/linux/DRIVE_Linux_AGX_PDK_Development_Guide/Interfaces/realtime_clock/

    Thanks for the link. The canrtc.sh script helps to understand the CAN interface for the RTC module.

    Do you have any pointers for the PPS output or the corresponding “/dev/nvpps0” device created in Linux?

    Also, to help understand the PPS usecase it would help to know why the device doesn’t support the standard Linux PPS API.

    Thanks.

    Hello, i’m also looking for some documentation on how to use /dev/nvpps0 device. Thanks

    Hi Roman49tdr.

    This thread is a bit old, I suggest you open a new thread with your topic and include the problem you are facing.