xref: /openbmc/linux/Documentation/ABI/testing/sysfs-timecard (revision 4f2c0a4acffbec01079c28f839422e64ddeff004)
1d7050a2bSJonathan LemonWhat:		/sys/class/timecard/
2d7050a2bSJonathan LemonDate:		September 2021
3d7050a2bSJonathan LemonContact:	Jonathan Lemon <jonathan.lemon@gmail.com>
4d7050a2bSJonathan LemonDescription:	This directory contains files and directories
5d7050a2bSJonathan Lemon		providing a standardized interface to the ancillary
6d7050a2bSJonathan Lemon		features of the OpenCompute timecard.
7d7050a2bSJonathan Lemon
8d7050a2bSJonathan LemonWhat:		/sys/class/timecard/ocpN/
9d7050a2bSJonathan LemonDate:		September 2021
10d7050a2bSJonathan LemonContact:	Jonathan Lemon <jonathan.lemon@gmail.com>
11d7050a2bSJonathan LemonDescription:	This directory contains the attributes of the Nth timecard
12d7050a2bSJonathan Lemon		registered.
13d7050a2bSJonathan Lemon
14d7050a2bSJonathan LemonWhat:		/sys/class/timecard/ocpN/available_clock_sources
15d7050a2bSJonathan LemonDate:		September 2021
16d7050a2bSJonathan LemonContact:	Jonathan Lemon <jonathan.lemon@gmail.com>
17d7050a2bSJonathan LemonDescription:	(RO) The list of available time sources that the PHC
18d7050a2bSJonathan Lemon		uses for clock adjustments.
19d7050a2bSJonathan Lemon
20d7050a2bSJonathan Lemon		====  =================================================
21d7050a2bSJonathan Lemon                NONE  no adjustments
22d7050a2bSJonathan Lemon                PPS   adjustments come from the PPS1 selector (default)
23d7050a2bSJonathan Lemon                TOD   adjustments from the GNSS/TOD module
24d7050a2bSJonathan Lemon                IRIG  adjustments from external IRIG-B signal
25d7050a2bSJonathan Lemon                DCF   adjustments from external DCF signal
26d7050a2bSJonathan Lemon                ====  =================================================
27d7050a2bSJonathan Lemon
28d7050a2bSJonathan LemonWhat:		/sys/class/timecard/ocpN/available_sma_inputs
29d7050a2bSJonathan LemonDate:		September 2021
30d7050a2bSJonathan LemonContact:	Jonathan Lemon <jonathan.lemon@gmail.com>
31d7050a2bSJonathan LemonDescription:	(RO) Set of available destinations (sinks) for a SMA
32d7050a2bSJonathan Lemon		input signal.
33d7050a2bSJonathan Lemon
34d7050a2bSJonathan Lemon                =====  ================================================
35d7050a2bSJonathan Lemon                10Mhz  signal is used as the 10Mhz reference clock
36d7050a2bSJonathan Lemon                PPS1   signal is sent to the PPS1 selector
37d7050a2bSJonathan Lemon                PPS2   signal is sent to the PPS2 selector
38d7050a2bSJonathan Lemon                TS1    signal is sent to timestamper 1
39d7050a2bSJonathan Lemon                TS2    signal is sent to timestamper 2
40*ff1d56cbSJonathan Lemon                TS3    signal is sent to timestamper 3
41*ff1d56cbSJonathan Lemon                TS4    signal is sent to timestamper 4
42d7050a2bSJonathan Lemon                IRIG   signal is sent to the IRIG-B module
43d7050a2bSJonathan Lemon                DCF    signal is sent to the DCF module
44*ff1d56cbSJonathan Lemon                FREQ1  signal is sent to frequency counter 1
45*ff1d56cbSJonathan Lemon                FREQ2  signal is sent to frequency counter 2
46*ff1d56cbSJonathan Lemon                FREQ3  signal is sent to frequency counter 3
47*ff1d56cbSJonathan Lemon                FREQ4  signal is sent to frequency counter 4
48*ff1d56cbSJonathan Lemon                None   signal input is disabled
49d7050a2bSJonathan Lemon                =====  ================================================
50d7050a2bSJonathan Lemon
51d7050a2bSJonathan LemonWhat:		/sys/class/timecard/ocpN/available_sma_outputs
52d7050a2bSJonathan LemonDate:		May 2021
53d7050a2bSJonathan LemonContact:	Jonathan Lemon <jonathan.lemon@gmail.com>
54d7050a2bSJonathan LemonDescription:	(RO) Set of available sources for a SMA output signal.
55d7050a2bSJonathan Lemon
56d7050a2bSJonathan Lemon                =====  ================================================
57d7050a2bSJonathan Lemon                10Mhz  output is from the 10Mhz reference clock
58d7050a2bSJonathan Lemon                PHC    output PPS is from the PHC clock
59d7050a2bSJonathan Lemon                MAC    output PPS is from the Miniature Atomic Clock
60*ff1d56cbSJonathan Lemon                GNSS1  output PPS is from the first GNSS module
61d7050a2bSJonathan Lemon                GNSS2  output PPS is from the second GNSS module
62d7050a2bSJonathan Lemon                IRIG   output is from the PHC, in IRIG-B format
63d7050a2bSJonathan Lemon                DCF    output is from the PHC, in DCF format
64*ff1d56cbSJonathan Lemon                GEN1   output is from frequency generator 1
65*ff1d56cbSJonathan Lemon                GEN2   output is from frequency generator 2
66*ff1d56cbSJonathan Lemon                GEN3   output is from frequency generator 3
67*ff1d56cbSJonathan Lemon                GEN4   output is from frequency generator 4
68*ff1d56cbSJonathan Lemon                GND    output is GND
69*ff1d56cbSJonathan Lemon                VCC    output is VCC
70d7050a2bSJonathan Lemon                =====  ================================================
71d7050a2bSJonathan Lemon
72d7050a2bSJonathan LemonWhat:		/sys/class/timecard/ocpN/clock_source
73d7050a2bSJonathan LemonDate:		September 2021
74d7050a2bSJonathan LemonContact:	Jonathan Lemon <jonathan.lemon@gmail.com>
75d7050a2bSJonathan LemonDescription:	(RW) Contains the current synchronization source used by
76d7050a2bSJonathan Lemon		the PHC.  May be changed by writing one of the listed
77d7050a2bSJonathan Lemon		values from the available_clock_sources attribute set.
78d7050a2bSJonathan Lemon
794db07317SJonathan LemonWhat:		/sys/class/timecard/ocpN/clock_status_drift
804db07317SJonathan LemonDate:		March 2022
814db07317SJonathan LemonContact:	Jonathan Lemon <jonathan.lemon@gmail.com>
824db07317SJonathan LemonDescription:	(RO) Contains the current drift value used by the firmware
834db07317SJonathan Lemon		for internal disciplining of the atomic clock.
844db07317SJonathan Lemon
854db07317SJonathan LemonWhat:		/sys/class/timecard/ocpN/clock_status_offset
864db07317SJonathan LemonDate:		March 2022
874db07317SJonathan LemonContact:	Jonathan Lemon <jonathan.lemon@gmail.com>
884db07317SJonathan LemonDescription:	(RO) Contains the current offset value used by the firmware
894db07317SJonathan Lemon		for internal disciplining of the atomic clock.
904db07317SJonathan Lemon
91*ff1d56cbSJonathan LemonWhat:		/sys/class/timecard/ocpN/freqX
92*ff1d56cbSJonathan LemonDate:		March 2022
93*ff1d56cbSJonathan LemonContact:	Jonathan Lemon <jonathan.lemon@gmail.com>
94*ff1d56cbSJonathan LemonDescription:	(RO) Optional directory containing the sysfs nodes for
95*ff1d56cbSJonathan Lemon		frequency counter <X>.
96*ff1d56cbSJonathan Lemon
97*ff1d56cbSJonathan LemonWhat:		/sys/class/timecard/ocpN/freqX/frequency
98*ff1d56cbSJonathan LemonDate:		March 2022
99*ff1d56cbSJonathan LemonContact:	Jonathan Lemon <jonathan.lemon@gmail.com>
100*ff1d56cbSJonathan LemonDescription:	(RO) Contains the measured frequency over the specified
101*ff1d56cbSJonathan Lemon		measurement period.
102*ff1d56cbSJonathan Lemon
103*ff1d56cbSJonathan LemonWhat:		/sys/class/timecard/ocpN/freqX/seconds
104*ff1d56cbSJonathan LemonDate:		March 2022
105*ff1d56cbSJonathan LemonContact:	Jonathan Lemon <jonathan.lemon@gmail.com>
106*ff1d56cbSJonathan LemonDescription:	(RW) Specifies the number of seconds from 0-255 that the
107*ff1d56cbSJonathan Lemon		frequency should be measured over.  Write 0 to disable.
108*ff1d56cbSJonathan Lemon
109*ff1d56cbSJonathan LemonWhat:		/sys/class/timecard/ocpN/genX
110*ff1d56cbSJonathan LemonDate:		March 2022
111*ff1d56cbSJonathan LemonContact:	Jonathan Lemon <jonathan.lemon@gmail.com>
112*ff1d56cbSJonathan LemonDescription:	(RO) Optional directory containing the sysfs nodes for
113*ff1d56cbSJonathan Lemon		frequency generator <X>.
114*ff1d56cbSJonathan Lemon
115*ff1d56cbSJonathan LemonWhat:		/sys/class/timecard/ocpN/genX/duty
116*ff1d56cbSJonathan LemonDate:		March 2022
117*ff1d56cbSJonathan LemonContact:	Jonathan Lemon <jonathan.lemon@gmail.com>
118*ff1d56cbSJonathan LemonDescription:	(RO) Specifies the signal duty cycle as a percentage from 1-99.
119*ff1d56cbSJonathan Lemon
120*ff1d56cbSJonathan LemonWhat:		/sys/class/timecard/ocpN/genX/period
121*ff1d56cbSJonathan LemonDate:		March 2022
122*ff1d56cbSJonathan LemonContact:	Jonathan Lemon <jonathan.lemon@gmail.com>
123*ff1d56cbSJonathan LemonDescription:	(RO) Specifies the signal period in nanoseconds.
124*ff1d56cbSJonathan Lemon
125*ff1d56cbSJonathan LemonWhat:		/sys/class/timecard/ocpN/genX/phase
126*ff1d56cbSJonathan LemonDate:		March 2022
127*ff1d56cbSJonathan LemonContact:	Jonathan Lemon <jonathan.lemon@gmail.com>
128*ff1d56cbSJonathan LemonDescription:	(RO) Specifies the signal phase offset in nanoseconds.
129*ff1d56cbSJonathan Lemon
130*ff1d56cbSJonathan LemonWhat:		/sys/class/timecard/ocpN/genX/polarity
131*ff1d56cbSJonathan LemonDate:		March 2022
132*ff1d56cbSJonathan LemonContact:	Jonathan Lemon <jonathan.lemon@gmail.com>
133*ff1d56cbSJonathan LemonDescription:	(RO) Specifies the signal polarity, either 1 or 0.
134*ff1d56cbSJonathan Lemon
135*ff1d56cbSJonathan LemonWhat:		/sys/class/timecard/ocpN/genX/running
136*ff1d56cbSJonathan LemonDate:		March 2022
137*ff1d56cbSJonathan LemonContact:	Jonathan Lemon <jonathan.lemon@gmail.com>
138*ff1d56cbSJonathan LemonDescription:	(RO) Either 0 or 1, showing if the signal generator is running.
139*ff1d56cbSJonathan Lemon
140*ff1d56cbSJonathan LemonWhat:		/sys/class/timecard/ocpN/genX/start
141*ff1d56cbSJonathan LemonDate:		March 2022
142*ff1d56cbSJonathan LemonContact:	Jonathan Lemon <jonathan.lemon@gmail.com>
143*ff1d56cbSJonathan LemonDescription:	(RO) Shows the time in <sec>.<nsec> that the signal generator
144*ff1d56cbSJonathan Lemon		started running.
145*ff1d56cbSJonathan Lemon
146*ff1d56cbSJonathan LemonWhat:		/sys/class/timecard/ocpN/genX/signal
147*ff1d56cbSJonathan LemonDate:		March 2022
148*ff1d56cbSJonathan LemonContact:	Jonathan Lemon <jonathan.lemon@gmail.com>
149*ff1d56cbSJonathan LemonDescription:	(RW) Used to start the signal generator, and summarize
150*ff1d56cbSJonathan Lemon		the current status.
151*ff1d56cbSJonathan Lemon
152*ff1d56cbSJonathan Lemon		The signal generator may be started by writing the signal
153*ff1d56cbSJonathan Lemon		period, followed by the optional signal values.  If the
154*ff1d56cbSJonathan Lemon		optional values are not provided, they default to the current
155*ff1d56cbSJonathan Lemon		settings, which may be obtained from the other sysfs nodes.
156*ff1d56cbSJonathan Lemon
157*ff1d56cbSJonathan Lemon		    period [duty [phase [polarity]]]
158*ff1d56cbSJonathan Lemon
159*ff1d56cbSJonathan Lemon		echo 500000000 > signal       # 1/2 second period
160*ff1d56cbSJonathan Lemon		echo 1000000 40 100 > signal
161*ff1d56cbSJonathan Lemon		echo 0 > signal               # turn off generator
162*ff1d56cbSJonathan Lemon
163*ff1d56cbSJonathan Lemon		Period and phase are specified in nanoseconds.  Duty cycle is
164*ff1d56cbSJonathan Lemon		a percentage from 1-99.  Polarity is 1 or 0.
165*ff1d56cbSJonathan Lemon
166*ff1d56cbSJonathan Lemon		Reading this node will return:
167*ff1d56cbSJonathan Lemon
168*ff1d56cbSJonathan Lemon		    period duty phase polarity start_time
169*ff1d56cbSJonathan Lemon
170d7050a2bSJonathan LemonWhat:		/sys/class/timecard/ocpN/gnss_sync
171d7050a2bSJonathan LemonDate:		September 2021
172d7050a2bSJonathan LemonContact:	Jonathan Lemon <jonathan.lemon@gmail.com>
173d7050a2bSJonathan LemonDescription:	(RO) Indicates whether a valid GNSS signal is received,
174d7050a2bSJonathan Lemon		or when the signal was lost.
175d7050a2bSJonathan Lemon
176d7050a2bSJonathan LemonWhat:		/sys/class/timecard/ocpN/i2c
177d7050a2bSJonathan LemonDate:		September 2021
178d7050a2bSJonathan LemonContact:	Jonathan Lemon <jonathan.lemon@gmail.com>
179d7050a2bSJonathan LemonDescription:	This optional attribute links to the associated i2c device.
180d7050a2bSJonathan Lemon
181d7050a2bSJonathan LemonWhat:		/sys/class/timecard/ocpN/irig_b_mode
182d7050a2bSJonathan LemonDate:		September 2021
183d7050a2bSJonathan LemonContact:	Jonathan Lemon <jonathan.lemon@gmail.com>
184d7050a2bSJonathan LemonDescription:	(RW) An integer from 0-7 indicating the timecode format
185d7050a2bSJonathan Lemon		of the IRIG-B output signal: B00<n>
186d7050a2bSJonathan Lemon
187d7050a2bSJonathan LemonWhat:		/sys/class/timecard/ocpN/pps
188d7050a2bSJonathan LemonDate:		September 2021
189d7050a2bSJonathan LemonContact:	Jonathan Lemon <jonathan.lemon@gmail.com>
190d7050a2bSJonathan LemonDescription:	This optional attribute links to the associated PPS device.
191d7050a2bSJonathan Lemon
192d7050a2bSJonathan LemonWhat:		/sys/class/timecard/ocpN/ptp
193d7050a2bSJonathan LemonDate:		September 2021
194d7050a2bSJonathan LemonContact:	Jonathan Lemon <jonathan.lemon@gmail.com>
195d7050a2bSJonathan LemonDescription:	This attribute links to the associated PTP device.
196d7050a2bSJonathan Lemon
197d7050a2bSJonathan LemonWhat:		/sys/class/timecard/ocpN/serialnum
198d7050a2bSJonathan LemonDate:		September 2021
199d7050a2bSJonathan LemonContact:	Jonathan Lemon <jonathan.lemon@gmail.com>
200d7050a2bSJonathan LemonDescription:	(RO) Provides the serial number of the timecard.
201d7050a2bSJonathan Lemon
202d7050a2bSJonathan LemonWhat:		/sys/class/timecard/ocpN/sma1
203d7050a2bSJonathan LemonWhat:		/sys/class/timecard/ocpN/sma2
204d7050a2bSJonathan LemonWhat:		/sys/class/timecard/ocpN/sma3
205d7050a2bSJonathan LemonWhat:		/sys/class/timecard/ocpN/sma4
206d7050a2bSJonathan LemonDate:		September 2021
207d7050a2bSJonathan LemonContact:	Jonathan Lemon <jonathan.lemon@gmail.com>
208d7050a2bSJonathan LemonDescription:	(RW) These attributes specify the direction of the signal
209d7050a2bSJonathan Lemon		on the associated SMA connectors, and also the signal sink
210d7050a2bSJonathan Lemon		or source.
211d7050a2bSJonathan Lemon
212d7050a2bSJonathan Lemon		The display format of the attribute is a space separated
213d7050a2bSJonathan Lemon		list of signals, prefixed by the input/output direction.
214d7050a2bSJonathan Lemon
215d7050a2bSJonathan Lemon		The signal direction may be changed (if supported) by
216d7050a2bSJonathan Lemon		prefixing the signal list with either "in:" or "out:".
217d7050a2bSJonathan Lemon		If neither prefix is present, then the direction is unchanged.
218d7050a2bSJonathan Lemon
219d7050a2bSJonathan Lemon		The output signal may be changed by writing one of the listed
220d7050a2bSJonathan Lemon		values from the available_sma_outputs attribute set.
221d7050a2bSJonathan Lemon
222d7050a2bSJonathan Lemon		The input destinations may be changed by writing multiple
223d7050a2bSJonathan Lemon		values from the available_sma_inputs attribute set,
224d7050a2bSJonathan Lemon		separated by spaces.  If there are duplicated input
225d7050a2bSJonathan Lemon		destinations between connectors, the lowest numbered SMA
226d7050a2bSJonathan Lemon		connector is given priority.
227d7050a2bSJonathan Lemon
228d7050a2bSJonathan Lemon		Note that not all input combinations may make sense.
229d7050a2bSJonathan Lemon
230d7050a2bSJonathan Lemon		The 10Mhz reference clock input is currently only valid
231d7050a2bSJonathan Lemon		on SMA1 and may not be combined with other destination sinks.
232d7050a2bSJonathan Lemon
2334db07317SJonathan LemonWhat:		/sys/class/timecard/ocpN/tod_correction
2344db07317SJonathan LemonDate:		March 2022
2354db07317SJonathan LemonContact:	Jonathan Lemon <jonathan.lemon@gmail.com>
2364db07317SJonathan LemonDescription:	(RW) The incoming GNSS signal is in UTC time, and the NMEA
2374db07317SJonathan Lemon		format messages do not provide a TAI offset.  This sets the
2384db07317SJonathan Lemon		correction value for the incoming time.
2394db07317SJonathan Lemon
2404db07317SJonathan Lemon		If UBX_LS is enabled, this should be 0, and the offset is
2414db07317SJonathan Lemon		taken from the UBX-NAV-TIMELS message.
2424db07317SJonathan Lemon
243d7050a2bSJonathan LemonWhat:		/sys/class/timecard/ocpN/ts_window_adjust
244d7050a2bSJonathan LemonDate:		September 2021
245d7050a2bSJonathan LemonContact:	Jonathan Lemon <jonathan.lemon@gmail.com>
246d7050a2bSJonathan LemonDescription:	(RW) When retrieving the PHC with the PTP SYS_OFFSET_EXTENDED
247d7050a2bSJonathan Lemon		ioctl, a system timestamp is made before and after the PHC
248d7050a2bSJonathan Lemon		time is retrieved.  The midpoint between the two system
249d7050a2bSJonathan Lemon		timestamps is usually taken to be the SYS time associated
250d7050a2bSJonathan Lemon		with the PHC time.  This estimate may be wrong, as it depends
251d7050a2bSJonathan Lemon		on PCI latencies, and when the PHC time was latched
252d7050a2bSJonathan Lemon
253d7050a2bSJonathan Lemon		The attribute value reduces the end timestamp by the given
254d7050a2bSJonathan Lemon		number of nanoseconds, so the computed midpoint matches the
255d7050a2bSJonathan Lemon		retrieved PHC time.
256d7050a2bSJonathan Lemon
257d7050a2bSJonathan Lemon		The initial value is set based on measured PCI latency and
258d7050a2bSJonathan Lemon		the estimated point where the FPGA latches the PHC time.  This
259d7050a2bSJonathan Lemon		value may be changed by writing an unsigned integer.
260d7050a2bSJonathan Lemon
261d7050a2bSJonathan LemonWhat:		/sys/class/timecard/ocpN/ttyGNSS
262d7050a2bSJonathan LemonWhat:		/sys/class/timecard/ocpN/ttyGNSS2
263d7050a2bSJonathan LemonDate:		September 2021
264d7050a2bSJonathan LemonContact:	Jonathan Lemon <jonathan.lemon@gmail.com>
265d7050a2bSJonathan LemonDescription:	These optional attributes link to the TTY serial ports
266d7050a2bSJonathan Lemon		associated with the GNSS devices.
267d7050a2bSJonathan Lemon
268d7050a2bSJonathan LemonWhat:		/sys/class/timecard/ocpN/ttyMAC
269d7050a2bSJonathan LemonDate:		September 2021
270d7050a2bSJonathan LemonContact:	Jonathan Lemon <jonathan.lemon@gmail.com>
271d7050a2bSJonathan LemonDescription:	This optional attribute links to the TTY serial port
272d7050a2bSJonathan Lemon		associated with the Miniature Atomic Clock.
273d7050a2bSJonathan Lemon
274d7050a2bSJonathan LemonWhat:		/sys/class/timecard/ocpN/ttyNMEA
275d7050a2bSJonathan LemonDate:		September 2021
276d7050a2bSJonathan LemonContact:	Jonathan Lemon <jonathan.lemon@gmail.com>
277d7050a2bSJonathan LemonDescription:	This optional attribute links to the TTY serial port
278d7050a2bSJonathan Lemon		which outputs the PHC time in NMEA ZDA format.
279d7050a2bSJonathan Lemon
280d7050a2bSJonathan LemonWhat:		/sys/class/timecard/ocpN/utc_tai_offset
281d7050a2bSJonathan LemonDate:		September 2021
282d7050a2bSJonathan LemonContact:	Jonathan Lemon <jonathan.lemon@gmail.com>
283d7050a2bSJonathan LemonDescription:	(RW) The DCF and IRIG output signals are in UTC, while the
284d7050a2bSJonathan Lemon		TimeCard operates on TAI.  This attribute allows setting the
285d7050a2bSJonathan Lemon		offset in seconds, which is added to the TAI timebase for
286d7050a2bSJonathan Lemon		these formats.
287d7050a2bSJonathan Lemon
288d7050a2bSJonathan Lemon		The offset may be changed by writing an unsigned integer.
289