I am working on AD9364 device on my custom hardware.
The digital interface is connected to FPGA device and controlled by NIOS soft processor.
I am using the non-OS driver without any changes accept for the default_init_param structure (attached).
Both rx and tx fir filters are bypassed.
The ad9361_internal_init function passes without any errors, but when I initiate a calibration outside of this function it fails to converge.
Charge pump calibration called by ad9361_txrx_synth_cp_calib(phy, 2 * phy->clk_refin->rate, false) timeouts every time.
TX quad calibration initiated by ad9361_tx_quad_calib(ad9361_phy, real_tx_bandwidth, -1)
runs till Quad Cal Count (register 0x0A9) limit, and exits with random values of phase gain and offset.
When I force the Free Run Enable =1 (reg 0x0A1) the calibration runs forever.
I've performed the Rx NCO Phase Offset calibration procedure described in the TX quad FAQ section but it changed nothing.
What do I miss?