162306a36Sopenharmony_ciWhat:		/sys/class/timecard/
262306a36Sopenharmony_ciDate:		September 2021
362306a36Sopenharmony_ciContact:	Jonathan Lemon <jonathan.lemon@gmail.com>
462306a36Sopenharmony_ciDescription:	This directory contains files and directories
562306a36Sopenharmony_ci		providing a standardized interface to the ancillary
662306a36Sopenharmony_ci		features of the OpenCompute timecard.
762306a36Sopenharmony_ci
862306a36Sopenharmony_ciWhat:		/sys/class/timecard/ocpN/
962306a36Sopenharmony_ciDate:		September 2021
1062306a36Sopenharmony_ciContact:	Jonathan Lemon <jonathan.lemon@gmail.com>
1162306a36Sopenharmony_ciDescription:	This directory contains the attributes of the Nth timecard
1262306a36Sopenharmony_ci		registered.
1362306a36Sopenharmony_ci
1462306a36Sopenharmony_ciWhat:		/sys/class/timecard/ocpN/available_clock_sources
1562306a36Sopenharmony_ciDate:		September 2021
1662306a36Sopenharmony_ciContact:	Jonathan Lemon <jonathan.lemon@gmail.com>
1762306a36Sopenharmony_ciDescription:	(RO) The list of available time sources that the PHC
1862306a36Sopenharmony_ci		uses for clock adjustments.
1962306a36Sopenharmony_ci
2062306a36Sopenharmony_ci		====  =================================================
2162306a36Sopenharmony_ci                NONE  no adjustments
2262306a36Sopenharmony_ci                PPS   adjustments come from the PPS1 selector (default)
2362306a36Sopenharmony_ci                TOD   adjustments from the GNSS/TOD module
2462306a36Sopenharmony_ci                IRIG  adjustments from external IRIG-B signal
2562306a36Sopenharmony_ci                DCF   adjustments from external DCF signal
2662306a36Sopenharmony_ci                ====  =================================================
2762306a36Sopenharmony_ci
2862306a36Sopenharmony_ciWhat:		/sys/class/timecard/ocpN/available_sma_inputs
2962306a36Sopenharmony_ciDate:		September 2021
3062306a36Sopenharmony_ciContact:	Jonathan Lemon <jonathan.lemon@gmail.com>
3162306a36Sopenharmony_ciDescription:	(RO) Set of available destinations (sinks) for a SMA
3262306a36Sopenharmony_ci		input signal.
3362306a36Sopenharmony_ci
3462306a36Sopenharmony_ci                =====  ================================================
3562306a36Sopenharmony_ci                10Mhz  signal is used as the 10Mhz reference clock
3662306a36Sopenharmony_ci                PPS1   signal is sent to the PPS1 selector
3762306a36Sopenharmony_ci                PPS2   signal is sent to the PPS2 selector
3862306a36Sopenharmony_ci                TS1    signal is sent to timestamper 1
3962306a36Sopenharmony_ci                TS2    signal is sent to timestamper 2
4062306a36Sopenharmony_ci                TS3    signal is sent to timestamper 3
4162306a36Sopenharmony_ci                TS4    signal is sent to timestamper 4
4262306a36Sopenharmony_ci                IRIG   signal is sent to the IRIG-B module
4362306a36Sopenharmony_ci                DCF    signal is sent to the DCF module
4462306a36Sopenharmony_ci                FREQ1  signal is sent to frequency counter 1
4562306a36Sopenharmony_ci                FREQ2  signal is sent to frequency counter 2
4662306a36Sopenharmony_ci                FREQ3  signal is sent to frequency counter 3
4762306a36Sopenharmony_ci                FREQ4  signal is sent to frequency counter 4
4862306a36Sopenharmony_ci                None   signal input is disabled
4962306a36Sopenharmony_ci                =====  ================================================
5062306a36Sopenharmony_ci
5162306a36Sopenharmony_ciWhat:		/sys/class/timecard/ocpN/available_sma_outputs
5262306a36Sopenharmony_ciDate:		May 2021
5362306a36Sopenharmony_ciContact:	Jonathan Lemon <jonathan.lemon@gmail.com>
5462306a36Sopenharmony_ciDescription:	(RO) Set of available sources for a SMA output signal.
5562306a36Sopenharmony_ci
5662306a36Sopenharmony_ci                =====  ================================================
5762306a36Sopenharmony_ci                10Mhz  output is from the 10Mhz reference clock
5862306a36Sopenharmony_ci                PHC    output PPS is from the PHC clock
5962306a36Sopenharmony_ci                MAC    output PPS is from the Miniature Atomic Clock
6062306a36Sopenharmony_ci                GNSS1  output PPS is from the first GNSS module
6162306a36Sopenharmony_ci                GNSS2  output PPS is from the second GNSS module
6262306a36Sopenharmony_ci                IRIG   output is from the PHC, in IRIG-B format
6362306a36Sopenharmony_ci                DCF    output is from the PHC, in DCF format
6462306a36Sopenharmony_ci                GEN1   output is from frequency generator 1
6562306a36Sopenharmony_ci                GEN2   output is from frequency generator 2
6662306a36Sopenharmony_ci                GEN3   output is from frequency generator 3
6762306a36Sopenharmony_ci                GEN4   output is from frequency generator 4
6862306a36Sopenharmony_ci                GND    output is GND
6962306a36Sopenharmony_ci                VCC    output is VCC
7062306a36Sopenharmony_ci                =====  ================================================
7162306a36Sopenharmony_ci
7262306a36Sopenharmony_ciWhat:		/sys/class/timecard/ocpN/clock_source
7362306a36Sopenharmony_ciDate:		September 2021
7462306a36Sopenharmony_ciContact:	Jonathan Lemon <jonathan.lemon@gmail.com>
7562306a36Sopenharmony_ciDescription:	(RW) Contains the current synchronization source used by
7662306a36Sopenharmony_ci		the PHC.  May be changed by writing one of the listed
7762306a36Sopenharmony_ci		values from the available_clock_sources attribute set.
7862306a36Sopenharmony_ci
7962306a36Sopenharmony_ciWhat:		/sys/class/timecard/ocpN/clock_status_drift
8062306a36Sopenharmony_ciDate:		March 2022
8162306a36Sopenharmony_ciContact:	Jonathan Lemon <jonathan.lemon@gmail.com>
8262306a36Sopenharmony_ciDescription:	(RO) Contains the current drift value used by the firmware
8362306a36Sopenharmony_ci		for internal disciplining of the atomic clock.
8462306a36Sopenharmony_ci
8562306a36Sopenharmony_ciWhat:		/sys/class/timecard/ocpN/clock_status_offset
8662306a36Sopenharmony_ciDate:		March 2022
8762306a36Sopenharmony_ciContact:	Jonathan Lemon <jonathan.lemon@gmail.com>
8862306a36Sopenharmony_ciDescription:	(RO) Contains the current offset value used by the firmware
8962306a36Sopenharmony_ci		for internal disciplining of the atomic clock.
9062306a36Sopenharmony_ci
9162306a36Sopenharmony_ciWhat:		/sys/class/timecard/ocpN/freqX
9262306a36Sopenharmony_ciDate:		March 2022
9362306a36Sopenharmony_ciContact:	Jonathan Lemon <jonathan.lemon@gmail.com>
9462306a36Sopenharmony_ciDescription:	(RO) Optional directory containing the sysfs nodes for
9562306a36Sopenharmony_ci		frequency counter <X>.
9662306a36Sopenharmony_ci
9762306a36Sopenharmony_ciWhat:		/sys/class/timecard/ocpN/freqX/frequency
9862306a36Sopenharmony_ciDate:		March 2022
9962306a36Sopenharmony_ciContact:	Jonathan Lemon <jonathan.lemon@gmail.com>
10062306a36Sopenharmony_ciDescription:	(RO) Contains the measured frequency over the specified
10162306a36Sopenharmony_ci		measurement period.
10262306a36Sopenharmony_ci
10362306a36Sopenharmony_ciWhat:		/sys/class/timecard/ocpN/freqX/seconds
10462306a36Sopenharmony_ciDate:		March 2022
10562306a36Sopenharmony_ciContact:	Jonathan Lemon <jonathan.lemon@gmail.com>
10662306a36Sopenharmony_ciDescription:	(RW) Specifies the number of seconds from 0-255 that the
10762306a36Sopenharmony_ci		frequency should be measured over.  Write 0 to disable.
10862306a36Sopenharmony_ci
10962306a36Sopenharmony_ciWhat:		/sys/class/timecard/ocpN/genX
11062306a36Sopenharmony_ciDate:		March 2022
11162306a36Sopenharmony_ciContact:	Jonathan Lemon <jonathan.lemon@gmail.com>
11262306a36Sopenharmony_ciDescription:	(RO) Optional directory containing the sysfs nodes for
11362306a36Sopenharmony_ci		frequency generator <X>.
11462306a36Sopenharmony_ci
11562306a36Sopenharmony_ciWhat:		/sys/class/timecard/ocpN/genX/duty
11662306a36Sopenharmony_ciDate:		March 2022
11762306a36Sopenharmony_ciContact:	Jonathan Lemon <jonathan.lemon@gmail.com>
11862306a36Sopenharmony_ciDescription:	(RO) Specifies the signal duty cycle as a percentage from 1-99.
11962306a36Sopenharmony_ci
12062306a36Sopenharmony_ciWhat:		/sys/class/timecard/ocpN/genX/period
12162306a36Sopenharmony_ciDate:		March 2022
12262306a36Sopenharmony_ciContact:	Jonathan Lemon <jonathan.lemon@gmail.com>
12362306a36Sopenharmony_ciDescription:	(RO) Specifies the signal period in nanoseconds.
12462306a36Sopenharmony_ci
12562306a36Sopenharmony_ciWhat:		/sys/class/timecard/ocpN/genX/phase
12662306a36Sopenharmony_ciDate:		March 2022
12762306a36Sopenharmony_ciContact:	Jonathan Lemon <jonathan.lemon@gmail.com>
12862306a36Sopenharmony_ciDescription:	(RO) Specifies the signal phase offset in nanoseconds.
12962306a36Sopenharmony_ci
13062306a36Sopenharmony_ciWhat:		/sys/class/timecard/ocpN/genX/polarity
13162306a36Sopenharmony_ciDate:		March 2022
13262306a36Sopenharmony_ciContact:	Jonathan Lemon <jonathan.lemon@gmail.com>
13362306a36Sopenharmony_ciDescription:	(RO) Specifies the signal polarity, either 1 or 0.
13462306a36Sopenharmony_ci
13562306a36Sopenharmony_ciWhat:		/sys/class/timecard/ocpN/genX/running
13662306a36Sopenharmony_ciDate:		March 2022
13762306a36Sopenharmony_ciContact:	Jonathan Lemon <jonathan.lemon@gmail.com>
13862306a36Sopenharmony_ciDescription:	(RO) Either 0 or 1, showing if the signal generator is running.
13962306a36Sopenharmony_ci
14062306a36Sopenharmony_ciWhat:		/sys/class/timecard/ocpN/genX/start
14162306a36Sopenharmony_ciDate:		March 2022
14262306a36Sopenharmony_ciContact:	Jonathan Lemon <jonathan.lemon@gmail.com>
14362306a36Sopenharmony_ciDescription:	(RO) Shows the time in <sec>.<nsec> that the signal generator
14462306a36Sopenharmony_ci		started running.
14562306a36Sopenharmony_ci
14662306a36Sopenharmony_ciWhat:		/sys/class/timecard/ocpN/genX/signal
14762306a36Sopenharmony_ciDate:		March 2022
14862306a36Sopenharmony_ciContact:	Jonathan Lemon <jonathan.lemon@gmail.com>
14962306a36Sopenharmony_ciDescription:	(RW) Used to start the signal generator, and summarize
15062306a36Sopenharmony_ci		the current status.
15162306a36Sopenharmony_ci
15262306a36Sopenharmony_ci		The signal generator may be started by writing the signal
15362306a36Sopenharmony_ci		period, followed by the optional signal values.  If the
15462306a36Sopenharmony_ci		optional values are not provided, they default to the current
15562306a36Sopenharmony_ci		settings, which may be obtained from the other sysfs nodes.
15662306a36Sopenharmony_ci
15762306a36Sopenharmony_ci		    period [duty [phase [polarity]]]
15862306a36Sopenharmony_ci
15962306a36Sopenharmony_ci		echo 500000000 > signal       # 1/2 second period
16062306a36Sopenharmony_ci		echo 1000000 40 100 > signal
16162306a36Sopenharmony_ci		echo 0 > signal               # turn off generator
16262306a36Sopenharmony_ci
16362306a36Sopenharmony_ci		Period and phase are specified in nanoseconds.  Duty cycle is
16462306a36Sopenharmony_ci		a percentage from 1-99.  Polarity is 1 or 0.
16562306a36Sopenharmony_ci
16662306a36Sopenharmony_ci		Reading this node will return:
16762306a36Sopenharmony_ci
16862306a36Sopenharmony_ci		    period duty phase polarity start_time
16962306a36Sopenharmony_ci
17062306a36Sopenharmony_ciWhat:		/sys/class/timecard/ocpN/gnss_sync
17162306a36Sopenharmony_ciDate:		September 2021
17262306a36Sopenharmony_ciContact:	Jonathan Lemon <jonathan.lemon@gmail.com>
17362306a36Sopenharmony_ciDescription:	(RO) Indicates whether a valid GNSS signal is received,
17462306a36Sopenharmony_ci		or when the signal was lost.
17562306a36Sopenharmony_ci
17662306a36Sopenharmony_ciWhat:		/sys/class/timecard/ocpN/i2c
17762306a36Sopenharmony_ciDate:		September 2021
17862306a36Sopenharmony_ciContact:	Jonathan Lemon <jonathan.lemon@gmail.com>
17962306a36Sopenharmony_ciDescription:	This optional attribute links to the associated i2c device.
18062306a36Sopenharmony_ci
18162306a36Sopenharmony_ciWhat:		/sys/class/timecard/ocpN/irig_b_mode
18262306a36Sopenharmony_ciDate:		September 2021
18362306a36Sopenharmony_ciContact:	Jonathan Lemon <jonathan.lemon@gmail.com>
18462306a36Sopenharmony_ciDescription:	(RW) An integer from 0-7 indicating the timecode format
18562306a36Sopenharmony_ci		of the IRIG-B output signal: B00<n>
18662306a36Sopenharmony_ci
18762306a36Sopenharmony_ciWhat:		/sys/class/timecard/ocpN/pps
18862306a36Sopenharmony_ciDate:		September 2021
18962306a36Sopenharmony_ciContact:	Jonathan Lemon <jonathan.lemon@gmail.com>
19062306a36Sopenharmony_ciDescription:	This optional attribute links to the associated PPS device.
19162306a36Sopenharmony_ci
19262306a36Sopenharmony_ciWhat:		/sys/class/timecard/ocpN/ptp
19362306a36Sopenharmony_ciDate:		September 2021
19462306a36Sopenharmony_ciContact:	Jonathan Lemon <jonathan.lemon@gmail.com>
19562306a36Sopenharmony_ciDescription:	This attribute links to the associated PTP device.
19662306a36Sopenharmony_ci
19762306a36Sopenharmony_ciWhat:		/sys/class/timecard/ocpN/serialnum
19862306a36Sopenharmony_ciDate:		September 2021
19962306a36Sopenharmony_ciContact:	Jonathan Lemon <jonathan.lemon@gmail.com>
20062306a36Sopenharmony_ciDescription:	(RO) Provides the serial number of the timecard.
20162306a36Sopenharmony_ci
20262306a36Sopenharmony_ciWhat:		/sys/class/timecard/ocpN/sma1
20362306a36Sopenharmony_ciWhat:		/sys/class/timecard/ocpN/sma2
20462306a36Sopenharmony_ciWhat:		/sys/class/timecard/ocpN/sma3
20562306a36Sopenharmony_ciWhat:		/sys/class/timecard/ocpN/sma4
20662306a36Sopenharmony_ciDate:		September 2021
20762306a36Sopenharmony_ciContact:	Jonathan Lemon <jonathan.lemon@gmail.com>
20862306a36Sopenharmony_ciDescription:	(RW) These attributes specify the direction of the signal
20962306a36Sopenharmony_ci		on the associated SMA connectors, and also the signal sink
21062306a36Sopenharmony_ci		or source.
21162306a36Sopenharmony_ci
21262306a36Sopenharmony_ci		The display format of the attribute is a space separated
21362306a36Sopenharmony_ci		list of signals, prefixed by the input/output direction.
21462306a36Sopenharmony_ci
21562306a36Sopenharmony_ci		The signal direction may be changed (if supported) by
21662306a36Sopenharmony_ci		prefixing the signal list with either "in:" or "out:".
21762306a36Sopenharmony_ci		If neither prefix is present, then the direction is unchanged.
21862306a36Sopenharmony_ci
21962306a36Sopenharmony_ci		The output signal may be changed by writing one of the listed
22062306a36Sopenharmony_ci		values from the available_sma_outputs attribute set.
22162306a36Sopenharmony_ci
22262306a36Sopenharmony_ci		The input destinations may be changed by writing multiple
22362306a36Sopenharmony_ci		values from the available_sma_inputs attribute set,
22462306a36Sopenharmony_ci		separated by spaces.  If there are duplicated input
22562306a36Sopenharmony_ci		destinations between connectors, the lowest numbered SMA
22662306a36Sopenharmony_ci		connector is given priority.
22762306a36Sopenharmony_ci
22862306a36Sopenharmony_ci		Note that not all input combinations may make sense.
22962306a36Sopenharmony_ci
23062306a36Sopenharmony_ci		The 10Mhz reference clock input is currently only valid
23162306a36Sopenharmony_ci		on SMA1 and may not be combined with other destination sinks.
23262306a36Sopenharmony_ci
23362306a36Sopenharmony_ciWhat:		/sys/class/timecard/ocpN/tod_correction
23462306a36Sopenharmony_ciDate:		March 2022
23562306a36Sopenharmony_ciContact:	Jonathan Lemon <jonathan.lemon@gmail.com>
23662306a36Sopenharmony_ciDescription:	(RW) The incoming GNSS signal is in UTC time, and the NMEA
23762306a36Sopenharmony_ci		format messages do not provide a TAI offset.  This sets the
23862306a36Sopenharmony_ci		correction value for the incoming time.
23962306a36Sopenharmony_ci
24062306a36Sopenharmony_ci		If UBX_LS is enabled, this should be 0, and the offset is
24162306a36Sopenharmony_ci		taken from the UBX-NAV-TIMELS message.
24262306a36Sopenharmony_ci
24362306a36Sopenharmony_ciWhat:		/sys/class/timecard/ocpN/ts_window_adjust
24462306a36Sopenharmony_ciDate:		September 2021
24562306a36Sopenharmony_ciContact:	Jonathan Lemon <jonathan.lemon@gmail.com>
24662306a36Sopenharmony_ciDescription:	(RW) When retrieving the PHC with the PTP SYS_OFFSET_EXTENDED
24762306a36Sopenharmony_ci		ioctl, a system timestamp is made before and after the PHC
24862306a36Sopenharmony_ci		time is retrieved.  The midpoint between the two system
24962306a36Sopenharmony_ci		timestamps is usually taken to be the SYS time associated
25062306a36Sopenharmony_ci		with the PHC time.  This estimate may be wrong, as it depends
25162306a36Sopenharmony_ci		on PCI latencies, and when the PHC time was latched
25262306a36Sopenharmony_ci
25362306a36Sopenharmony_ci		The attribute value reduces the end timestamp by the given
25462306a36Sopenharmony_ci		number of nanoseconds, so the computed midpoint matches the
25562306a36Sopenharmony_ci		retrieved PHC time.
25662306a36Sopenharmony_ci
25762306a36Sopenharmony_ci		The initial value is set based on measured PCI latency and
25862306a36Sopenharmony_ci		the estimated point where the FPGA latches the PHC time.  This
25962306a36Sopenharmony_ci		value may be changed by writing an unsigned integer.
26062306a36Sopenharmony_ci
26162306a36Sopenharmony_ciWhat:		/sys/class/timecard/ocpN/ttyGNSS
26262306a36Sopenharmony_ciWhat:		/sys/class/timecard/ocpN/ttyGNSS2
26362306a36Sopenharmony_ciDate:		September 2021
26462306a36Sopenharmony_ciContact:	Jonathan Lemon <jonathan.lemon@gmail.com>
26562306a36Sopenharmony_ciDescription:	These optional attributes link to the TTY serial ports
26662306a36Sopenharmony_ci		associated with the GNSS devices.
26762306a36Sopenharmony_ci
26862306a36Sopenharmony_ciWhat:		/sys/class/timecard/ocpN/ttyMAC
26962306a36Sopenharmony_ciDate:		September 2021
27062306a36Sopenharmony_ciContact:	Jonathan Lemon <jonathan.lemon@gmail.com>
27162306a36Sopenharmony_ciDescription:	This optional attribute links to the TTY serial port
27262306a36Sopenharmony_ci		associated with the Miniature Atomic Clock.
27362306a36Sopenharmony_ci
27462306a36Sopenharmony_ciWhat:		/sys/class/timecard/ocpN/ttyNMEA
27562306a36Sopenharmony_ciDate:		September 2021
27662306a36Sopenharmony_ciContact:	Jonathan Lemon <jonathan.lemon@gmail.com>
27762306a36Sopenharmony_ciDescription:	This optional attribute links to the TTY serial port
27862306a36Sopenharmony_ci		which outputs the PHC time in NMEA ZDA format.
27962306a36Sopenharmony_ci
28062306a36Sopenharmony_ciWhat:		/sys/class/timecard/ocpN/utc_tai_offset
28162306a36Sopenharmony_ciDate:		September 2021
28262306a36Sopenharmony_ciContact:	Jonathan Lemon <jonathan.lemon@gmail.com>
28362306a36Sopenharmony_ciDescription:	(RW) The DCF and IRIG output signals are in UTC, while the
28462306a36Sopenharmony_ci		TimeCard operates on TAI.  This attribute allows setting the
28562306a36Sopenharmony_ci		offset in seconds, which is added to the TAI timebase for
28662306a36Sopenharmony_ci		these formats.
28762306a36Sopenharmony_ci
28862306a36Sopenharmony_ci		The offset may be changed by writing an unsigned integer.
289