Hello, working on an incredibly frustrating problem.
We have a 2-chip system and the primary chip (non-nrf) communicates with the nrf52840 as a SPI master, and of course the nrf chip is configured as a SPI slave (SPIS). We had an issue with the cryptocell where an interrupt flag was keeping the nrf chip from really sleeping. In this state, the SPIS system was working fine. Now, I have this strange issue. It appears that after we fixed the sleeping issue, the SPIS RX data is getting corrupted.
For example. The master sends a series of 0xA5s to indicate to the slave to start sending. The slave checks this value, but instead of receiving a 0xA5, we get an 0x25. Its as if the first 2 bits are corrupted. This throws off the system and causes problems.
The additional weirdness is that if the debugger is attached (isystems), everything works fine. If I remove the debugger, the issue shows up. It seems like the chip is asleep when it shouldn't be and having something observe the system causes the issue to go away.