I'm working on getting the DAQ2 on the ZCU102. I'm using 2016_R2 (Linux and HDL). I've created my own device tree for the ZCU102 using linux/arch/arm64/boot/dts/xilinx/zynqmp-zcu102.dts and creating dtsi files for the SPI and PL devices. I've based the two include files from the device tree for the ZC706. I've updated the addresses/clocks/interrupts for all the new devices to match those that are used in the ZCU102.
I get the following messages during boot:
cf_axi_adxcvr 84a50000.axi-ad9680-adxcvr: AXI-ADXCVR (16.01.a) at 0x84A50000 mapped to 0xffffff80088be000,
cf_axi_adxcvr 84a60000.axi-ad9144-adxcvr: AXI-ADXCVR (16.01.a) at 0x84A60000 mapped to 0xffffff80088ce000,
ad9144 spi32765.0: Failed to get clocks
cf_axi_jesd204b_v51 84a90000.axi-jesd204b-tx: AXI-JESD204B 7.0 Rev 1, at 0x84A90000 mapped to 0xffffff80088d6000, cf_axi_jesd204b_v51 84a91000.axi-jesd204b-rx: AXI-JESD204B 7.0 Rev 1, at 0x84A91000 mapped to 0xffffff80088d8000,
ad9144 spi32765.0: Probed.
ad9467 spi32765.1: AD9680 PLL LOCKED
ad9467 spi32765.1: Failed to set lane rate to 10000000 kHz: -22
All I am missing are these two messages:
cf_axi_dds 44a04000.axi-ad9144-hpc: Analog Devices CF_AXI_DDS_DDS MASTER (9.00.b) at 0x44A04000 mapped to 0xf09a0000, probed DDS AD9144
cf_axi_adc 44a10000.axi-ad9680-hpc: ADI AIM (10.00.b) at 0x44A10000 mapped to 0xf09c0000, probed ADC AD9680 as MASTER
I brought in a few changes to ad9680_setup() in ad9467.c from the jesd204 Linux branch to give me a better description of why the ad9680 driver isn't completing (which is why I see the last message).
I looked through the cf_axi_dds.c file and found that the driver is failing on a call to cf_axi_dds_configure_buffer() in cf_axi_dds_probe(). I haven't been able to figure out why this happening. I traced it down to
dma pointer request being deferred, but I'm not sure why it's happening.
I'll attach my device tree files. Maybe there is something missing or incorrect in them. If someone could point me in the right direction it would be much appreciated.