TSC_EDGE_OUT Functionality on Jetson AGX Orin Developer Kit

Hello,

I am working with the Jetson AGX Orin Developer Kit and need to configure a GPIO pin to function as TSC_EDGE_OUT (Time Stamp Counter Edge Output). I have reviewed the Product Design Guide, TRM, and the Pinmux Spreadsheet but have not found explicit documentation on TSC_EDGE_OUT functionality.

  1. Does the Jetson AGX Orin Developer Kit support TSC_EDGE_OUT?
  2. If so, which GPIO pin(s) can be configured for this purpose?
  3. Are there any specific steps or configurations needed to enable TSC_EDGE_OUT?

Any guidance or documentation references would be greatly appreciated.

Thank you,
Sharon Salmon

Ok, from what I found It is GPIO10 which is in pin #85 on the camera connector. now my question is how do I set it to be used as PPS output aligned with PTP ?

Hi ssalmon,

What’s the Jetpack version in use?
Are you trying to connect TSC_EDGE_OUT to a GPIO used as PPS input?

You can refer to the following topics to setup PPS first.
PPS input to GPIO on Jetpack 6.1 - #8 by erik93
Pps_gpio interrupt not asserted - #8 by KevinFFF
AGX Xavier PPS fetch timeout R35.2.1(R32.7.1 works fine)

Hi,
My version is JetPack 5.1.2.
Im am not trying to have PPS input. I try to use TSC_EDGE_OUT0 which is GPIO10 as a PPS output signal

After you generate PPS signal from TSC_EDGE_OUT0, what is it connecting with?
What’s your use case for this signal?
How do you control this pin to use it as PPS output? by trigger the event!?

Hi,
I am trying to connect it to OSA 5422 which functions as PTP grandmaster.
It is done for offset measurements.
the pin can be aligned to the PTP

How do you connect AGX Orin with OSA-5422? (through ethernet?)

Have you installed linuxptp on AGX Orin?

Yes Ethernet
Yes I installed linuxptp

Please share the result of the following commands on your devkit.

$ ethtool -T eno1
$ sudo ptp4l -i eno1 -m
(in another terminal)
$ sudo phc2sys -s eno1 -w -m

