usleep() implementation in the BSP assumes a 50MHz clock result in an error on the sleep time.
It also programs the LPD SWDT to divide down the assumed 50MHz clock and counts down the sleep based on reads from the timer value, i.e. it does not treat the timer as read-only.
This causes issues if multiple BSPs are running concurrently, (for example, on the two R5s), one BSP can be counting down a sleep value while the other one programs it, thereby invalidating the first sleep.
This issue will be fixed in the 2016.1 release of Vivado Design Suite.