TSC tracking of external AON GPIO

I would like to enable hardware phase locking on the TSC to track an external GPIO based on this documentation in the Orin Technical Reference Manual.

The manual mentions that

The following lists the signals that are used as reference signals, per branch:
Branch GPS
A selected subset of the input signals to the AO cluster GTE. It is assumed that one of
these GPIO is the GPS PPS, normally carried as a short pulse, and the rising edge must be
used as reference.

and the corresponding TSC configuration register has src_select bits for selecting which GPIO to monitor

Which AON GPIO lines can be used as the TSC’s reference signal?
What is the mapping from AON GPIO line to a src_select value?

*** Please note that this reply is generated by LLM automatically ***

To enable hardware phase locking on the TSC (Time Stamp Counter) to track an external GPIO based on the provided documentation from the Orin Technical Reference Manual, we need to understand the configuration and capabilities of the TSC and the AON (Always-On) GPIO lines.

The TSC is a counter that can be used for various timing-related purposes, including tracking external events. The manual mentions that the TSC can be configured to use an external GPIO as its reference signal, which allows for synchronization with external events or signals. This is achieved through the TSC configuration register, which includes srcselect bits. These bits are used to select which GPIO line to monitor as the reference signal for the TSC.

Given the context, the question asks about the AON GPIO lines that can be used as the TSC’s reference signal and the mapping from the AON GPIO line to a value. However, the provided context does not explicitly list the AON GPIO lines that can be used for this purpose or their corresponding values.

For a comprehensive answer, we would typically need to refer to specific sections of the Orin Technical Reference Manual or other relevant documentation that details the AON GPIO lines and their mappings. Unfortunately, without this specific information provided in the context, we cannot accurately list the AON GPIO lines or their mappings to values for configuring the TSC.

In general, to find the mapping from an AON GPIO line to a value for configuring the TSC, one would typically follow these steps:

  1. Consult the Orin Technical Reference Manual: Look for sections related to the TSC, AON GPIO, and their configurations. The manual should provide details on which GPIO lines are available for use as the TSC’s reference signal.

  2. Identify Relevant Registers: The manual should also describe the TSC configuration register, including the srcselect bits. Understanding how these bits are set to select different GPIO lines is crucial.

  3. Determine GPIO Line Usage: For each AON GPIO line that can be used with the TSC, there should be a description of how to configure it, including any specific settings or considerations for using it as a reference signal.

  4. Mapping to Values: The documentation should provide a table or description that maps each AON GPIO line to a specific value or setting in the TSC configuration register. This mapping is essential for correctly configuring the TSC to monitor the desired GPIO line.

Without the explicit details from the Orin Technical Reference Manual or similar documentation, it’s not possible to provide the specific AON GPIO lines that can be used or their mappings to values for configuring the TSC. For accurate and detailed information, consulting the official documentation or contacting the manufacturer’s support would be the best course of action.

*** Please give the thumbs up if you get answers you like. Or provide feedback to help us improve the answer. ***

Hi al.chaussee,

Are you using the devkit or custom board for AGX Orin?
What’s the Jetpack version in use?

Are you trying to implement PPS GPIO for HW-based time synchronization?

It is a custom board for AGX Orin.
Jetpack 5.1.4 (Jetson 35.6)

Yes I am trying to implement PPS GPIO for HW-based synchronization of the TSC.

Have you referred to Generic Timestamp Engine — NVIDIA Jetson Linux Developer Guide 1 documentation for this use case?

Yes I am already using the GTE to get timestamps of the GPIO events but the timestamps drift over time relative to system time. I believe the GTE uses the TSC as the hardware timestamping clock so I’m looking to discipline the TSC to prevent it from drifting over time. Note that I have system time disciplined using PTP so I want to synchronize the TSC to PPS so that both clocks are synchronized to effectively the same external source.

I’ve also already tried to use the NVPPS module for this but it did not work. I tried all 5 of the supported MAC interfaces (mgbe0-3 and eqos0) and while NVPPS was able to read timestamps from the interfaces and the TSC, the TSC was not still not being synchronized to the PTP signal. I checked the TSC_LOCKING_STATUS_0 register for the CAPTURE_DIFF_COUNT to see if the TSC was registering any capture events from the reference signal but it always reported 0 and I still saw the timestamps drift.
I’m hoping to try using TSC_CAPTURE_CONFIGURATION_GPS_0 instead of TSC_CAPTURE_CONFIGURATION_PTX_0but need to know what AON GPIO lines the TSC can use as a reference signal and what is the mapping from AON GPIO line to the TSC_CAPTURE_CONFIGURATION_GPS_0 src_select configuration.

I’m checking this with internal and will update to you later.

Hi al.chaussee,

I’ve checked this with internal.

Any of the spare / unused GPIO pins from AON controller can be used.

LOCKING_CONFIGURATION.SRC_SELECT=0 should select the GPS (or GPIO) based signals.
CAPTURE_CONFIGURATION_GPS.SRC_SELECT[15:0] selects the particular GPIO signal.
The mapping is same as GTE (column Y) mapping in pinmux spreadsheet as following.

So,
GTE*[0] is mapped to CAPTURE_CONFIGURATION_GPS.SRC_SELECT=0
GTE*[31] is mapped to CAPTURE_CONFIGURATION_GPS.SRC_SELECT=31

Thank you @KevinFFF, I appreciate the help!

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