On Wed, Nov 18, 2020 at 04:22:37PM -0800, Vinicius Costa Gomes wrote: > Talking with the hardware folks, they recommended using the periodic > method, the one shot method was implemented as a debug/evaluation aid. I'm guessing ... The HW generates pairs of time stamps, right? And these land in the device driver by means of an interrupt, right? If that is so, then maybe the best way to expose the pair to user space is to have a readable character device, like we have for the PTP_EXTTS_REQUEST2. The ioctl to enable reporting could also set the message rate. Although it will be a bit clunky, it looks like we have reserved room enough for a second, eight-byte time stamp. struct ptp_clock_time { __s64 sec; /* seconds */ __u32 nsec; /* nanoseconds */ __u32 reserved; // four here }; struct ptp_extts_event { struct ptp_clock_time t; /* Time event occured. */ unsigned int index; /* Which channel produced the event. */ unsigned int flags; /* Reserved for future use. */ unsigned int rsv[2]; /* Reserved for future use. */ // eight here }; You could set 'flags' to mark this as a time stamp pair, and then stuff the system time stamp into rsv[2]. Thoughts? Richard