0
#�
355Æ¾Ê c #
404 Not Found
Not Found
The requested URL was not found on this server.
Additionally, a 404 Not Found
error was encountered while trying to use an ErrorDocument to handle the request.
$ %ˆl–Ãa¾”ªClÊq@?q±\êbÑ¿Î
„�2/Í¿Ë ?÷ %/* SPDX-License-Identifier: GPL-2.0-or-later */
/*
* PTP 1588 clock support
*
* Copyright (C) 2010 OMICRON electronics GmbH
*/
#ifndef _PTP_CLOCK_KERNEL_H_
#define _PTP_CLOCK_KERNEL_H_
#include
#include
#include
#include
#include
#define PTP_CLOCK_NAME_LEN 32
/**
* struct ptp_clock_request - request PTP clock event
*
* @type: The type of the request.
* EXTTS: Configure external trigger timestamping
* PEROUT: Configure periodic output signal (e.g. PPS)
* PPS: trigger internal PPS event for input
* into kernel PPS subsystem
* @extts: describes configuration for external trigger timestamping.
* This is only valid when event == PTP_CLK_REQ_EXTTS.
* @perout: describes configuration for periodic output.
* This is only valid when event == PTP_CLK_REQ_PEROUT.
*/
struct ptp_clock_request {
enum {
PTP_CLK_REQ_EXTTS,
PTP_CLK_REQ_PEROUT,
PTP_CLK_REQ_PPS,
} type;
union {
struct ptp_extts_request extts;
struct ptp_perout_request perout;
};
};
struct system_device_crosststamp;
/**
* struct ptp_system_timestamp - system time corresponding to a PHC timestamp
* @pre_ts: system timestamp before capturing PHC
* @post_ts: system timestamp after capturing PHC
*/
struct ptp_system_timestamp {
struct timespec64 pre_ts;
struct timespec64 post_ts;
};
/**
* struct ptp_clock_info - describes a PTP hardware clock
*
* @owner: The clock driver should set to THIS_MODULE.
* @name: A short "friendly name" to identify the clock and to
* help distinguish PHY based devices from MAC based ones.
* The string is not meant to be a unique id.
* @max_adj: The maximum possible frequency adjustment, in parts per billon.
* @n_alarm: The number of programmable alarms.
* @n_ext_ts: The number of external time stamp channels.
* @n_per_out: The number of programmable periodic signals.
* @n_pins: The number of programmable pins.
* @pps: Indicates whether the clock supports a PPS callback.
*
* @supported_perout_flags: The set of flags the driver supports for the
* PTP_PEROUT_REQUEST ioctl. The PTP core will
* reject a request with any flag not specified
* here.
*
* @supported_extts_flags: The set of flags the driver supports for the
* PTP_EXTTS_REQUEST ioctl. The PTP core will use
* this list to reject unsupported requests.
* PTP_ENABLE_FEATURE is assumed and does not need to
* be included. If PTP_STRICT_FLAGS is *not* set,
* then both PTP_RISING_EDGE and PTP_FALLING_EDGE
* will be assumed. Note that PTP_STRICT_FLAGS must
* be set if the drivers wants to honor
* PTP_EXTTS_REQUEST2 and any future flags.
*
* @pin_config: Array of length 'n_pins'. If the number of
* programmable pins is nonzero, then drivers must
* allocate and initialize this array.
*
* clock operations
*
* @adjfine: Adjusts the frequency of the hardware clock.
* parameter scaled_ppm: Desired frequency offset from
* nominal frequency in parts per million, but with a
* 16 bit binary fractional field.
*
* @adjphase: Indicates that the PHC should use an internal servo
* algorithm to correct the provided phase offset.
* parameter delta: PHC servo phase ad