So here's something interesting. I also have a Zedboard with the FMCOMMS3-EBZ. I used a previously downloaded version of the HDL and firmware from the ADI github. I didn't make any modifications at all. When I ran the firmware as is, everything worked fine. However, when I set xo_disable_use_ext_refclk_enable to 1 and connected an external reference from a signal generator (tried square wave and sine wave, 1.2 Vpp, no DC offset, 40 MHz) the code freezes in the exact same spot. The CP cal routine times out and I get the initialization error.
Are there other bits I need to be changing? Or is something else going on?