[214] SPIS: Incorrect data transferred

This anomaly applies to Revision 3, build codes QFAA-Fx0, QIAA-Fx0, CKAA-Fx0.

It was inherited from the previous IC revision Revision 2.

Symptoms

Wrong data is transferred.

Conditions

If SPIS is disabled while CSN is asserted.

Consequences

Unsent byte from previous transmission is transferred as first byte of new transmission.

Workaround

After disabling the SPISn instance (writing SPISn->ENABLE = SPIS_ENABLE_ENABLE_Disable), apply the following code:

*(volatile uint32_t *) (NRF_SPISn_BASE + 0xA4ul) = 1ul;
*(volatile uint32_t *) (NRF_SPISn_BASE + 0xACul) = 1ul;