I'm having trouble getting the SPI Self Test example to pass. I'm using Vivado 2014.4.
I checked both SPI peripherals in the "MIO Configuration" in Vivado. "ps7_spi_0" and "ps7_spi_1" both show up in system.mss in my BSP in the SDK. The base address for both peripherals is correct in "xparameters.h".
I imported the Xilinx example project "xspips_selftest_example" and ran it both for device ID 0 and 1 (SPI 0 and SPI 1) and both failed. The part it fails at is in the "int XSpiPs_SelfTest(XSpiPs *InstancePtr)" function it calls the "XSpiPs_Reset" function and then checks that the SPI registers are in their default state, which they are not which causes the test to fail.
Does anyone know where I can dig to find out why this test might be failing? Or maybe the test is out of date and shouldn't actually work in the first place? Thanks!
edit: To get into more detail of why the test is failing: The driver performs a reset on the SPI peripheral and then reads back the register value to see if it gets an expected value in the "Config_reg" register. The expected value is 0x00020000, but it actually reads back 0x00000000 which causes it to fail this test. I looked at the register value in Eclipse and it is indeed 0x00000000. I tried manually changing the register value and it has no effect, even though many of the bits are read/write according to the Technincal Reference Manual.