I have a ad9361 running on a zynq zc706 board. I was able to control the radio using the no os code on the linux image provided by analog devices. I then switched to a custom linux build as will be needed for other parts of the project. The radio shows up in the /dev folder at /dev/spidev32766.0 as expected. I cross compiled the code I was running on the AD linux and ran it on my new linux build. The result is a spi timeout "spidev spi32766.0: SPI transfer timed out Write Error -1" and the data coming across the spi line looks nothing like it should. The data coming across the spi line is not the same each time I run the program either. I assumed this was a driver issue so I rebuilt linux again this time with the cadence spi controller, gpio-based bitbanging spi master, and xilinx spi controller common module enabled. This time the spidev doesn't even show up in the /dev folder. What drivers should I have installed in the linux kernel for the radio to function properly over spi?
This is what the spi writes that were timing out looked like. Each of these should be of the same attempted write. They should show a write at register 0 with the data being a 0x84 which would be a high at t he fist falling edge and a high at two places in the third byte resulting is 0x84
Any help as to what drivers I need installed or why I am getting this result from the spi writes would be much appreciated.