[198] nRF52840: SPIM3 transmit data might be corrupted

This anomaly applies to IC Rev. Engineering B, build codes QIAA-BA0, QIAA-BB0, CKAA-AA0.

Symptoms

Transmit data from SPIM3 is corrupted.

Conditions

Data accessed by CPU location in the same RAM block as where the SPIM3 TXD.PTR is pointing, and CPU does a read or write operation at the same clock cycle as the SPIM3 EasyDMA is fetching data.

Consequences

Transmit data from SPIM3 is corrupted.

Workaround

Reserve dedicated RAM blocks for the SPIM3 transmit buffer, not overlapping with application data used by the CPU. In addition, synchronize so that the CPU is not writing data to the transmit buffer while SPIM is transmitting data.