I have an RX-only application that uses multiple ZC702 + FMCOMMS5 boards. The application requires ~1us accurate clock synchronization between each of the SoCs, which I've been able to partially accomplish for the ZC702s by recompiling the kernel with IEEE1588 (precision time protocol) support.
However, I'm left scratching my head as how to determine the timestamp of the first received sample for each buffer. The block struct in libiio/local.c has a "timestamp" field, but from a quick glace over the local IIO backend and HDL code it doesn't seem to be used.
I thought about a software solution too, but due to buffer swapping of the high speed backend I have no idea when a newly queued empty buffer will actually receive data. Is timestamping supported at all for the FMCOMMS boards? If not, how might I be able to modify the HDL to add timestamping functionality?
FYI - I'm using buffer sizes of 65536.