Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

caf: power_manager: Document Kconfig changes #21143

Merged
merged 1 commit into from
Mar 27, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
24 changes: 23 additions & 1 deletion doc/nrf/libraries/caf/power_manager.rst
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,29 @@ Configuration

To enable the |power_manager|, set the :kconfig:option:`CONFIG_CAF_POWER_MANAGER` Kconfig option in the configuration.

This module uses Zephyr's :ref:`zephyr:pm_api` subsystem.
Implied features
================

The :kconfig:option:`CONFIG_CAF_POWER_MANAGER` option implies the following features that can be used to reduce power consumption:

* System power off support (:kconfig:option:`CONFIG_POWEROFF`).
The option is not implied for an nRF54H Series SoC (:kconfig:option:`CONFIG_SOC_SERIES_NRF54HX`), because the :c:func:`sys_poweroff` API is not yet fully supported on the nRF54H Series SoC.
* Device Power Management (:kconfig:option:`CONFIG_PM_DEVICE`).
The option allows to reduce the power consumption of device drivers while they are inactive.
It is recommended to disable the feature if your application does not use device drivers that integrate device power management.
Disabling the feature reduces the memory footprint.

nRF54H Series SoC
-----------------

For the nRF54H Series SoC (:kconfig:option:`CONFIG_SOC_SERIES_NRF54HX`), the module also implies the following features:

* Zephyr's :ref:`zephyr:pm-system` (:kconfig:option:`CONFIG_PM`).
The nRF54H Series SoC (:kconfig:option:`CONFIG_SOC_SERIES_NRF54HX`) integrates the system power management to reduce power consumption when inactive.
* Zephyr's :ref:`zephyr:pm-device-runtime` (:kconfig:option:`CONFIG_PM_DEVICE_RUNTIME`).
The option extends device power management and depends on the :kconfig:option:`CONFIG_PM_DEVICE` Kconfig option.
Enabling the device runtime power management also prevents using system-managed device power management (:kconfig:option:`CONFIG_PM_DEVICE_SYSTEM_MANAGED`) by default.
The system-managed device power management does not work properly with some drivers (for example, nrfx UARTE) and should be avoided.

Timeout configuration options
=============================
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -808,6 +808,17 @@ Common Application Framework
Earlier, only **GPIO0** and **GPIO1** devices were supported.
Now, the generic solution supports all GPIOs available in the DTS.

* :ref:`caf_power_manager`:

* Updated:

* The :kconfig:option:`CONFIG_CAF_POWER_MANAGER` Kconfig option to imply the device power management (:kconfig:option:`CONFIG_DEVICE_PM`) instead of selecting it.
The device power management is not required by the module.
* The :kconfig:option:`CONFIG_CAF_POWER_MANAGER` Kconfig option to imply device runtime power management (:kconfig:option:`CONFIG_PM_DEVICE_RUNTIME`) for the nRF54H Series SoC (:kconfig:option:`CONFIG_SOC_SERIES_NRF54HX`).
The feature can be used to reduce the power consumption of device drivers.
Enabling the device runtime power management also prevents using system-managed device power management (:kconfig:option:`CONFIG_PM_DEVICE_SYSTEM_MANAGED`) by default.
The system-managed device power management does not work properly with some drivers (for example, nrfx UARTE) and should be avoided.

Debug libraries
---------------

Expand Down