In datasheet for ADIS16265/ADIS16364 etc, there is a spec for minimum data period called tDATARATE. For example, on ADIS16265 it is 32microseconds in normal mode. So I think that says that I must have a minimum of 32us between CS falling edges. Thus limiting the data rate to only sending/reading 16-bits every 32us. What am I missing?
See below your example of a proper test. I don't see anything that makes sure we wait 32us between CS falling edges.
SPI Test Pattern/Example
All ADIS162xx/3xx/4xx devices offer a product identification register (PROD_ID), which contains the 16-bit binary representation of the product's part number. In the case of the ADIS16407, the PROD_ID = 0x4017 (16,407) and is located at register address 0x56 and 0x57. Set DIN = 0x5600 to read this register. Reading this register, in a repeating pattern, enables inspection for all of the listed SPI communication issues. Here is an example (psuedo code) for a test loop, which reads PROD_ID in a repeating pattern. Starting with the second loop, DOUT should be equal to 0x4017, every time.
Set CS = 1; // Standard for no communication
Delay > 10us // Make sure that Tstall time is managed
Set CS = 0; // select the device, good idea to trigger a scope on this edge
DIN = 0x5600;
Read DOUT // Note that the ADIS16xxx devices support full duplex operation, so this may be combined with DIN = 0x5600 step
Set CS = 1; // release the device
Delay > 10us // manage the Tstall time requirement