Stability of high-precision timer on iMX7

We have a program which uses an interrupt on SODIMM pin 133 to detect rising and falling edges, When the interrupt fires, it calls QueryPerformanceCounter() to read the high-precision time, and this is recorded and used later to determine incoming pulse widths to millisecond accuracy.

This has run on PXA270 and iMX6DL 512MB and the readings are extremely stable. When run on the iMX7, the pulse length timings vary over a 10ms range, which is unacceptable in our application.

Is there anything that needs to be done differently on the iMX7 to get the same level of precision timing?

There is no high-frequency counter on iMX7 under WEC2013.

QueryPerformanceFrequency() returns a frequency of 1000 indicating no high-frequency counter.