[55] RESET: Bits in RESETREAS are set when they should not be

This anomaly applies to IC Rev. Engineering D, build codes CLAA-DA0, QKAA-DB0.

It was inherited from the previous IC revision Engineering A.

Domains

Application, Network

Symptoms

After pin reset, RESETREAS bits other than RESETPIN might also be set.

Conditions

A pin reset has triggered.

Consequences

If the firmware evaluates RESETREAS, it might take the wrong action.

Workaround

When RESETREAS shows a pin reset (RESETPIN), ignore other reset reason bits.
Note: RESETREAS bits must be cleared between resets.
Apply the following code after any reset:

For Application:
if (NRF_RESET_S->RESETREAS & RESET_RESETREAS_RESETPIN_Msk)
{
    NRF_RESET_S->RESETREAS = ~RESET_RESETREAS_RESETPIN_Msk;
}
For Network:
if (NRF_RESET->RESETREAS & RESET_RESETREAS_RESETPIN_Msk)
{
    NRF_RESET->RESETREAS = ~RESET_RESETREAS_RESETPIN_Msk;
}
This workaround is implemented in MDK version 8.29.0 and later.