Commit 59d59235 authored by David S. Miller's avatar David S. Miller
Browse files

Merge branch 'ptp-ocp-new-firmware-support'



Jonathan Lemon says:

====================
ptp: ocp: support for new firmware

This series contains support for new firmware features for
the timecard.

v1 -> v2: roundup() is not 32-bit safe, use DIV_ROUND_UP_ULL
====================

Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parents fb9eb027 ff1d56cb
Loading
Loading
Loading
Loading
+93 −1
Original line number Diff line number Diff line
@@ -37,8 +37,15 @@ Description: (RO) Set of available destinations (sinks) for a SMA
                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
@@ -50,10 +57,16 @@ 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
                GNSS   output PPS is from the GNSS module
                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
@@ -75,6 +88,85 @@ 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>
+1051 −155

File changed.

Preview size limit exceeded, changes collapsed.