<?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>button with &amp;quot;gpio-keys&amp;quot; not fired when CONFIG_PM_DEVICE_RUNTIME=y</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/126091/button-with-gpio-keys-not-fired-when-config_pm_device_runtime-y</link><description>Hi, 
 using nrf connect SDK v3.1.1 
 using nrf54L15 development board. 
 I am trying to run a simple button event yet callback is not fired when 
 
 CONFIG_PM_DEVICE_RUNTIME =y 
 
 when 
 
 CONFIG_PM_DEVICE_RUNTIME =n 
 it works. 
 single change in the</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Tue, 16 Dec 2025 11:08:21 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/126091/button-with-gpio-keys-not-fired-when-config_pm_device_runtime-y" /><item><title>RE: button with "gpio-keys" not fired when CONFIG_PM_DEVICE_RUNTIME=y</title><link>https://devzone.nordicsemi.com/thread/557071?ContentTypeID=1</link><pubDate>Tue, 16 Dec 2025 11:08:21 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:f3c23cd3-dbd1-462a-b724-f8f95772d994</guid><dc:creator>H&amp;#229;kon Alseth</dc:creator><description>&lt;p&gt;Hi Dan,&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Yes, your observations are indeed correct wrt. having&amp;nbsp;&lt;span&gt;CONFIG_PM_DEVICE_RUNTIME either selected or n-selected.&lt;/span&gt;&lt;/p&gt;
