[4] CLOCK: Changing application core frequency register HFCLKCTRL requires additional register initialization

This anomaly applies to IC Rev. Engineering A, build codes QKAA-AB0.

Domains

Application

Symptoms

RAM content is corrupted.

Conditions

Switching application core between 64 MHz and 128 MHz.

Consequences

RAM content is corrupted.

Workaround

When changing HFCLKCTRL from 64 MHz to 128 MHz:
  1. Complete all memory transactions.
  2. Execute the following commands:
    
    *(volatile uint32_t *)0x5084450C= 0x4040;
    *(volatile uint32_t *)0x50026548 = 0x40;
    *(volatile uint32_t *)0x50081EE4 = 0x4D;
    NRF_CLOCK_S.HFCLKCTRL = 0;
    
When changing HFCLKCTRL from 128 MHz to 64 MHz:
  1. Complete all memory transactions.
  2. Execute the following commands:
    
    NRF_CLOCK_S.HFCLKCTRL = 1;
    *(volatile uint32_t *)0x5084450C= 0x0;
    *(volatile uint32_t *)0x50026548 = 0x0;
    *(volatile uint32_t *)0x50081EE4 = 0x0D;