<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="https://devzone.nordicsemi.com/cfs-file/__key/system/syndication/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>nRF52805 — nRESET (P0.21) cannot be reconfigured as GPIO using UICR-&amp;gt;PSELRESET[]  (?)</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/122682/nrf52805-nreset-p0-21-cannot-be-reconfigured-as-gpio-using-uicr--pselreset</link><description>Hi all, 
 I&amp;#39;m working with the nRF52805 (QFN16) and was curious if the nRESET pin (P0.21) can be disabled via the UICR-&amp;gt;PSELRESET[n] mechanism, as is possible on other nRF52 chips like the 52832. 
 After reviewing the nRF52805 PS v1.4 and Nordic’s online</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Wed, 02 Jul 2025 16:19:37 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/122682/nrf52805-nreset-p0-21-cannot-be-reconfigured-as-gpio-using-uicr--pselreset" /><item><title>RE: nRF52805 — nRESET (P0.21) cannot be reconfigured as GPIO using UICR-&gt;PSELRESET[]  (?)</title><link>https://devzone.nordicsemi.com/thread/541210?ContentTypeID=1</link><pubDate>Wed, 02 Jul 2025 16:19:37 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:c90b9367-da02-4027-be59-ef5be3fe2b61</guid><dc:creator>Vidar Berg</dc:creator><description>&lt;p&gt;Thanks for posting the update. I didn&amp;#39;t refresh the page before posting so I didn&amp;#39;t know that you had found the problem.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: nRF52805 — nRESET (P0.21) cannot be reconfigured as GPIO using UICR-&gt;PSELRESET[]  (?)</title><link>https://devzone.nordicsemi.com/thread/541209?ContentTypeID=1</link><pubDate>Wed, 02 Jul 2025 16:17:05 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:da79297e-594f-46c2-ba5b-3ff6ac7c5d5e</guid><dc:creator>Vidar Berg</dc:creator><description>&lt;p&gt;Hello,&lt;/p&gt;
&lt;p&gt;The UICR registers are in FLASH which means you must erase the UICR section before you can update existing register values. It&amp;#39;s also important that you don&amp;#39;t have the CONFIG_GPIO_AS_PINRESET symbol set in your bootloader or application as this will cause the UICR.&lt;span&gt;PSELRESET registers to be&amp;nbsp;set again by the startup code here:&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;img style="max-height:240px;max-width:320px;" src="https://devzone.nordicsemi.com/resized-image/__size/640x480/__key/communityserver-discussions-components-files/4/pastedimage1751472951475v2.png" alt=" " /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;img style="max-height:240px;max-width:320px;" src="https://devzone.nordicsemi.com/resized-image/__size/640x480/__key/communityserver-discussions-components-files/4/pastedimage1751472909082v1.png" alt=" " /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Best regards,&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Vidar&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: nRF52805 — nRESET (P0.21) cannot be reconfigured as GPIO using UICR-&gt;PSELRESET[]  (?)</title><link>https://devzone.nordicsemi.com/thread/541207?ContentTypeID=1</link><pubDate>Wed, 02 Jul 2025 16:12:34 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:269ab1cf-5865-4229-92c5-560395523ecd</guid><dc:creator>Bill Russell</dc:creator><description>&lt;p&gt;Just following up to say: I got it working&lt;/p&gt;
&lt;hr /&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Erase the chip using SES or &lt;code&gt;nrfjprog --eraseall&lt;/code&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;In your SES project:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Uncomment the call to &lt;code&gt;try_disable_reset_pin_once()&lt;/code&gt; (see code below)&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Run the program from debugger (once)&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Stop execution, comment the function call again&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Run again from debugger&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;hr /&gt;
&lt;h3 id="mcetoc_1iv5u92q82"&gt;&lt;/h3&gt;
&lt;pre&gt;&lt;code class="language-c"&gt;Code Example&lt;/code&gt;&lt;/pre&gt;
&lt;pre&gt;&lt;code class="language-c"&gt;&lt;pre class="ui-code" data-mode="c_cpp"&gt;#include &amp;quot;nrf_gpio.h&amp;quot;
#include &amp;lt;stdio.h&amp;gt;

#define TEST_PIN 21  // P0.21 = nRESET on nRF52805 with an LED attached

// Run this once to try writing UICR
static void try_disable_reset_pin_once(void)
{
    NRF_NVMC-&amp;gt;CONFIG = NVMC_CONFIG_WEN_Wen;
    while (NRF_NVMC-&amp;gt;READY == NVMC_READY_READY_Busy);

    NRF_UICR-&amp;gt;PSELRESET[0] = (TEST_PIN &amp;lt;&amp;lt; 0) | (1UL &amp;lt;&amp;lt; 31);
    NRF_UICR-&amp;gt;PSELRESET[1] = (TEST_PIN &amp;lt;&amp;lt; 0) | (1UL &amp;lt;&amp;lt; 31);

    NRF_NVMC-&amp;gt;CONFIG = NVMC_CONFIG_WEN_Ren;
    while (NRF_NVMC-&amp;gt;READY == NVMC_READY_READY_Busy);

    NVIC_SystemReset();
}

int main(void)
{
    // === Uncomment this line ONCE to write to UICR ===
    // try_disable_reset_pin_once();

    // === Read back the UICR values ===
    printf(&amp;quot;UICR-&amp;gt;PSELRESET[0] = 0x%08lX\n&amp;quot;, NRF_UICR-&amp;gt;PSELRESET[0]);
    printf(&amp;quot;UICR-&amp;gt;PSELRESET[1] = 0x%08lX\n&amp;quot;, NRF_UICR-&amp;gt;PSELRESET[1]);

    // Try to configure P0.21 as output and light LED
    nrf_gpio_cfg_output(TEST_PIN);
    nrf_gpio_pin_clear(TEST_PIN);  // Active-low LED ON

    // Optional second LED (red)
    nrf_gpio_cfg_output(4);
    nrf_gpio_pin_clear(4);  // Active-low LED ON

    while (1)
    {
        __WFE();
    }
}&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;hr /&gt;
&lt;h3 id="mcetoc_1iv5u92q83"&gt;&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;code&gt;0x80000015&lt;/code&gt; = disconnect bit + GPIO 21&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;After reset, &lt;code&gt;UICR-&amp;gt;PSELRESET[x]&lt;/code&gt; retained values: &lt;code&gt;0x80000015&lt;/code&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;P0.21 now functions as normal output &amp;mdash; confirmed with LED pull-down&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="mcetoc_1iv5u92q84"&gt;&lt;/h3&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>