[quote user="narfster"]&lt;div&gt;What is recommendation when to use one, or both CONFIG settings.&lt;/div&gt;[/quote]
&lt;p&gt;Both are fine to use in this case, but requires different API handling, unfortunately. Which one to&amp;nbsp;use and implement&amp;nbsp;is based on your own preference on the matter.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Kind regards,&lt;/p&gt;
&lt;p&gt;Håkon&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: button with "gpio-keys" not fired when CONFIG_PM_DEVICE_RUNTIME=y</title><link>https://devzone.nordicsemi.com/thread/557062?ContentTypeID=1</link><pubDate>Tue, 16 Dec 2025 10:06:56 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:65d793b6-4ff0-4e41-8acb-df2d3605a7bc</guid><dc:creator>narfster</dc:creator><description>&lt;p&gt;thanks for your very helpful assistants,&lt;/p&gt;
&lt;p&gt;zephyr doc states:&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/pastedimage1765878721777v1.png" alt=" " /&gt;&lt;/p&gt;
&lt;p&gt;yet the proj.conf has two define we can play with&lt;/p&gt;
&lt;div style="background-color:#ffffff;color:#3b3b3b;font-family:Consolas, &amp;#39;Courier New&amp;#39;, monospace;font-size:14px;font-weight:normal;line-height:19px;white-space:pre;"&gt;
&lt;div&gt;&lt;span style="color:#0000ff;"&gt;CONFIG_PM_DEVICE&lt;/span&gt;&lt;span style="color:#3b3b3b;"&gt;=y&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="color:#0000ff;"&gt;CONFIG_PM_DEVICE_RUNTIME&lt;/span&gt;&lt;span style="color:#3b3b3b;"&gt;=n&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="color:#3b3b3b;"&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;do I understand correctly?&lt;/div&gt;
&lt;div&gt;&lt;/div&gt;
&lt;div&gt;if &lt;span style="color:#0000ff;"&gt;CONFIG_PM_DEVICE_RUNTIME&lt;/span&gt;&lt;span style="color:#3b3b3b;"&gt;=n&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="color:#3b3b3b;"&gt;then use:&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;div style="background-color:#ffffff;color:#3b3b3b;font-family:Consolas, &amp;#39;Courier New&amp;#39;, monospace;font-size:14px;font-weight:normal;line-height:19px;white-space:pre;"&gt;
&lt;div&gt;&lt;span style="color:#795e26;"&gt;pm_device_action_run&lt;/span&gt;&lt;span style="color:#3b3b3b;"&gt;(&lt;/span&gt;&lt;span style="color:#001080;"&gt;uart&lt;/span&gt;&lt;span style="color:#3b3b3b;"&gt;, &lt;/span&gt;&lt;span style="color:#0070c1;"&gt;PM_DEVICE_ACTION_SUSPEND&lt;/span&gt;&lt;span style="color:#3b3b3b;"&gt;);&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;&lt;span style="color:#795e26;"&gt;pm_device_action_run&lt;/span&gt;&lt;span style="color:#3b3b3b;"&gt;(&lt;/span&gt;&lt;span style="color:#001080;"&gt;uart&lt;/span&gt;&lt;span style="color:#3b3b3b;"&gt;, &lt;/span&gt;&lt;span style="color:#0070c1;"&gt;PM_DEVICE_ACTION_RESUME&lt;/span&gt;&lt;span style="color:#3b3b3b;"&gt;);&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;&lt;/div&gt;
&lt;div&gt;&lt;/div&gt;
&lt;div&gt;if &lt;span style="color:#0000ff;"&gt;CONFIG_PM_DEVICE_RUNTIME&lt;/span&gt;&lt;span style="color:#3b3b3b;"&gt;=y&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="color:#3b3b3b;"&gt;then use: &lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;div style="background-color:#ffffff;color:#3b3b3b;font-family:Consolas, &amp;#39;Courier New&amp;#39;, monospace;font-size:14px;font-weight:normal;line-height:19px;white-space:pre;"&gt;
&lt;div&gt;&lt;span style="color:#795e26;"&gt;pm_device_runtime_enable&lt;/span&gt;&lt;span style="color:#3b3b3b;"&gt;(&lt;/span&gt;&lt;span style="color:#001080;"&gt;uart&lt;/span&gt;&lt;span style="color:#3b3b3b;"&gt;);&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;div style="background-color:#ffffff;color:#3b3b3b;font-family:Consolas, &amp;#39;Courier New&amp;#39;, monospace;font-size:14px;font-weight:normal;line-height:19px;white-space:pre;"&gt;
&lt;div&gt;&lt;span style="color:#795e26;"&gt;pm_device_runtime_put&lt;/span&gt;&lt;span style="color:#3b3b3b;"&gt;(&lt;/span&gt;&lt;span style="color:#001080;"&gt;uart&lt;/span&gt;&lt;span style="color:#3b3b3b;"&gt;);&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;div style="background-color:#ffffff;color:#3b3b3b;font-family:Consolas, &amp;#39;Courier New&amp;#39;, monospace;font-size:14px;font-weight:normal;line-height:19px;white-space:pre;"&gt;
&lt;div&gt;&lt;span style="color:#795e26;"&gt;pm_device_runtime_get&lt;/span&gt;&lt;span style="color:#3b3b3b;"&gt;(&lt;/span&gt;&lt;span style="color:#001080;"&gt;uart&lt;/span&gt;&lt;span style="color:#3b3b3b;"&gt;);&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;&lt;span style="color:#3b3b3b;"&gt;etc..&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="color:#3b3b3b;"&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="color:#3b3b3b;"&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;Also the &lt;span style="color:#795e26;"&gt;pm_device_runtime_enable won&amp;#39;t enable when CONFIG is n.&lt;/span&gt;&lt;span style="color:#3b3b3b;"&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="color:#795e26;"&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;What is recommendation when to use one, or both CONFIG settings.&lt;/div&gt;
&lt;/div&gt;
&lt;div style="background-color:#ffffff;color:#3b3b3b;font-family:Consolas, &amp;#39;Courier New&amp;#39;, monospace;font-size:14px;font-weight:normal;line-height:19px;white-space:pre;"&gt;thanks&lt;/div&gt;
&lt;div style="background-color:#ffffff;color:#3b3b3b;font-family:Consolas, &amp;#39;Courier New&amp;#39;, monospace;font-size:14px;font-weight:normal;line-height:19px;white-space:pre;"&gt;Dan&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;&lt;span style="color:#3b3b3b;"&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: button with "gpio-keys" not fired when CONFIG_PM_DEVICE_RUNTIME=y</title><link>https://devzone.nordicsemi.com/thread/557055?ContentTypeID=1</link><pubDate>Tue, 16 Dec 2025 09:13:02 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:7c31b0a0-85ac-4b7b-9ad8-7080624f8d41</guid><dc:creator>H&amp;#229;kon Alseth</dc:creator><description>&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;My apologies for the late response.&lt;/p&gt;
&lt;p&gt;When setting&amp;nbsp;&lt;/p&gt;
[quote user=""]&lt;span style="color:rgba(0, 0, 255, 1);"&gt;CONFIG_PM_DEVICE_RUNTIME&lt;/span&gt;=y[/quote]
&lt;p&gt;the default state of the power management system is to place each device in a suspended state, as per the zephyr docs:&lt;/p&gt;
&lt;p&gt;&lt;a href="https://docs.zephyrproject.org/latest/services/pm/device_runtime.html#introduction"&gt;https://docs.zephyrproject.org/latest/services/pm/device_runtime.html#introduction&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;To enable it, you need to:&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="text"&gt;#include &amp;lt;zephyr/devicetree.h&amp;gt;
#include &amp;lt;zephyr/pm/device_runtime.h&amp;gt;

...
pm_device_runtime_get(DEVICE_DT_GET(DT_NODELABEL(pad_input)));&lt;/pre&gt;&lt;/p&gt;
&lt;p&gt;On a DK, you need to use DT_PATH, as the &amp;quot;buttons&amp;quot; node has no label:&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="text"&gt;pm_device_runtime_get(DEVICE_DT_GET(DT_PATH(buttons)));&lt;/pre&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Kind regards,&lt;/p&gt;
&lt;p&gt;Håkon&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: button with "gpio-keys" not fired when CONFIG_PM_DEVICE_RUNTIME=y</title><link>https://devzone.nordicsemi.com/thread/556770?ContentTypeID=1</link><pubDate>Thu, 11 Dec 2025 09:43:05 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:810ea581-50fa-4235-9e8b-5de818b82c8f</guid><dc:creator>narfster</dc:creator><description>&lt;div style="background-color:#ffffff;color:#3b3b3b;font-family:Consolas, &amp;#39;Courier New&amp;#39;, monospace;font-size:14px;font-weight:normal;line-height:19px;white-space:pre;"&gt;&lt;pre class="ui-code" data-mode="text"&gt;CONFIG_SYS_CLOCK_TICKS_PER_SEC=1000

