Skip to content

Nrf pinctrl power domain refactor #3042

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

Draft
wants to merge 17 commits into
base: main
Choose a base branch
from

Conversation

bjarki-andreasen
Copy link
Contributor

No description provided.

Kronosblaster and others added 17 commits July 14, 2025 14:19
Support added for power domain regulation using TISCI added for
devices using the binding ti,sci-pm-domain.
This driver relies on the TISCI layer to make calls to the
device manager core to perform power management.

Signed-off-by: Dave Joseph <d-joseph@ti.com>
(cherry picked from commit 76905a8e544f72461f22b7c8c9f4927227d52bd6)
Introduce the NRFS GDPWR (Global Domain Power Request) device
driver and devicetree binding.

Upstream PR #: 90754

Signed-off-by: Bjarki Arge Andreasen <bjarki.andreasen@nordicsemi.no>
Introduce NRFS SWEXT (Switch External) device driver and devicetree
binding.

Upstream PR #: 90754

Signed-off-by: Bjarki Arge Andreasen <bjarki.andreasen@nordicsemi.no>
Introduce the NRF GPIO Pad Group device driver and binding. The
pad group device represents the GPIO pads (pins), contrary to a
GPIO controller, which is one of the many devices which can be
muxed to pads in the pad group.

The pad group belong to a power domain, which is not neccesarily the
same power domain as devices being muxed to the pads, like GPIO or
UART. If no ACTIVE device is using any of the pads in the pad
group, the pad groups power domain may be SUSPENDED. Before the pad
groups power domain is SUSPENDED, pad config retention must be
enabled to prevent the pads from loosing their state. That's what
this device driver manages. Once retained, the pad configs and
outputs are locked, even when their power domain is SUSPENDED.

Upstream PR #: 90754

Signed-off-by: Bjarki Arge Andreasen <bjarki.andreasen@nordicsemi.no>
This reverts commit a9bcc44.

Signed-off-by: Bjarki Arge Andreasen <bjarki.andreasen@nordicsemi.no>
…l handling"

This reverts commit f5228b9.

Signed-off-by: Bjarki Arge Andreasen <bjarki.andreasen@nordicsemi.no>
To determine whether device runtime PM is enabled on a device, use
`pm_device_runtime_is_enabled`. This results in the same behaviour when
`CONFIG_PM_DEVICE_RUNTIME=n`, but properly controls the clocks on a
per-instance basis when `CONFIG_PM_DEVICE_RUNTIME=y`.

Signed-off-by: Jordan Yates <jordan@embeint.com>
(cherry picked from commit 6e0d0f5)
…SF client"

This reverts commit dbd3936.

Signed-off-by: Bjarki Arge Andreasen <bjarki.andreasen@nordicsemi.no>
…efault"

This reverts commit 946fcec.

Signed-off-by: Bjarki Arge Andreasen <bjarki.andreasen@nordicsemi.no>
This reverts commit e9a13c3.

Signed-off-by: Bjarki Arge Andreasen <bjarki.andreasen@nordicsemi.no>
…ctrl and pds

Transition nrf54h away from the soc specific gpd
(global power domain) driver which mixed power domains, pinctrl
and gpio pin retention into a non scalable solution, forcing soc
specific logic to bleed into nrf drivers.

The new solution uses zephyrs PM_DEVICE based power domains to
properly model the hardware layout of device and pin power domains,
and moves pin retention logic out of drivers into pinctrl and
gpio, which are the components which manage pins (pads).

Upstream PR #: 90754

Signed-off-by: Bjarki Arge Andreasen <bjarki.andreasen@nordicsemi.no>
…n) driver

Remove the deprecated GPD (Global Power Domain) driver.

Upstream PR #: 90754

Signed-off-by: Bjarki Arge Andreasen <bjarki.andreasen@nordicsemi.no>
The nRF54H20 supports a Bluetooth controller.
The HCI driver interface has changed upstream in
zephyrproject-rtos/zephyr#72323
so now we need to add it to device tree.

Signed-off-by: Rubin Gerritsen <rubin.gerritsen@nordicsemi.no>
(cherry picked from commit 960a734)
The SoftDevice Controller is a different controller than
the open source link layer with a different set of quirks.
It should therefore have its own device tree binding.

This commit converts the SoftDevice Controller driver
to use this new DTS binding instead of reusing the existing one.

This commit updates or adds additional overlays for
existing samples, applications and tests that were using the
open source link layer.

Signed-off-by: Rubin Gerritsen <rubin.gerritsen@nordicsemi.no>
Signed-off-by: Kristoffer Rist Skøien <kristoffer.skoien@nordicsemi.no>
Signed-off-by: Rafał Kuźnia <rafal.kuznia@nordicsemi.no>
(cherry picked from commit a55b00a)
This test cannot be executed with the SDFW Service Framework client
started, so disable its initialization.

Signed-off-by: Andrzej Głąbek <andrzej.glabek@nordicsemi.no>
(cherry picked from commit 4b18963)
Configure SDP MSPI pins to switch their control to VPR core

Signed-off-by: Jakub Zymelka <jakub.zymelka@nordicsemi.no>
Signed-off-by: Andrzej Głąbek <andrzej.glabek@nordicsemi.no>
Signed-off-by: Magdalena Pastula <magdalena.pastula@nordicsemi.no>
(cherry picked from commit c55bfc3)
This commit brings back modifications from these reverted commits:
- f68b2ed
- e606246
slightly adjusted so that the EXMIF peripheral is still by default
handled by the mspi_dw driver, and in cases where this driver cannot
be used because something still does not work correctly, one can
switch to the old solution based on the tweaked spi_dw driver.

Signed-off-by: Andrzej Głąbek <andrzej.glabek@nordicsemi.no>
(cherry picked from commit c3c1692)
@bjarki-andreasen bjarki-andreasen force-pushed the nrf-pinctrl-power-domain-refactor branch from 58adfac to 53cdfeb Compare July 14, 2025 12:20
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants