AnsweredAssumed Answered

ad9467 and Linux

Question asked by chadgentry on Sep 23, 2014
Latest reply on Oct 8, 2014 by chadgentry

I've been trying to get the ad9467 FMC card working with Linux on the zc706 and seem to have hit a wall.  I took the project files from the bottom of the AD9467 FMC card page (AD9467 Native FMC Card / Xilinx Reference Design [Analog Devices Wiki]) and adapted it to the ZC706.  It wasn't too hard and I was able to test it successfully using the baremetal code found on github.  Then I tried booting to linux and encountered an issue where it said my pcore version was too old.  Apparently I was on major 1 and the driver expected major 4.  After looking at the most up to date AD9467 code on github and seeing it was in major 8 (thus still incompatible), I decided to modify the verilog code in the old pcore to say it was the right version.


This change allowed me to see the device in /sys/bus/iio and access the spi using iio-cmdsrv, but when I used the sample command (or set up the buffer and cat'd /dev/iio:device# myself) the shell just hung.  No data would show up and I'd have to CRTL-C to get back to the prompt.  After checking /proc/interrupts, it looks like the dma interrupt is never received.  Then I checked the actual register values inside the pcore and saw that the pn error was never removed.  After looking at the actual driver and the new AD9467 pcore (major 8), it seems like the register addresses got shuffled around.


Is there anywhere I can find a version of the ad9467 pcore that will work with the AD9467 linux driver?  The current version (major 8) fails with the same error as the major 1 version.