CONFIG_PM_DEVICE=y
CONFIG_PM_DEVICE_RUNTIME=y
#CONFIG_NRFX_UARTE20=y
#CONFIG_PINCTRL=y
#CONFIG_PINCTRL_NRF=y
#CONFIG_PINCTRL_DYNAMIC=y

# Shell
CONFIG_SHELL=y
CONFIG_SHELL_BACKEND_SERIAL=y
CONFIG_UART_CONSOLE=y

# Logging
CONFIG_LOG=y
CONFIG_LOG_DEFAULT_LEVEL=2
CONFIG_LOG_MODE_MINIMAL=n
#CONFIG_LOG_BACKEND_UART=n
CONFIG_LOG_RUNTIME_FILTERING=y              # adds ability to change log levels at runtime
#CONFIG_LOG_MODE_IMMEDIATE=y
CONFIG_LOG_CMDS=y                           # shell commands
CONFIG_LOG_PRINTK=y

# Bluetooth
CONFIG_BT=y
CONFIG_BT_PERIPHERAL=y
CONFIG_BT_DEVICE_NAME=&amp;quot;BLE_Advertiser&amp;quot;
CONFIG_BT_DEVICE_APPEARANCE=0
CONFIG_BT_PRIVACY=n
CONFIG_BT_HCI=y


#float support
CONFIG_CBPRINTF_FP_SUPPORT=y                # enables float support in printf functions

# external flash
CONFIG_FLASH=y
CONFIG_SPI_NOR_SFDP_RUNTIME=y               # enable SFDP support for SPI NOR flash
CONFIG_SPI_NOR=y
CONFIG_SPI_NOR_FLASH_LAYOUT_PAGE_SIZE=4096
CONFIG_FLASH_PAGE_LAYOUT=y                  # enable flash page layout API    
CONFIG_FLASH_SHELL=y
CONFIG_FLASH_MAP=y

# NVS Filesystem
CONFIG_NVS=y
CONFIG_NVS_LOG_LEVEL_DBG=y
CONFIG_MPU_ALLOW_FLASH_WRITE=y

# Input sub system
CONFIG_INPUT=y
CONFIG_INPUT_EVENT_DUMP=y
CONFIG_INPUT_GPIO_KEYS=y
CONFIG_GPIO=y
CONFIG_LED=y
CONFIG_LED_GPIO=y

# NFC
CONFIG_NFC_T4T_NRFXLIB=y
CONFIG_NFC_NDEF=y
CONFIG_NFC_NDEF_MSG=y
CONFIG_NFC_NDEF_RECORD=y
CONFIG_NFC_NDEF_LE_OOB_REC=y
CONFIG_NFC_NDEF_PARSER=y


# HEAP

# CONFIG_PM_PARTITION_SIZE_NVS_STORAGE=0x00

# MAIN TASK MODULE
CONFIG_APP_MAIN_TASK_ENABLED=y
CONFIG_APP_MAIN_TASK_SHORT_QUEUE_LEN=10
CONFIG_APP_MAIN_TASK_MAX_SHORT_MESSAGE_LEN=4
CONFIG_APP_MAIN_TASK_LONG_QUEUE_LEN=4
CONFIG_APP_MAIN_TASK_MAX_LONG_MESSAGE_LEN=128
CONFIG_APP_MAIN_TASK_MAX_NUM_OF_EVENTS=15 
&lt;/pre&gt;&lt;br /&gt;
&lt;div&gt;&lt;span style="color:#3b3b3b;"&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div style="background-color:#ffffff;color:#3b3b3b;font-family:Consolas, &amp;#39;Courier New&amp;#39;, monospace;font-size:14px;font-weight:normal;line-height:19px;white-space:pre;"&gt;&lt;/div&gt;
&lt;div style="background-color:#ffffff;color:#3b3b3b;font-family:Consolas, &amp;#39;Courier New&amp;#39;, monospace;font-size:14px;font-weight:normal;line-height:19px;white-space:pre;"&gt;added proj.conf&lt;/div&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: button with "gpio-keys" not fired when CONFIG_PM_DEVICE_RUNTIME=y</title><link>https://devzone.nordicsemi.com/thread/556762?ContentTypeID=1</link><pubDate>Thu, 11 Dec 2025 08:52:08 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:652655dc-59c9-4dd7-8b4a-a40f9a2dafdd</guid><dc:creator>narfster</dc:creator><description>&lt;p&gt;&lt;pre class="ui-code" data-mode="c_cpp"&gt;#define PAD_IN_GPIO_SPEC        &amp;lt;&amp;amp;gpio1 13 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)&amp;gt;

using dev board button0
&lt;/pre&gt;&lt;/p&gt;
&lt;div style="background-color:#ffffff;color:#3b3b3b;font-family:Consolas, &amp;#39;Courier New&amp;#39;, monospace;font-size:14px;font-weight:normal;line-height:19px;white-space:pre;"&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></channel></rss>