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