AnsweredAssumed Answered

Zedboard + FMCOMMS2 Reference Design

Question asked by phil91 on Nov 6, 2014
Latest reply on Nov 7, 2014 by phil91



I've got some problems with the fmcomms2 reference design. I cloned into analogdevicesinc/linux · GitHub and checked out 2014_R1 branch for linux kernel sources. I built devicetree via make zynq-zed-adv7511-ad9361.dtb in linux directory. My bitfile is generated from analogdevicesinc/hdl · GitHub branch hdl_2014_r1 (using Vivado 2013.4). The system boots, but i can't read data from the ADC. The software I use is a modified version of iio-oscilloscope, where i simply ripped off the GUI (it worked perfectly on an older kernel version and bitfile generated with ISE/XPS 14.7 ).


Software blocks at reading from buffer file descriptor, and on chipscope I see no AXI activity between PS and AXI-DMAC. At system startup I get  these messages:

ad9361 spi32766.0: ad9361_dig_tune: Tuning RX FAILED!

ad9361 spi32766.0: ad9361_dig_tune: Tuning TX FAILED!


Checking pseudorandom_err_check in /sys/kernel/debug/iio/iio:\device4 returns Out of Sync : PN err

Running bist_timing_analysis changes this one to In Sync : OK

(btw: what is the meaning of this printed 16x16 matrix?)


Furthermore I observed some driver changes. In the ISE 14.7 version it uses xilinx-dma.c driver, but in the 2014_R1 branch dma-axi-dmac.c is used? Are there some known issues related to this driver?

Changing devicetree to use xilinx-dma.c driver I can sample one time, the next time i want to read the buffer, read() blocks again. What's going wrong there?


Last but not least: Is it really necessary to toggle the buffer/enable flag after reading from file descriptor, and do I loose some samples while this flag is disabled?