This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

what does (Workaround for PAN_028 rev1.1 anomaly 23 - System: Manual setup is required to enable use of peripherals) means?

Hello,

I am using nordic development kit nrf51822 and i was trying some examples of it as given. But in that in one example there is one function

static void gpiote_init(void) and in this function statement is : *(uint32_t *)0x40000504 = 0xC007FFDF; // Workaround for PAN_028 rev1.1 anomaly 23 - System: Manual setup is required to enable use of peripherals
My question is what does this statement means?

  • Older versions of the nRF51822 silicon needed a couple of registers set up so that peripherals like the UART, SPI, TWI etc. could be used. If you are using Nordic's provided example code typically you will see this code in the SystemInit fuction:

        /* Prepare the peripherals for use as indicated by the PAN 26 "System: Manual setup is required
       to enable the use of peripherals" found at Product Anomaly document for your device found at
       https://www.nordicsemi.com/. The side effect of executing these instructions in the devices 
       that do not need it is that the new peripherals in the second generation devices (LPCOMP for
       example) will not be available. */
    if (is_manual_peripheral_setup_needed())
    {
        *(uint32_t volatile *)0x40000504 = 0xC007FFDF;
        *(uint32_t volatile *)0x40006C18 = 0x00008000;
    }
    

    Newer versions of the silicon do not need this change. You can download the Product Anomaly Notice (PAN) from Nordic's website if you want to learn more.

Related