xref: /linux/Documentation/ABI/testing/sysfs-ptp (revision 30e48a75df9c6ead93866bdf1511ca6ecfe17fbe)
1What:		/sys/class/ptp/
2Date:		September 2010
3Contact:	Richard Cochran <richardcochran@gmail.com>
4Description:
5		This directory contains files and directories
6		providing a standardized interface to the ancillary
7		features of PTP hardware clocks.
8
9What:		/sys/class/ptp/ptp<N>/
10Date:		September 2010
11Contact:	Richard Cochran <richardcochran@gmail.com>
12Description:
13		This directory contains the attributes of the Nth PTP
14		hardware clock registered into the PTP class driver
15		subsystem.
16
17What:		/sys/class/ptp/ptp<N>/clock_name
18Date:		September 2010
19Contact:	Richard Cochran <richardcochran@gmail.com>
20Description:
21		This file contains the name of the PTP hardware clock
22		as a human readable string. The purpose of this
23		attribute is to provide the user with a "friendly
24		name" and to help distinguish PHY based devices from
25		MAC based ones. The string does not necessarily have
26		to be any kind of unique id.
27
28What:		/sys/class/ptp/ptp<N>/max_adjustment
29Date:		September 2010
30Contact:	Richard Cochran <richardcochran@gmail.com>
31Description:
32		This file contains the PTP hardware clock's maximum
33		frequency adjustment value (a positive integer) in
34		parts per billion.
35
36What:		/sys/class/ptp/ptp<N>/max_vclocks
37Date:		May 2021
38Contact:	Yangbo Lu <yangbo.lu@nxp.com>
39Description:
40		This file contains the maximum number of ptp vclocks.
41		Write integer to re-configure it.
42
43What:		/sys/class/ptp/ptp<N>/n_alarms
44Date:		September 2010
45Contact:	Richard Cochran <richardcochran@gmail.com>
46Description:
47		This file contains the number of periodic or one shot
48		alarms offer by the PTP hardware clock.
49
50What:		/sys/class/ptp/ptp<N>/n_external_timestamps
51Date:		September 2010
52Contact:	Richard Cochran <richardcochran@gmail.com>
53Description:
54		This file contains the number of external timestamp
55		channels offered by the PTP hardware clock.
56
57What:		/sys/class/ptp/ptp<N>/n_periodic_outputs
58Date:		September 2010
59Contact:	Richard Cochran <richardcochran@gmail.com>
60Description:
61		This file contains the number of programmable periodic
62		output channels offered by the PTP hardware clock.
63
64What:		/sys/class/ptp/ptp<N>/n_pins
65Date:		March 2014
66Contact:	Richard Cochran <richardcochran@gmail.com>
67Description:
68		This file contains the number of programmable pins
69		offered by the PTP hardware clock.
70
71What:		/sys/class/ptp/ptp<N>/n_vclocks
72Date:		May 2021
73Contact:	Yangbo Lu <yangbo.lu@nxp.com>
74Description:
75		This file contains the number of virtual PTP clocks in
76		use.  By default, the value is 0 meaning that only the
77		physical clock is in use.  Setting the value creates
78		the corresponding number of virtual clocks and causes
79		the physical clock to become free running.  Setting the
80		value back to 0 deletes the virtual clocks and
81		switches the physical clock back to normal, adjustable
82		operation.
83
84What:		/sys/class/ptp/ptp<N>/pins
85Date:		March 2014
86Contact:	Richard Cochran <richardcochran@gmail.com>
87Description:
88		This directory contains one file for each programmable
89		pin offered by the PTP hardware clock. The file name
90		is the hardware dependent pin name. Reading from this
91		file produces two numbers, the assigned function (see
92		the `PTP_PF_` enumeration values in linux/ptp_clock.h)
93		and the channel number. The function and channel
94		assignment may be changed by two writing numbers into
95		the file.
96
97What:		/sys/class/ptp/ptp<N>/pps_available
98Date:		September 2010
99Contact:	Richard Cochran <richardcochran@gmail.com>
100Description:
101		This file indicates whether the PTP hardware clock
102		supports a Pulse Per Second to the host CPU. Reading
103		"1" means that the PPS is supported, while "0" means
104		not supported.
105
106What:		/sys/class/ptp/ptp<N>/extts_enable
107Date:		September 2010
108Contact:	Richard Cochran <richardcochran@gmail.com>
109Description:
110		This write-only file enables or disables external
111		timestamps. To enable external timestamps, write the
112		channel index followed by a "1" into the file.
113		To disable external timestamps, write the channel
114		index followed by a "0" into the file.
115
116What:		/sys/class/ptp/ptp<N>/fifo
117Date:		September 2010
118Contact:	Richard Cochran <richardcochran@gmail.com>
119Description:
120		This file provides timestamps on external events, in
121		the form of three integers: channel index, seconds,
122		and nanoseconds.
123
124What:		/sys/class/ptp/ptp<N>/period
125Date:		September 2010
126Contact:	Richard Cochran <richardcochran@gmail.com>
127Description:
128		This write-only file enables or disables periodic
129		outputs. To enable a periodic output, write five
130		integers into the file: channel index, start time
131		seconds, start time nanoseconds, period seconds, and
132		period nanoseconds. To disable a periodic output, set
133		all the seconds and nanoseconds values to zero.
134
135What:		/sys/class/ptp/ptp<N>/pps_enable
136Date:		September 2010
137Contact:	Richard Cochran <richardcochran@gmail.com>
138Description:
139		This write-only file enables or disables delivery of
140		PPS events to the Linux PPS subsystem. To enable PPS
141		events, write a "1" into the file. To disable events,
142		write a "0" into the file.
143