Skip to content

Conversation

ppryga-nordic
Copy link
Contributor

@ppryga-nordic ppryga-nordic commented Sep 11, 2025

The uart driver for nRF54h20 doesn't call pm_device_runtime_enable().
During an uart driver init pm_device_driver_init() return early,
because the pm_device_is_powered() returns false. Power domains,
where uarts are instantiated, are disabled: pm->domain->pm_base->state
is not equal to PM_DEVICE_STATE_ACTIVE.

At the end of the day, an uart instance is left disabled.

This is a workaround to make the uart usable when CONFIG_PM,
CONFIG_PM_DEVICE and CONFIG_PM_DEVICE_RUNTIME are enabled.

(cherry picked from commit eaede77)

Signed-off-by: Piotr Pryga [email protected]

@ppryga-nordic ppryga-nordic changed the base branch from main to ncs-v3.1-branch September 11, 2025 07:26
@ppryga-nordic ppryga-nordic force-pushed the enable-pm-device-runtime-auto-to-54h20-uart-dts branch from 53e40e3 to 92c32d9 Compare September 11, 2025 09:40
@ppryga-nordic ppryga-nordic changed the base branch from ncs-v3.1-branch to main September 11, 2025 09:40
@ppryga-nordic ppryga-nordic force-pushed the enable-pm-device-runtime-auto-to-54h20-uart-dts branch from 92c32d9 to 80525c4 Compare September 11, 2025 09:47
@ppryga-nordic ppryga-nordic force-pushed the enable-pm-device-runtime-auto-to-54h20-uart-dts branch from 80525c4 to 85a85d0 Compare September 12, 2025 09:38
@ppryga-nordic ppryga-nordic changed the title dts: nrf54h20: Add zephyr,pm-device-runtime-auto; to uart instances [nrf fromlist] dts: nrf54h20: Add zephyr,pm-device-runtime-auto; to uart instances Sep 12, 2025
@ppryga-nordic ppryga-nordic force-pushed the enable-pm-device-runtime-auto-to-54h20-uart-dts branch from 85a85d0 to 9a00d5c Compare September 12, 2025 10:27
@ppryga-nordic ppryga-nordic force-pushed the enable-pm-device-runtime-auto-to-54h20-uart-dts branch 2 times, most recently from 7ace648 to 6855f0d Compare September 12, 2025 10:37
@ppryga-nordic
Copy link
Contributor Author

Waiting for upstream PR to be merged zephyrproject-rtos/zephyr#95894. Then I'll change this one to [nrf fromtree].

@ppryga-nordic ppryga-nordic force-pushed the enable-pm-device-runtime-auto-to-54h20-uart-dts branch from 6855f0d to 9a19b84 Compare September 16, 2025 07:00
…art instances

The uart driver for nRF54h20 doesn't call pm_device_runtime_enable().
During an uart driver init `pm_device_driver_init()` return early,
because the `pm_device_is_powered()` returns `false`. Power domains,
where uarts are instantiated, are disabled: `pm->domain->pm_base->state`
is not equal to `PM_DEVICE_STATE_ACTIVE`.

At the end of the day, an uart instance is left disabled.

This is a workaround to make the uart usable when CONFIG_PM,
CONFIG_PM_DEVICE and CONFIG_PM_DEVICE_RUNTIME are enabled.

Signed-off-by: Piotr Pryga <[email protected]>
(cherry picked from commit eaede77)
@ppryga-nordic ppryga-nordic force-pushed the enable-pm-device-runtime-auto-to-54h20-uart-dts branch from 9a19b84 to dc7391b Compare September 16, 2025 10:21
@ppryga-nordic ppryga-nordic changed the title [nrf fromlist] dts: nrf54h20: Add zephyr,pm-device-runtime-auto; to uart instances [nrf fromtree] dts: nrf54h20: Add zephyr,pm-device-runtime-auto; to uart instances Sep 16, 2025
@rlubos rlubos merged commit 2ace1aa into nrfconnect:main Sep 16, 2025
22 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants