From: Subramanian Mohan Date: Wed, 19 Feb 2025 04:06:17 +0000 (+0530) Subject: Documentation: driver-api: pps: Add Intel Timed I/O PPS generator X-Git-Tag: v6.15-rc1~78^2~13 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=6b22c3de1c2d93c89f0af4288be09c26b6101114;p=thirdparty%2Fkernel%2Flinux.git Documentation: driver-api: pps: Add Intel Timed I/O PPS generator Add Intel Timed I/O PPS usage instructions. Co-developed-by: Pandith N Signed-off-by: Pandith N Signed-off-by: Lakshmi Sowjanya D Reviewed-by: Andy Shevchenko Acked-by: Rodolfo Giometti Signed-off-by: Subramanian Mohan Link: https://lore.kernel.org/r/20250219040618.70962-4-subramanian.mohan@intel.com Signed-off-by: Greg Kroah-Hartman --- diff --git a/Documentation/driver-api/pps.rst b/Documentation/driver-api/pps.rst index 04f1b88778fc5..598729f9cd271 100644 --- a/Documentation/driver-api/pps.rst +++ b/Documentation/driver-api/pps.rst @@ -285,3 +285,27 @@ delay between assert and clear edge as small as possible to reduce system latencies. But if it is too small slave won't be able to capture clear edge transition. The default of 30us should be good enough in most situations. The delay can be selected using 'delay' pps_gen_parport module parameter. + + +Intel Timed I/O PPS signal generator +------------------------------------ + +Intel Timed I/O is a high precision device, present on 2019 and newer Intel +CPUs, that can generate PPS signals. + +Timed I/O and system time are both driven by same hardware clock. The signal +is generated with a precision of ~20 nanoseconds. The generated PPS signal +is used to synchronize an external device with system clock. For example, +it can be used to share your clock with a device that receives PPS signal, +generated by Timed I/O device. There are dedicated Timed I/O pins to deliver +the PPS signal to an external device. + +Usage of Intel Timed I/O as PPS generator: + +Start generating PPS signal:: + + $echo 1 > /sys/class/pps-gen/pps-genx/enable + +Stop generating PPS signal:: + + $echo 0 > /sys/class/pps-gen/pps-genx/enable