| What: /sys/class/timecard/ |
| Date: September 2021 |
| Contact: Jonathan Lemon <jonathan.lemon@gmail.com> |
| Description: This directory contains files and directories |
| providing a standardized interface to the ancillary |
| features of the OpenCompute timecard. |
| |
| What: /sys/class/timecard/ocpN/ |
| Date: September 2021 |
| Contact: Jonathan Lemon <jonathan.lemon@gmail.com> |
| Description: This directory contains the attributes of the Nth timecard |
| registered. |
| |
| What: /sys/class/timecard/ocpN/available_clock_sources |
| Date: September 2021 |
| Contact: Jonathan Lemon <jonathan.lemon@gmail.com> |
| Description: (RO) The list of available time sources that the PHC |
| uses for clock adjustments. |
| |
| ==== ================================================= |
| NONE no adjustments |
| PPS adjustments come from the PPS1 selector (default) |
| TOD adjustments from the GNSS/TOD module |
| IRIG adjustments from external IRIG-B signal |
| DCF adjustments from external DCF signal |
| ==== ================================================= |
| |
| What: /sys/class/timecard/ocpN/available_sma_inputs |
| Date: September 2021 |
| Contact: Jonathan Lemon <jonathan.lemon@gmail.com> |
| Description: (RO) Set of available destinations (sinks) for a SMA |
| input signal. |
| |
| ===== ================================================ |
| 10Mhz signal is used as the 10Mhz reference clock |
| PPS1 signal is sent to the PPS1 selector |
| PPS2 signal is sent to the PPS2 selector |
| TS1 signal is sent to timestamper 1 |
| TS2 signal is sent to timestamper 2 |
| TS3 signal is sent to timestamper 3 |
| TS4 signal is sent to timestamper 4 |
| IRIG signal is sent to the IRIG-B module |
| DCF signal is sent to the DCF module |
| FREQ1 signal is sent to frequency counter 1 |
| FREQ2 signal is sent to frequency counter 2 |
| FREQ3 signal is sent to frequency counter 3 |
| FREQ4 signal is sent to frequency counter 4 |
| None signal input is disabled |
| ===== ================================================ |
| |
| What: /sys/class/timecard/ocpN/available_sma_outputs |
| Date: May 2021 |
| Contact: Jonathan Lemon <jonathan.lemon@gmail.com> |
| Description: (RO) Set of available sources for a SMA output signal. |
| |
| ===== ================================================ |
| 10Mhz output is from the 10Mhz reference clock |
| PHC output PPS is from the PHC clock |
| MAC output PPS is from the Miniature Atomic Clock |
| GNSS1 output PPS is from the first GNSS module |
| GNSS2 output PPS is from the second GNSS module |
| IRIG output is from the PHC, in IRIG-B format |
| DCF output is from the PHC, in DCF format |
| GEN1 output is from frequency generator 1 |
| GEN2 output is from frequency generator 2 |
| GEN3 output is from frequency generator 3 |
| GEN4 output is from frequency generator 4 |
| GND output is GND |
| VCC output is VCC |
| ===== ================================================ |
| |
| What: /sys/class/timecard/ocpN/clock_source |
| Date: September 2021 |
| Contact: Jonathan Lemon <jonathan.lemon@gmail.com> |
| Description: (RW) Contains the current synchronization source used by |
| the PHC. May be changed by writing one of the listed |
| values from the available_clock_sources attribute set. |
| |
| What: /sys/class/timecard/ocpN/clock_status_drift |
| Date: March 2022 |
| Contact: Jonathan Lemon <jonathan.lemon@gmail.com> |
| Description: (RO) Contains the current drift value used by the firmware |
| for internal disciplining of the atomic clock. |
| |
| What: /sys/class/timecard/ocpN/clock_status_offset |
| Date: March 2022 |
| Contact: Jonathan Lemon <jonathan.lemon@gmail.com> |
| Description: (RO) Contains the current offset value used by the firmware |
| for internal disciplining of the atomic clock. |
| |
| What: /sys/class/timecard/ocpN/freqX |
| Date: March 2022 |
| Contact: Jonathan Lemon <jonathan.lemon@gmail.com> |
| Description: (RO) Optional directory containing the sysfs nodes for |
| frequency counter <X>. |
| |
| What: /sys/class/timecard/ocpN/freqX/frequency |
| Date: March 2022 |
| Contact: Jonathan Lemon <jonathan.lemon@gmail.com> |
| Description: (RO) Contains the measured frequency over the specified |
| measurement period. |
| |
| What: /sys/class/timecard/ocpN/freqX/seconds |
| Date: March 2022 |
| Contact: Jonathan Lemon <jonathan.lemon@gmail.com> |
| Description: (RW) Specifies the number of seconds from 0-255 that the |
| frequency should be measured over. Write 0 to disable. |
| |
| What: /sys/class/timecard/ocpN/genX |
| Date: March 2022 |
| Contact: Jonathan Lemon <jonathan.lemon@gmail.com> |
| Description: (RO) Optional directory containing the sysfs nodes for |
| frequency generator <X>. |
| |
| What: /sys/class/timecard/ocpN/genX/duty |
| Date: March 2022 |
| Contact: Jonathan Lemon <jonathan.lemon@gmail.com> |
| Description: (RO) Specifies the signal duty cycle as a percentage from 1-99. |
| |
| What: /sys/class/timecard/ocpN/genX/period |
| Date: March 2022 |
| Contact: Jonathan Lemon <jonathan.lemon@gmail.com> |
| Description: (RO) Specifies the signal period in nanoseconds. |
| |
| What: /sys/class/timecard/ocpN/genX/phase |
| Date: March 2022 |
| Contact: Jonathan Lemon <jonathan.lemon@gmail.com> |
| Description: (RO) Specifies the signal phase offset in nanoseconds. |
| |
| What: /sys/class/timecard/ocpN/genX/polarity |
| Date: March 2022 |
| Contact: Jonathan Lemon <jonathan.lemon@gmail.com> |
| Description: (RO) Specifies the signal polarity, either 1 or 0. |
| |
| What: /sys/class/timecard/ocpN/genX/running |
| Date: March 2022 |
| Contact: Jonathan Lemon <jonathan.lemon@gmail.com> |
| Description: (RO) Either 0 or 1, showing if the signal generator is running. |
| |
| What: /sys/class/timecard/ocpN/genX/start |
| Date: March 2022 |
| Contact: Jonathan Lemon <jonathan.lemon@gmail.com> |
| Description: (RO) Shows the time in <sec>.<nsec> that the signal generator |
| started running. |
| |
| What: /sys/class/timecard/ocpN/genX/signal |
| Date: March 2022 |
| Contact: Jonathan Lemon <jonathan.lemon@gmail.com> |
| Description: (RW) Used to start the signal generator, and summarize |
| the current status. |
| |
| The signal generator may be started by writing the signal |
| period, followed by the optional signal values. If the |
| optional values are not provided, they default to the current |
| settings, which may be obtained from the other sysfs nodes. |
| |
| period [duty [phase [polarity]]] |
| |
| echo 500000000 > signal # 1/2 second period |
| echo 1000000 40 100 > signal |
| echo 0 > signal # turn off generator |
| |
| Period and phase are specified in nanoseconds. Duty cycle is |
| a percentage from 1-99. Polarity is 1 or 0. |
| |
| Reading this node will return: |
| |
| period duty phase polarity start_time |
| |
| What: /sys/class/timecard/ocpN/gnss_sync |
| Date: September 2021 |
| Contact: Jonathan Lemon <jonathan.lemon@gmail.com> |
| Description: (RO) Indicates whether a valid GNSS signal is received, |
| or when the signal was lost. |
| |
| What: /sys/class/timecard/ocpN/i2c |
| Date: September 2021 |
| Contact: Jonathan Lemon <jonathan.lemon@gmail.com> |
| Description: This optional attribute links to the associated i2c device. |
| |
| What: /sys/class/timecard/ocpN/irig_b_mode |
| Date: September 2021 |
| Contact: Jonathan Lemon <jonathan.lemon@gmail.com> |
| Description: (RW) An integer from 0-7 indicating the timecode format |
| of the IRIG-B output signal: B00<n> |
| |
| What: /sys/class/timecard/ocpN/pps |
| Date: September 2021 |
| Contact: Jonathan Lemon <jonathan.lemon@gmail.com> |
| Description: This optional attribute links to the associated PPS device. |
| |
| What: /sys/class/timecard/ocpN/ptp |
| Date: September 2021 |
| Contact: Jonathan Lemon <jonathan.lemon@gmail.com> |
| Description: This attribute links to the associated PTP device. |
| |
| What: /sys/class/timecard/ocpN/serialnum |
| Date: September 2021 |
| Contact: Jonathan Lemon <jonathan.lemon@gmail.com> |
| Description: (RO) Provides the serial number of the timecard. |
| |
| What: /sys/class/timecard/ocpN/sma1 |
| What: /sys/class/timecard/ocpN/sma2 |
| What: /sys/class/timecard/ocpN/sma3 |
| What: /sys/class/timecard/ocpN/sma4 |
| Date: September 2021 |
| Contact: Jonathan Lemon <jonathan.lemon@gmail.com> |
| Description: (RW) These attributes specify the direction of the signal |
| on the associated SMA connectors, and also the signal sink |
| or source. |
| |
| The display format of the attribute is a space separated |
| list of signals, prefixed by the input/output direction. |
| |
| The signal direction may be changed (if supported) by |
| prefixing the signal list with either "in:" or "out:". |
| If neither prefix is present, then the direction is unchanged. |
| |
| The output signal may be changed by writing one of the listed |
| values from the available_sma_outputs attribute set. |
| |
| The input destinations may be changed by writing multiple |
| values from the available_sma_inputs attribute set, |
| separated by spaces. If there are duplicated input |
| destinations between connectors, the lowest numbered SMA |
| connector is given priority. |
| |
| Note that not all input combinations may make sense. |
| |
| The 10Mhz reference clock input is currently only valid |
| on SMA1 and may not be combined with other destination sinks. |
| |
| What: /sys/class/timecard/ocpN/tod_correction |
| Date: March 2022 |
| Contact: Jonathan Lemon <jonathan.lemon@gmail.com> |
| Description: (RW) The incoming GNSS signal is in UTC time, and the NMEA |
| format messages do not provide a TAI offset. This sets the |
| correction value for the incoming time. |
| |
| If UBX_LS is enabled, this should be 0, and the offset is |
| taken from the UBX-NAV-TIMELS message. |
| |
| What: /sys/class/timecard/ocpN/ts_window_adjust |
| Date: September 2021 |
| Contact: Jonathan Lemon <jonathan.lemon@gmail.com> |
| Description: (RW) When retrieving the PHC with the PTP SYS_OFFSET_EXTENDED |
| ioctl, a system timestamp is made before and after the PHC |
| time is retrieved. The midpoint between the two system |
| timestamps is usually taken to be the SYS time associated |
| with the PHC time. This estimate may be wrong, as it depends |
| on PCI latencies, and when the PHC time was latched |
| |
| The attribute value reduces the end timestamp by the given |
| number of nanoseconds, so the computed midpoint matches the |
| retrieved PHC time. |
| |
| The initial value is set based on measured PCI latency and |
| the estimated point where the FPGA latches the PHC time. This |
| value may be changed by writing an unsigned integer. |
| |
| What: /sys/class/timecard/ocpN/tty |
| Date: August 2024 |
| Contact: Vadim Fedorenko <vadim.fedorenko@linux.dev> |
| Description: (RO) Directory containing the sysfs nodes for TTY attributes |
| |
| What: /sys/class/timecard/ocpN/tty/ttyGNSS |
| What: /sys/class/timecard/ocpN/tty/ttyGNSS2 |
| Date: August 2024 |
| Contact: Jonathan Lemon <jonathan.lemon@gmail.com> |
| Description: (RO) These optional attributes contain names of the TTY serial |
| ports associated with the GNSS devices. |
| |
| What: /sys/class/timecard/ocpN/tty/ttyMAC |
| Date: August 2024 |
| Contact: Jonathan Lemon <jonathan.lemon@gmail.com> |
| Description: (RO) This optional attribute contains name of the TTY serial |
| port associated with the Miniature Atomic Clock. |
| |
| What: /sys/class/timecard/ocpN/tty/ttyNMEA |
| Date: August 2024 |
| Contact: Jonathan Lemon <jonathan.lemon@gmail.com> |
| Description: (RO) This optional attribute contains name of the TTY serial |
| port which outputs the PHC time in NMEA ZDA format. |
| |
| What: /sys/class/timecard/ocpN/utc_tai_offset |
| Date: September 2021 |
| Contact: Jonathan Lemon <jonathan.lemon@gmail.com> |
| Description: (RW) The DCF and IRIG output signals are in UTC, while the |
| TimeCard operates on TAI. This attribute allows setting the |
| offset in seconds, which is added to the TAI timebase for |
| these formats. |
| |
| The offset may be changed by writing an unsigned integer. |