<?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>GPIO state not retained after FOTA reboot on nRF54L15 (Zephyr SDK 3.0.2)</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/127386/gpio-state-not-retained-after-fota-reboot-on-nrf54l15-zephyr-sdk-3-0-2</link><description>Hi, 
 I am using nRF54L15 with Zephyr RTOS in nRF Connect SDK v3.0.2 . 
 After performing a FOTA update , the device reboots. I need to retain the state of a GPIO pin across this reboot . 
 The GPIO I am trying to retain is P1.06 . I attempted to configure</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Tue, 24 Mar 2026 09:33:44 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/127386/gpio-state-not-retained-after-fota-reboot-on-nrf54l15-zephyr-sdk-3-0-2" /><item><title>RE: GPIO state not retained after FOTA reboot on nRF54L15 (Zephyr SDK 3.0.2)</title><link>https://devzone.nordicsemi.com/thread/563932?ContentTypeID=1</link><pubDate>Tue, 24 Mar 2026 09:33:44 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:c7cfe10e-c2ee-4550-8852-c55a6843c89f</guid><dc:creator>Menon</dc:creator><description>&lt;p&gt;Hello,&lt;/p&gt;
&lt;p&gt;Just letting you know that you can always request a hardware review with us. Please create a new case and share your design files there, one of our engineers will review them and suggest any necessary requirements (if needed).&lt;/p&gt;
&lt;p&gt;Kind Regards,&lt;/p&gt;
&lt;p&gt;Abhijith&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: GPIO state not retained after FOTA reboot on nRF54L15 (Zephyr SDK 3.0.2)</title><link>https://devzone.nordicsemi.com/thread/563918?ContentTypeID=1</link><pubDate>Tue, 24 Mar 2026 06:19:47 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:1de81040-0c18-4077-a122-4aa964f04a88</guid><dc:creator>Jishnu K J</dc:creator><description>&lt;p class="isSelectedEnd"&gt;&lt;span&gt;Hello Abhijith,&lt;/span&gt;&lt;/p&gt;
&lt;p class="isSelectedEnd"&gt;&lt;span&gt;Thank you for the clarification and for your support.&amp;nbsp;&lt;/span&gt;&lt;span&gt;We will review the hardware changes you suggested.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Best regards,&lt;/span&gt;&lt;br /&gt;&lt;span&gt;Jishnu K J&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: GPIO state not retained after FOTA reboot on nRF54L15 (Zephyr SDK 3.0.2)</title><link>https://devzone.nordicsemi.com/thread/563860?ContentTypeID=1</link><pubDate>Mon, 23 Mar 2026 12:28:23 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:c97f051a-5471-4628-9c9b-13cfc42a0531</guid><dc:creator>Menon</dc:creator><description>&lt;div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div dir="auto"&gt;
&lt;div&gt;
&lt;div&gt;
&lt;p&gt;Hello,&lt;br /&gt;In that case, I believe there is no way to achieve this through software alone. You would probably need some hardware customization.&lt;/p&gt;
&lt;p&gt;One possible suggestion is to add a pull-up on Q1 by connecting R9 to VDD instead of GND, and use P1.06 in an open-drain configuration. The default behavior for GPIOs is high-impedance, so during reset, SYS_EN would also be pulled high.&lt;/p&gt;
&lt;p&gt;If possible, you could also redesign this part of the circuit so that it turns off on a high input instead of a low input.&lt;/p&gt;
&lt;p&gt;Kind Regards,&lt;/p&gt;
&lt;p&gt;Abhijith&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: GPIO state not retained after FOTA reboot on nRF54L15 (Zephyr SDK 3.0.2)</title><link>https://devzone.nordicsemi.com/thread/563631?ContentTypeID=1</link><pubDate>Thu, 19 Mar 2026 05:46:27 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:6b600bea-4380-48a2-a1ac-199f85b26215</guid><dc:creator>Jishnu K J</dc:creator><description>&lt;p&gt;Hello Abhijith,&lt;/p&gt;
&lt;p&gt;Yes, we observe the same behavior not only during DFU (FOTA), but also during a normal reboot.&lt;/p&gt;
&lt;p&gt;In all these cases, the GPIO pin &lt;strong&gt;P1.06 (SYS_EN)&lt;/strong&gt; returns to its default state after reset, causing the system to power off before the bootloader or application can reconfigure it.&lt;/p&gt;
&lt;p&gt;Best regards,&lt;br /&gt;Jishnu K J&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: GPIO state not retained after FOTA reboot on nRF54L15 (Zephyr SDK 3.0.2)</title><link>https://devzone.nordicsemi.com/thread/563582?ContentTypeID=1</link><pubDate>Wed, 18 Mar 2026 14:21:34 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:7c2d795f-e5da-43a9-8596-575277cd0f40</guid><dc:creator>Menon</dc:creator><description>&lt;p&gt;Hello,&lt;/p&gt;
&lt;p&gt;I believe you only need to configure the &lt;code&gt;mcuboot.overlay&lt;/code&gt; to initialize the pin in the bootloader. Regarding the issue you raised, does it occur only during DFU (FOTA)? Based on your description, the same behavior should also be observed during a normal reboot, such as after an assertion or a watchdog reset.&lt;/p&gt;
&lt;p&gt;Kind Regards,&lt;/p&gt;
&lt;p&gt;Abhijith&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: GPIO state not retained after FOTA reboot on nRF54L15 (Zephyr SDK 3.0.2)</title><link>https://devzone.nordicsemi.com/thread/563558?ContentTypeID=1</link><pubDate>Wed, 18 Mar 2026 12:25:20 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:e740e388-a900-4b80-bbbc-35d11e0e0bf7</guid><dc:creator>Jishnu K J</dc:creator><description>&lt;p&gt;Hi Abhijith,&lt;/p&gt;
&lt;p&gt;I followed your suggestion and configured the bootloader using the &lt;strong&gt;sysbuild&lt;/strong&gt; approach. I created a &lt;code&gt;sysbuild&lt;/code&gt; folder and added both &lt;code&gt;mcuboot.overlay&lt;/code&gt; and &lt;code&gt;mcuboot.conf&lt;/code&gt;, similar to the sample you shared.&lt;/p&gt;
&lt;p&gt;After building, I can confirm that the overlay is being applied correctly. I verified this in &lt;code&gt;build/mcuboot/zephyr/zephyr.dts&lt;/code&gt;, where the GPIO hog is present:&lt;/p&gt;
&lt;pre&gt;&lt;code class="language-dts"&gt;gpio1: gpio@d8200 {
    compatible = &amp;quot;nordic,nrf-gpio&amp;quot;;
    gpio-controller;
    reg = &amp;lt; 0xd8200 0x300 &amp;gt;;
    #gpio-cells = &amp;lt; 0x2 &amp;gt;;
    ngpios = &amp;lt; 0x10 &amp;gt;;
    status = &amp;quot;okay&amp;quot;;
    port = &amp;lt; 0x1 &amp;gt;;
    gpiote-instance = &amp;lt; &amp;amp;gpiote20 &amp;gt;;
    phandle = &amp;lt; 0x11 &amp;gt;;

    load_cell_en_hog: load-cell-en-hog {
        gpio-hog;
        gpios = &amp;lt; 0x6 0x0 &amp;gt;;
        output-high;
        line-name = &amp;quot;load-cell-enable&amp;quot;;
    };
};
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;However, in our case, it still does not work. After the firmware update, the GPIO pin &lt;strong&gt;P1.06&lt;/strong&gt; is cleared, and the device powers off.&lt;/p&gt;
&lt;p&gt;Best regards,&lt;/p&gt;
&lt;p&gt;Jishnu K J&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: GPIO state not retained after FOTA reboot on nRF54L15 (Zephyr SDK 3.0.2)</title><link>https://devzone.nordicsemi.com/thread/563453?ContentTypeID=1</link><pubDate>Tue, 17 Mar 2026 13:47:57 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:22ba5ebe-551a-4efd-99a7-85e0c21c6ea9</guid><dc:creator>Menon</dc:creator><description>&lt;p&gt;hello,&lt;/p&gt;
&lt;p&gt;Since you are using NCS v3.0.2, I assume you are working with sysbuild. In that case, creating a &lt;code&gt;child_image&lt;/code&gt; folder is not the correct approach for configuring MCUboot. Instead, you should create a &lt;code&gt;sysbuild&lt;/code&gt; folder and include an &lt;code&gt;mcuboot.overlay&lt;/code&gt; file there. Please&lt;a href="https://github.com/NordicDeveloperAcademy/ncs-inter/tree/main/l9/l9_e2_sol/sysbuild"&gt; refer to this sample&lt;/a&gt;, which demonstrates how to configure the bootloader.&lt;/p&gt;
&lt;p&gt;Kind Regards,&lt;/p&gt;
&lt;p&gt;Abhijith&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: GPIO state not retained after FOTA reboot on nRF54L15 (Zephyr SDK 3.0.2)</title><link>https://devzone.nordicsemi.com/thread/563448?ContentTypeID=1</link><pubDate>Tue, 17 Mar 2026 13:27:08 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:0a2831d3-3432-4086-ad73-ac15a2ec41f6</guid><dc:creator>Jishnu K J</dc:creator><description>&lt;p&gt;Hello Abhijith,&lt;/p&gt;
&lt;p&gt;I tried configuring the GPIO pin in the bootloader, but it did not work. I suspect that the overlay file I created (&lt;code&gt;mcuboot.overlay&lt;/code&gt;) is not being applied during the boot process.&lt;/p&gt;
&lt;p&gt;The overlay file I used is shown below:&lt;/p&gt;
&lt;pre&gt;&lt;code class="language-dts"&gt;&amp;amp;gpio1 {
    status = &amp;quot;okay&amp;quot;;

    /* Ensure P1.06 stays HIGH during MCUboot */
    load_cell_en_hog: load-cell-en-hog {
        gpio-hog;
        gpios = &amp;lt;&amp;amp;gpio1 6 GPIO_ACTIVE_HIGH&amp;gt;;
        output-high;
        line-name = &amp;quot;load-cell-enable&amp;quot;;
    };
};
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;The file is placed at:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;my_project/
 └── child_image/
      └── mcuboot.overlay
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;I have also added &lt;code&gt;CONFIG_BOOTLOADER_MCUBOOT=y&lt;/code&gt; in &lt;code&gt;sysbuild.conf&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;Is there anything I might be missing? Also, is there any documentation available for properly applying overlays to MCUboot?&lt;/p&gt;
&lt;p&gt;Best regards,&lt;/p&gt;
&lt;p&gt;Jishnu K J&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: GPIO state not retained after FOTA reboot on nRF54L15 (Zephyr SDK 3.0.2)</title><link>https://devzone.nordicsemi.com/thread/563422?ContentTypeID=1</link><pubDate>Tue, 17 Mar 2026 10:36:15 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:d5e1bf8b-79ae-40b5-a7b5-d5b2aaddd54d</guid><dc:creator>Menon</dc:creator><description>&lt;p&gt;Hello,&lt;/p&gt;
&lt;p&gt;&lt;span&gt;In this case, I don’t think GPIO retention is the right approach.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Instead, it’s worth trying to initialize the pin as early as possible in the bootloader. I’m not 100% sure this will work though, since it depends on how the GPIO behaves during reset. If the pin goes high-Z, it won’t actively drive the line low, so it may stay on long enough for the bootloader to re-assert it.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Kind Regards,&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Abhijith&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: GPIO state not retained after FOTA reboot on nRF54L15 (Zephyr SDK 3.0.2)</title><link>https://devzone.nordicsemi.com/thread/563307?ContentTypeID=1</link><pubDate>Mon, 16 Mar 2026 10:26:14 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:b7a4fda1-5c3e-46b9-bc76-bc548a814996</guid><dc:creator>Jishnu K J</dc:creator><description>&lt;p class="isSelectedEnd"&gt;&lt;span&gt;Hello Abhijith,&lt;/span&gt;&lt;/p&gt;
&lt;p class="isSelectedEnd"&gt;&lt;span&gt;Thank you for the clarification.&lt;/span&gt;&lt;/p&gt;
&lt;p class="isSelectedEnd"&gt;&lt;span&gt;In our design, &lt;/span&gt;&lt;strong&gt;&lt;span&gt;P1.06 (SYS_EN)&lt;/span&gt;&lt;/strong&gt;&lt;span&gt; is used as the &lt;strong&gt;power&amp;nbsp;&lt;/strong&gt;&lt;/span&gt;&lt;strong&gt;&lt;span&gt;enable pin&lt;/span&gt;&lt;/strong&gt;&lt;span&gt;. It is initially set &lt;/span&gt;&lt;strong&gt;&lt;span&gt;high&lt;/span&gt;&lt;/strong&gt;&lt;span&gt; to keep the system powered on. If this pin goes &lt;/span&gt;&lt;strong&gt;&lt;span&gt;low&lt;/span&gt;&lt;/strong&gt;&lt;span&gt;, the system powers off.&lt;/span&gt;&lt;/p&gt;
&lt;p class="isSelectedEnd"&gt;&lt;span&gt;We also have a &lt;/span&gt;&lt;strong&gt;&lt;span&gt;power button&lt;/span&gt;&lt;/strong&gt;&lt;span&gt; in the circuit. The firmware detects the button press by reading &lt;/span&gt;&lt;strong&gt;&lt;span&gt;P1.05 (SYS_OUT)&lt;/span&gt;&lt;/strong&gt;&lt;span&gt; and then toggles &lt;/span&gt;&lt;strong&gt;&lt;span&gt;P1.06 (SYS_EN)&lt;/span&gt;&lt;/strong&gt;&lt;span&gt; to control the system power.&lt;/span&gt;&lt;/p&gt;
&lt;p class="isSelectedEnd"&gt;&lt;span&gt;However, after performing &lt;/span&gt;&lt;strong&gt;&lt;span&gt;FOTA&lt;/span&gt;&lt;/strong&gt;&lt;span&gt;, the device reboots and the state of &lt;/span&gt;&lt;strong&gt;&lt;span&gt;P1.06&lt;/span&gt;&lt;/strong&gt;&lt;span&gt; returns to its default value. As a result, &lt;/span&gt;&lt;strong&gt;&lt;span&gt;SYS_EN becomes low and the system powers off&lt;/span&gt;&lt;/strong&gt;&lt;span&gt;. The device can only power on again when the &lt;strong&gt;button is pressed manually to power up the controller&lt;/strong&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p class="isSelectedEnd"&gt;&lt;span&gt;I have attached the relevant part of the schematic for reference.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&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/latch.png" alt=" " /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Best regards,&lt;br /&gt;Jishnu K J&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: GPIO state not retained after FOTA reboot on nRF54L15 (Zephyr SDK 3.0.2)</title><link>https://devzone.nordicsemi.com/thread/563233?ContentTypeID=1</link><pubDate>Fri, 13 Mar 2026 14:16:39 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:c723920d-570d-4d45-8867-8fa7051a97cc</guid><dc:creator>Menon</dc:creator><description>&lt;p&gt;Hello,&lt;/p&gt;
&lt;p&gt;&lt;span&gt;GPIO configs are &amp;nbsp;only retained through a system off reset. For other reset sources they are cleared. So after the OTA update and reboot, the GPIO returning to its default/reset state is the expected behavior. Could you give some more context on what exactly is the use case here? See the section &lt;a href="https://docs.nordicsemi.com/bundle/ps_nrf54L15/page/chapters/power-and-clock/reset/doc/reset.html#ariaid-title11"&gt;reset behavior&lt;/a&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p&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/pastedimage1773411379676v2.png" alt=" " /&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;br /&gt;Kind Regards,&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Abhijith&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: GPIO state not retained after FOTA reboot on nRF54L15 (Zephyr SDK 3.0.2)</title><link>https://devzone.nordicsemi.com/thread/563228?ContentTypeID=1</link><pubDate>Fri, 13 Mar 2026 13:27:42 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:4e424cfd-4370-4185-87eb-50c263e563d3</guid><dc:creator>Jishnu K J</dc:creator><description>&lt;p class="isSelectedEnd"&gt;&lt;span&gt;Hello Abhijith,&lt;/span&gt;&lt;/p&gt;
&lt;p class="isSelectedEnd"&gt;&lt;span&gt;Okay, noted. I will wait for your update.&lt;/span&gt;&lt;/p&gt;
&lt;p class="isSelectedEnd"&gt;&lt;span&gt;In the meantime, I checked the API you mentioned (&lt;/span&gt;&lt;code dir="ltr"&gt;&lt;span&gt;nrf_gpio_pin_retain_enable&lt;/span&gt;&lt;/code&gt;&lt;span&gt;), but it does not appear to be defined in &lt;/span&gt;&lt;strong&gt;&lt;span&gt;SDK v3.0.2&lt;/span&gt;&lt;/strong&gt;&lt;span&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Best&amp;nbsp;regards,&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Jishnu K J&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: GPIO state not retained after FOTA reboot on nRF54L15 (Zephyr SDK 3.0.2)</title><link>https://devzone.nordicsemi.com/thread/563144?ContentTypeID=1</link><pubDate>Thu, 12 Mar 2026 14:30:04 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:837ef5ef-ad61-44ae-a004-f9a83a0baccb</guid><dc:creator>Menon</dc:creator><description>&lt;p&gt;Hello,&lt;/p&gt;
&lt;p&gt;&lt;span&gt;nRF54L15 does support GPIO retention, but you need to enable it using the retention API, see &lt;a href="https://docs.nordicsemi.com/bundle/nrfx_3.10.0/page/group_nrf_gpio_hal.html#gad7ab88d111c03ac8e4b60b29c68422d9:~:text=nrf_gpio_pin_retain_enable()"&gt;nrf_gpio_pin_retain_enable&lt;/a&gt;&lt;/span&gt;&lt;span&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;That said, I’m not sure if the GPIO state will survive the reset that happens during FOTA, since that process involves a system reset and the behavior can depend on the reset type. I’ll double-check this and get back to you.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Kind Regards,&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Abhijith&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>