I'm finally now up to date with both the ADI "linux" and "hdl" (with pcore v8) repos. I did add "adi,tdd-use-fdd-vco-tables-enable" to my devictree, but I still had to make the following changes to ad9361.c:
- Comment out digital tune as above. This is because I get the error "TX Tuning Failed" on boot (even though I'm not using the TX and don't have it wired), and the clock/data delays that then would occur before my change would screw up the data.
- Remove changes to TDD mode introduced in a few commits after and including this commit. drivers/iio/adc/ad9361: ad9361_set_ensm_mode() fix logic in TDD mode · 45e78e7 · analogdevicesinc/linux · GitHub. I may have commented out more than I needed to, but before these commits everything worked well for me, and reverting the changes I get good data.
I've attached my ad9361.c that you can diff with the latest commit (linux/ad9361.c at 73a49b35014c65b500207ccac3779cfbcd3be9be · analogdevicesinc/linux · GitHub) to see what I had to comment out.
For archival purposes, the original thread title should be changed to something like "AD9361 issues with Digital Tune and TDD mode on latest kernel and Vivado HDL"