I have these interfaces on my device:
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 10.7.162.18 netmask 255.255.254.0 broadcast 10.7.163.255
inet6 fe80::e928:4340:93e1:e4b7 prefixlen 64 scopeid 0x20
ether 7c:c2:c6:45:3b:57 txqueuelen 1000 (Ethernet)
RX packets 7742 bytes 2245639 (2.2 MB)
RX errors 6809 dropped 0 overruns 0 frame 0
TX packets 8522 bytes 1247799 (1.2 MB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

eth1: flags=4099<UP,BROADCAST,MULTICAST> mtu 1500
ether 3c:6d:66:02:cd:d9 txqueuelen 1000 (Ethernet)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

root@agxlab-desktop:~# ethtool -T eth1
Time stamping parameters for eth1:
Capabilities:
hardware-transmit (SOF_TIMESTAMPING_TX_HARDWARE)
software-transmit (SOF_TIMESTAMPING_TX_SOFTWARE)
hardware-receive (SOF_TIMESTAMPING_RX_HARDWARE)
software-receive (SOF_TIMESTAMPING_RX_SOFTWARE)
software-system-clock (SOF_TIMESTAMPING_SOFTWARE)
hardware-raw-clock (SOF_TIMESTAMPING_RAW_HARDWARE)
PTP Hardware Clock: 0
Hardware Transmit Timestamp Modes:
off (HWTSTAMP_TX_OFF)
on (HWTSTAMP_TX_ON)
one-step-sync (HWTSTAMP_TX_ONESTEP_SYNC)
Hardware Receive Filter Modes:
none (HWTSTAMP_FILTER_NONE)
ptpv1-l4-sync (HWTSTAMP_FILTER_PTP_V1_L4_SYNC)
ptpv1-l4-delay-req (HWTSTAMP_FILTER_PTP_V1_L4_DELAY_REQ)
ptpv2-l4-sync (HWTSTAMP_FILTER_PTP_V2_L4_SYNC)
ptpv2-l4-delay-req (HWTSTAMP_FILTER_PTP_V2_L4_DELAY_REQ)
ptpv2-l2-sync (HWTSTAMP_FILTER_PTP_V2_L2_SYNC)
ptpv2-l2-delay-req (HWTSTAMP_FILTER_PTP_V2_L2_DELAY_REQ)
ptpv2-event (HWTSTAMP_FILTER_PTP_V2_EVENT)

Your results look good to me.

Please refer to the following steps to setup.

  1. connect OSA 5422 to AGX Orin eth1 port with ethernet cable
  2. create a configuration file(/etc/linuxptp/ptp4l-eth1.conf) with following contents.
# =================================================================
# PTPd configuration file for a dedicated PTP slave on eth1
# =================================================================
[global]
# Log to system log
logging_level     7
verbose           1

# We are a PTP slave (client) only
slaveOnly         1

# Kernel-level hardware timestamping
time_stamping     hardware

# =================================================================
# Port specific options for eth1
# =================================================================
[eth1]
# PTP domain number, 0 is the default. Must match your OSA 5422 setting.
domainNumber      0

# Use Layer 2 (Ethernet) transport. This is robust and doesn't require an IP address.
network_transport L2

# Announce messages tell us about the master clock
logAnnounceInterval  1

# Sync messages are for frequency/time correction
logSyncInterval      -3

# Delay request messages are sent by the slave to measure path delay
logMinDelayReqInterval -3

# Let the servo decide on the PI coefficients
pi_proportional_const 0.0
pi_integral_const     0.0
  1. Create 3 terminals and run the following commands and share the results
(1st terminal)
$ sudo ptp4l -i eth1 -f /etc/linuxptp/ptp4l-eth1.conf -m

(2nd terminal)
$sudo phc2sys -s eth1 -w -m

(3rd terminal)
$ date

Hi.
I didn’t run this exactly.
I ran:
sudo ptp4l -i eth1 -f /etc/linuxptp/ptp4l-eth1.conf -m -H

The conf file looks like this:

=================================================================

PTPd configuration file for a dedicated PTP slave on eth1

=================================================================

[global]

time_stamping hardware
delay_mechanism E2E
network_transport L2
tx_timestamp_timeout 20

Log to system log

logging_level 7
verbose 1

We are a PTP slave (client) only

slaveOnly 1

PTP domain number, 0 is the default. Must match your master clock setting

domainNumber 0

Let the servo decide on the PI coefficients (0.0 = auto)

pi_proportional_const 0.0
pi_integral_const 0.0

=================================================================

Port specific options for eth1

=================================================================

[eth1]

Announce messages tell us about the master clock

logAnnounceInterval 1

Sync messages are for frequency/time correction

logSyncInterval 1

Delay request messages are sent by the slave to measure path delay

logMinDelayReqInterval 1

The ruesults of terminal1 looks like that:
ptp4l[201126.901]: delay filtered 2442 raw 1865
ptp4l[201127.558]: master offset 349 s2 freq -5113 path delay 2442
ptp4l[201128.270]: port 1: delay timeout
ptp4l[201128.276]: delay filtered 2280 raw 1893
ptp4l[201128.558]: master offset 91 s2 freq -5266 path delay 2280
ptp4l[201128.662]: port 1: delay timeout
ptp4l[201128.668]: delay filtered 2203 raw 1758
ptp4l[201129.558]: master offset -114 s2 freq -5444 path delay 2203
ptp4l[201129.900]: port 1: delay timeout
ptp4l[201129.908]: delay filtered 2127 raw 1755
ptp4l[201130.558]: master offset -135 s2 freq -5499 path delay 2127
ptp4l[201130.596]: port 1: delay timeout
ptp4l[201130.604]: delay filtered 2010 raw 1744
ptp4l[201131.558]: master offset -51 s2 freq -5456 path delay 2010
ptp4l[201131.696]: port 1: delay timeout
ptp4l[201131.704]: delay filtered 1879 raw 1761
ptp4l[201132.030]: port 1: delay timeout
ptp4l[201132.036]: delay filtered 1814 raw 1763
ptp4l[201132.290]: port 1: delay timeout
ptp4l[201132.296]: delay filtered 1770 raw 1777
ptp4l[201132.558]: master offset 92 s2 freq -5328 path delay 1770
ptp4l[201133.531]: port 1: delay timeout
ptp4l[201133.540]: delay filtered 1770 raw 1843
ptp4l[201133.558]: master offset -122 s2 freq -5514 path delay 1770
ptp4l[201133.955]: port 1: delay timeout
ptp4l[201133.960]: delay filtered 1762 raw 1743
ptp4l[201134.558]: master offset -132 s2 freq -5561 path delay 1762
ptp4l[201135.436]: port 1: delay timeout

Terminal2 look like:
root@agxlab-desktop:~# sudo phc2sys -s eth1 -w -m
phc2sys[201186.897]: CLOCK_REALTIME phc offset 528210 s0 freq -5194 delay 2560
phc2sys[201187.898]: CLOCK_REALTIME phc offset 527820 s1 freq -5584 delay 2656
phc2sys[201188.899]: CLOCK_REALTIME phc offset 10962 s2 freq +5378 delay 2657
phc2sys[201189.899]: CLOCK_REALTIME phc offset 81144 s2 freq +78849 delay 2624
phc2sys[201190.900]: CLOCK_REALTIME phc offset 67902 s2 freq +89950 delay 2848
phc2sys[201191.901]: CLOCK_REALTIME phc offset 34598 s2 freq +77017 delay 2624
phc2sys[201192.901]: CLOCK_REALTIME phc offset 6483 s2 freq +59281 delay 2688
phc2sys[201193.902]: CLOCK_REALTIME phc offset -10863 s2 freq +43880 delay 2687
phc2sys[201194.902]: CLOCK_REALTIME phc offset -18618 s2 freq +32866 delay 3040
phc2sys[201195.903]: CLOCK_REALTIME phc offset -20649 s2 freq +25250 delay 2688

Terminal3:
root@agxlab-desktop:~# date
Wed 09 Jul 2025 17:39:25 IDT

Hope this is ok. if not , I’ll try the persice configuration

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