We're looking into using the xdevcfg driver to update the bitstream on our Zynq-7000 based devices. We have managed to do this successfully but there are one or two behavioral quirks when we do it. We communicate with two SPI devices, one on /dev/spidev0.0 and one on /dev/spidev32766.0. After updating the bitstream, we can still talk to the device on spidev0.0 but any transfer attempt on spidev32766.0 results in a hang. If this bitstream update is carried out using U-Boot/FSBL there are no such issues.
Has anyone come across something like this before?