diff --git a/drivers/adc/adc_nrfx_saadc.c b/drivers/adc/adc_nrfx_saadc.c index 2c56e79f48971..431080807b024 100644 --- a/drivers/adc/adc_nrfx_saadc.c +++ b/drivers/adc/adc_nrfx_saadc.c @@ -16,6 +16,7 @@ #include #include #include +#include LOG_MODULE_REGISTER(adc_nrfx_saadc, CONFIG_ADC_LOG_LEVEL); @@ -200,6 +201,10 @@ static int input_assign(nrf_saadc_input_t *pin_p, *pin_p = saadc_psels[channel_cfg->input_positive]; +#if NRF_GPIO_HAS_RETENTION_SETCLEAR + nrf_gpio_pin_retain_disable(saadc_psels[channel_cfg->input_positive]); +#endif + if (channel_cfg->differential) { if (channel_cfg->input_negative > ARRAY_SIZE(saadc_psels) || (IS_ENABLED(CONFIG_NRF_PLATFORM_HALTIUM) && @@ -212,6 +217,11 @@ static int input_assign(nrf_saadc_input_t *pin_p, *pin_n = channel_cfg->input_negative == NRF_SAADC_GND ? NRF_SAADC_INPUT_DISABLED : saadc_psels[channel_cfg->input_negative]; + +#if NRF_GPIO_HAS_RETENTION_SETCLEAR + nrf_gpio_pin_retain_disable(saadc_psels[channel_cfg->input_negative]); +#endif + } else { *pin_n = NRF_SAADC_INPUT_DISABLED; } diff --git a/drivers/comparator/comparator_nrf_comp.c b/drivers/comparator/comparator_nrf_comp.c index 6c5acdf5c0801..7178c51675d83 100644 --- a/drivers/comparator/comparator_nrf_comp.c +++ b/drivers/comparator/comparator_nrf_comp.c @@ -5,6 +5,7 @@ */ #include +#include #include #include @@ -249,6 +250,11 @@ static int shim_nrf_comp_psel_to_nrf(uint8_t shim, } *nrf = shim_nrf_comp_ain_map[shim]; + +#if NRF_GPIO_HAS_RETENTION_SETCLEAR + nrf_gpio_pin_retain_disable(shim_nrf_comp_ain_map[shim]); +#endif + return 0; } #else diff --git a/drivers/comparator/comparator_nrf_lpcomp.c b/drivers/comparator/comparator_nrf_lpcomp.c index 6faba2b8669c7..dbd58d342360c 100644 --- a/drivers/comparator/comparator_nrf_lpcomp.c +++ b/drivers/comparator/comparator_nrf_lpcomp.c @@ -5,6 +5,7 @@ */ #include +#include #include #include @@ -142,6 +143,11 @@ static int shim_nrf_lpcomp_psel_to_nrf(uint8_t shim, } *nrf = shim_nrf_comp_ain_map[shim]; + +#if NRF_GPIO_HAS_RETENTION_SETCLEAR + nrf_gpio_pin_retain_disable(shim_nrf_comp_ain_map[shim]); +#endif + return 0; } #else diff --git a/drivers/gpio/gpio_nrfx.c b/drivers/gpio/gpio_nrfx.c index 6ccb378e161de..e00af1912746d 100644 --- a/drivers/gpio/gpio_nrfx.c +++ b/drivers/gpio/gpio_nrfx.c @@ -12,16 +12,9 @@ #include #include #include -#include #include -#if DT_HAS_COMPAT_STATUS_OKAY(nordic_nrf_gpio_pad_group) -#define GPIO_HAS_PAD_GROUP 1 -#else -#define GPIO_HAS_PAD_GROUP 0 -#endif - #define GPIOTE_PHANDLE(id) DT_INST_PHANDLE(id, gpiote_instance) #define GPIOTE_PROP(idx, prop) DT_PROP(GPIOTE(idx), prop) @@ -55,9 +48,6 @@ struct gpio_nrfx_cfg { uint32_t edge_sense; uint8_t port_num; nrfx_gpiote_t gpiote; -#if GPIO_HAS_PAD_GROUP - const struct device *pad_group; -#endif #if defined(GPIOTE_FEATURE_FLAG) uint32_t flags; #endif @@ -78,6 +68,34 @@ static bool has_gpiote(const struct gpio_nrfx_cfg *cfg) return cfg->gpiote.p_reg != NULL; } +#if NRF_GPIO_HAS_RETENTION_SETCLEAR + +static void port_retain_set(const struct gpio_nrfx_cfg *cfg, uint32_t mask) +{ + nrf_gpio_port_retain_enable(cfg->port, mask); +} + +static void port_retain_clear(const struct gpio_nrfx_cfg *cfg, uint32_t mask) +{ + nrf_gpio_port_retain_disable(cfg->port, mask); +} + +#else + +static void port_retain_set(const struct gpio_nrfx_cfg *cfg, uint32_t mask) +{ + ARG_UNUSED(cfg); + ARG_UNUSED(mask); +} + +static void port_retain_clear(const struct gpio_nrfx_cfg *cfg, uint32_t mask) +{ + ARG_UNUSED(cfg); + ARG_UNUSED(mask); +} + +#endif + static nrf_gpio_pin_pull_t get_pull(gpio_flags_t flags) { if (flags & GPIO_PULL_UP) { @@ -100,7 +118,6 @@ static int gpio_nrfx_pin_configure(const struct device *port, gpio_pin_t pin, nrfx_gpiote_pin_t abs_pin = NRF_GPIO_PIN_MAP(cfg->port_num, pin); nrf_gpio_pin_pull_t pull = get_pull(flags); nrf_gpio_pin_drive_t drive; - int pm_ret; switch (flags & (NRF_GPIO_DRIVE_MSK | GPIO_OPEN_DRAIN)) { case NRF_GPIO_DRIVE_S0S1: @@ -131,10 +148,7 @@ static int gpio_nrfx_pin_configure(const struct device *port, gpio_pin_t pin, return -EINVAL; } - ret = pm_device_runtime_get(port); - if (ret < 0) { - return ret; - } + port_retain_clear(cfg, BIT(pin)); if (flags & GPIO_OUTPUT_INIT_HIGH) { nrf_gpio_port_out_set(cfg->port, BIT(pin)); @@ -196,6 +210,8 @@ static int gpio_nrfx_pin_configure(const struct device *port, gpio_pin_t pin, err = nrfx_gpiote_output_configure(&cfg->gpiote, abs_pin, &output_config, NULL); + + port_retain_set(cfg, BIT(pin)); } else { nrfx_gpiote_input_pin_config_t input_pin_config = { .p_pull_config = &pull, @@ -223,11 +239,11 @@ static int gpio_nrfx_pin_configure(const struct device *port, gpio_pin_t pin, } end: - pm_ret = pm_device_runtime_put(port); - - return (ret != 0) ? ret : pm_ret; + return ret; } + + #ifdef CONFIG_GPIO_GET_CONFIG static int gpio_nrfx_pin_get_config(const struct device *port, gpio_pin_t pin, gpio_flags_t *flags) @@ -315,49 +331,37 @@ static int gpio_nrfx_port_set_masked_raw(const struct device *port, gpio_port_value_t value) { NRF_GPIO_Type *reg = get_port_cfg(port)->port; - int ret; const uint32_t set_mask = value & mask; const uint32_t clear_mask = (~set_mask) & mask; - ret = pm_device_runtime_get(port); - if (ret < 0) { - return ret; - } - + port_retain_clear(get_port_cfg(port), mask); nrf_gpio_port_out_set(reg, set_mask); nrf_gpio_port_out_clear(reg, clear_mask); - return pm_device_runtime_put(port); + port_retain_set(get_port_cfg(port), mask); + return 0; } static int gpio_nrfx_port_set_bits_raw(const struct device *port, gpio_port_pins_t mask) { NRF_GPIO_Type *reg = get_port_cfg(port)->port; - int ret; - - ret = pm_device_runtime_get(port); - if (ret < 0) { - return ret; - } + port_retain_clear(get_port_cfg(port), mask); nrf_gpio_port_out_set(reg, mask); - return pm_device_runtime_put(port); + port_retain_set(get_port_cfg(port), mask); + return 0; } static int gpio_nrfx_port_clear_bits_raw(const struct device *port, gpio_port_pins_t mask) { NRF_GPIO_Type *reg = get_port_cfg(port)->port; - int ret; - - ret = pm_device_runtime_get(port); - if (ret < 0) { - return ret; - } + port_retain_clear(get_port_cfg(port), mask); nrf_gpio_port_out_clear(reg, mask); - return pm_device_runtime_put(port); + port_retain_set(get_port_cfg(port), mask); + return 0; } static int gpio_nrfx_port_toggle_bits(const struct device *port, @@ -367,16 +371,12 @@ static int gpio_nrfx_port_toggle_bits(const struct device *port, const uint32_t value = nrf_gpio_port_out_read(reg) ^ mask; const uint32_t set_mask = value & mask; const uint32_t clear_mask = (~value) & mask; - int ret; - - ret = pm_device_runtime_get(port); - if (ret < 0) { - return ret; - } + port_retain_clear(get_port_cfg(port), mask); nrf_gpio_port_out_set(reg, set_mask); nrf_gpio_port_out_clear(reg, clear_mask); - return pm_device_runtime_put(port); + port_retain_set(get_port_cfg(port), mask); + return 0; } #ifdef CONFIG_GPIO_NRFX_INTERRUPT @@ -580,47 +580,11 @@ static void nrfx_gpio_handler(nrfx_gpiote_pin_t abs_pin, IRQ_CONNECT(DT_IRQN(node_id), DT_IRQ(node_id, priority), nrfx_isr, \ NRFX_CONCAT(nrfx_gpiote_, DT_PROP(node_id, instance), _irq_handler), 0); -static int gpio_nrfx_pm_suspend(const struct device *port) -{ -#if GPIO_HAS_PAD_GROUP - const struct gpio_nrfx_cfg *cfg = get_port_cfg(port); - - return pm_device_runtime_put(cfg->pad_group); -#else - ARG_UNUSED(port); - return 0; -#endif -} - -static int gpio_nrfx_pm_resume(const struct device *port) +static int gpio_nrfx_pm_hook(const struct device *port, enum pm_device_action action) { -#if GPIO_HAS_PAD_GROUP - const struct gpio_nrfx_cfg *cfg = get_port_cfg(port); - - return pm_device_runtime_get(cfg->pad_group); -#else ARG_UNUSED(port); + ARG_UNUSED(action); return 0; -#endif -} - -static int gpio_nrfx_pm_hook(const struct device *port, enum pm_device_action action) -{ - int ret; - - switch (action) { - case PM_DEVICE_ACTION_SUSPEND: - ret = gpio_nrfx_pm_suspend(port); - break; - case PM_DEVICE_ACTION_RESUME: - ret = gpio_nrfx_pm_resume(port); - break; - default: - ret = -ENOTSUP; - break; - } - - return ret; } static int gpio_nrfx_init(const struct device *port) @@ -687,13 +651,6 @@ static DEVICE_API(gpio, gpio_nrfx_drv_api_funcs) = { "Please enable GPIOTE instance for used GPIO port!")), \ ()) -#if GPIO_HAS_PAD_GROUP -#define GPIO_NRF_PAD_GROUP_INIT(id) \ - .pad_group = DEVICE_DT_GET(DT_INST_CHILD(id, pad_group)), -#else -#define GPIO_NRF_PAD_GROUP_INIT(id) -#endif - #define GPIO_NRF_DEVICE(id) \ GPIOTE_CHECK(id); \ static const struct gpio_nrfx_cfg gpio_nrfx_p##id##_cfg = { \ @@ -705,7 +662,6 @@ static DEVICE_API(gpio, gpio_nrfx_drv_api_funcs) = { .port_num = DT_INST_PROP(id, port), \ .edge_sense = DT_INST_PROP_OR(id, sense_edge_mask, 0), \ .gpiote = GPIOTE_INSTANCE(id), \ - GPIO_NRF_PAD_GROUP_INIT(id) \ IF_ENABLED(GPIOTE_FEATURE_FLAG, \ (.flags = \ (DT_PROP_OR(GPIOTE_PHANDLE(id), no_port_event, 0) ? \ diff --git a/drivers/pinctrl/pinctrl_nrf.c b/drivers/pinctrl/pinctrl_nrf.c index ac9b17d27b394..f960ce4d97a3f 100644 --- a/drivers/pinctrl/pinctrl_nrf.c +++ b/drivers/pinctrl/pinctrl_nrf.c @@ -5,7 +5,6 @@ */ #include -#include #include #include @@ -111,75 +110,23 @@ static const nrf_gpio_pin_drive_t drive_modes[NRF_DRIVE_COUNT] = { #define NRF_PSEL_TDM(reg, line) ((NRF_TDM_Type *)reg)->PSEL.line #endif -#if DT_HAS_COMPAT_STATUS_OKAY(nordic_nrf_gpio_pad_group) -#define GPIO_HAS_PAD_GROUP 1 -#else -#define GPIO_HAS_PAD_GROUP 0 -#endif - -#if GPIO_HAS_PAD_GROUP - -#define GPIO_PAD_GROUP_GET_OR_NULL(idx, _) \ - DEVICE_DT_GET_OR_NULL(DT_NODELABEL(_CONCAT(gpio_pad_group, idx))) - -static const struct device *const pad_groups[] = { - LISTIFY(10, GPIO_PAD_GROUP_GET_OR_NULL, (,)) -}; - -static atomic_t pad_group_masks[ARRAY_SIZE(pad_groups)]; - -static int pad_group_request_pin(uint16_t pin_number) -{ - uint8_t port_number = NRF_GET_PORT(pin_number); - uint8_t port_pin_number = NRF_GET_PORT_PIN(pin_number); - const struct device *pad_group = pad_groups[port_number]; - atomic_t *pad_group_mask = &pad_group_masks[port_number]; - - if (atomic_test_and_set_bit(pad_group_mask, port_pin_number)) { - /* already requested */ - return 0; - } - - if (pm_device_runtime_get(pad_group)) { - atomic_clear_bit(pad_group_mask, port_pin_number); - return -EIO; - } - - return 0; -} +#if NRF_GPIO_HAS_RETENTION_SETCLEAR -static int pad_group_release_pin(uint16_t pin_number) +static void port_pin_retain_set(uint16_t pin_number, bool enable) { - uint8_t port_number = NRF_GET_PORT(pin_number); - uint8_t port_pin_number = NRF_GET_PORT_PIN(pin_number); - const struct device *pad_group = pad_groups[port_number]; - atomic_t *pad_group_mask = &pad_group_masks[port_number]; - - if (!atomic_test_and_clear_bit(pad_group_mask, port_pin_number)) { - /* already released */ - return 0; - } - - if (pm_device_runtime_put(pad_group)) { - atomic_set_bit(pad_group_mask, port_pin_number); - return -EIO; + if (enable) { + nrf_gpio_pin_retain_enable(pin_number); + } else { + nrf_gpio_pin_retain_disable(pin_number); } - - return 0; } #else -static int pad_group_request_pin(uint16_t pin_number) +static void port_pin_retain_set(uint16_t pin_number, bool enable) { ARG_UNUSED(pin_number); - return 0; -} - -static int pad_group_release_pin(uint16_t pin_number) -{ - ARG_UNUSED(pin_number); - return 0; + ARG_UNUSED(enable); } #endif @@ -577,7 +524,7 @@ int pinctrl_configure_pins(const pinctrl_soc_pin_t *pins, uint8_t pin_cnt, uint32_t pin = psel; /* enable pin */ - pad_group_request_pin(pin); + port_pin_retain_set(pin, false); if (write != NO_WRITE) { nrf_gpio_pin_write(pin, write); @@ -595,7 +542,7 @@ int pinctrl_configure_pins(const pinctrl_soc_pin_t *pins, uint8_t pin_cnt, if (NRF_GET_LP(pins[i]) == NRF_LP_ENABLE) { /* disable pin and pin clock */ - pad_group_release_pin(pin); + port_pin_retain_set(pin, true); port_pin_clock_set(pin, false); } else { /* configure pin clock */ diff --git a/drivers/power_domain/CMakeLists.txt b/drivers/power_domain/CMakeLists.txt index e4a7c7dbc28bb..2749a32d5d639 100644 --- a/drivers/power_domain/CMakeLists.txt +++ b/drivers/power_domain/CMakeLists.txt @@ -9,7 +9,6 @@ zephyr_library_sources_ifdef(CONFIG_POWER_DOMAIN_INTEL_ADSP power_domain_intel_a zephyr_library_sources_ifdef(CONFIG_POWER_DOMAIN_NXP_SCU power_domain_nxp_scu.c) zephyr_library_sources_ifdef(CONFIG_POWER_DOMAIN_NRFS_GDPWR power_domain_nrfs_gdpwr.c) zephyr_library_sources_ifdef(CONFIG_POWER_DOMAIN_NRFS_SWEXT power_domain_nrfs_swext.c) -zephyr_library_sources_ifdef(CONFIG_POWER_DOMAIN_NRF_GPIO_PAD_GROUP power_domain_nrf_gpio_pad_group.c) zephyr_library_sources_ifdef(CONFIG_POWER_DOMAIN_SOC_PM_STATE power_domain_soc_state_change.c) zephyr_library_sources_ifdef(CONFIG_POWER_DOMAIN_TISCI power_domain_tisci.c) zephyr_library_sources_ifdef(CONFIG_POWER_DOMAIN_SILABS_SIWX91X power_domain_silabs_siwx91x.c) diff --git a/drivers/power_domain/Kconfig b/drivers/power_domain/Kconfig index ce6fb4d42db8f..3de9185761c0a 100644 --- a/drivers/power_domain/Kconfig +++ b/drivers/power_domain/Kconfig @@ -125,7 +125,6 @@ endif #POWER_DOMAIN_TISCI rsource "Kconfig.nrfs_gdpwr" rsource "Kconfig.nrfs_swext" -rsource "Kconfig.nrf_gpio_pad_group" rsource "Kconfig.silabs_siwx91x" endif diff --git a/drivers/power_domain/Kconfig.nrf_gpio_pad_group b/drivers/power_domain/Kconfig.nrf_gpio_pad_group deleted file mode 100644 index 1b36c0cc7e08c..0000000000000 --- a/drivers/power_domain/Kconfig.nrf_gpio_pad_group +++ /dev/null @@ -1,7 +0,0 @@ -# Copyright 2025 Nordic Semiconductor ASA -# SPDX-License-Identifier: Apache-2.0 - -config POWER_DOMAIN_NRF_GPIO_PAD_GROUP - bool "NRFS Global Domain Power Request driver" - depends on DT_HAS_NORDIC_NRF_GPIO_PAD_GROUP_ENABLED - default y diff --git a/drivers/power_domain/power_domain_nrf_gpio_pad_group.c b/drivers/power_domain/power_domain_nrf_gpio_pad_group.c deleted file mode 100644 index 06b40d9d58405..0000000000000 --- a/drivers/power_domain/power_domain_nrf_gpio_pad_group.c +++ /dev/null @@ -1,82 +0,0 @@ -/* - * Copyright (c) 2025 Nordic Semiconductor ASA - * - * SPDX-License-Identifier: Apache-2.0 - */ - -#define DT_DRV_COMPAT nordic_nrf_gpio_pad_group - -#include -#include -#include -#include - -#include - -LOG_MODULE_REGISTER(nrf_gpio_pad_group, CONFIG_POWER_DOMAIN_LOG_LEVEL); - -struct nrf_port_retain_config { - NRF_GPIO_Type *regs; - uint32_t retain_mask; -}; - -static void nrf_port_retain_driver_turn_off(const struct device *dev) -{ - const struct nrf_port_retain_config *dev_config = dev->config; - - LOG_DBG("%s pads 0x%08x retain %s", dev->name, dev_config->retain_mask, "enable"); - nrf_gpio_port_retain_enable(dev_config->regs, dev_config->retain_mask); -} - -static void nrf_port_retain_driver_turn_on(const struct device *dev) -{ - const struct nrf_port_retain_config *dev_config = dev->config; - - LOG_DBG("%s pads 0x%08x retain %s", dev->name, dev_config->retain_mask, "disable"); - nrf_gpio_port_retain_disable(dev_config->regs, dev_config->retain_mask); -} - -static int nrf_port_retain_driver_pm_action(const struct device *dev, - enum pm_device_action action) -{ - switch (action) { - case PM_DEVICE_ACTION_TURN_OFF: - nrf_port_retain_driver_turn_off(dev); - break; - - case PM_DEVICE_ACTION_TURN_ON: - nrf_port_retain_driver_turn_on(dev); - break; - - default: - break; - }; - - return 0; -} - -static int nrf_port_retain_driver_init(const struct device *dev) -{ - return pm_device_driver_init(dev, nrf_port_retain_driver_pm_action); -} - -#define NRF_GPIO_PAD_GROUP_DEFINE(inst) \ - static const struct nrf_port_retain_config _CONCAT(config, inst) = { \ - .regs = (NRF_GPIO_Type *)DT_REG_ADDR(DT_INST_PARENT(inst)), \ - .retain_mask = DT_INST_PROP_OR(inst, retain_mask, UINT32_MAX), \ - }; \ - \ - PM_DEVICE_DT_INST_DEFINE(inst, nrf_port_retain_driver_pm_action); \ - \ - DEVICE_DT_INST_DEFINE( \ - inst, \ - nrf_port_retain_driver_init, \ - PM_DEVICE_DT_INST_GET(inst), \ - NULL, \ - &_CONCAT(config, inst), \ - PRE_KERNEL_1, \ - UTIL_INC(CONFIG_GPIO_INIT_PRIORITY), \ - NULL \ - ); - -DT_INST_FOREACH_STATUS_OKAY(NRF_GPIO_PAD_GROUP_DEFINE) diff --git a/dts/arm/nordic/nrf54h20_cpuapp.dtsi b/dts/arm/nordic/nrf54h20_cpuapp.dtsi index 1e6eb128443da..88ace7842aa34 100644 --- a/dts/arm/nordic/nrf54h20_cpuapp.dtsi +++ b/dts/arm/nordic/nrf54h20_cpuapp.dtsi @@ -67,18 +67,6 @@ wdt011: &cpuapp_wdt011 {}; interrupts = <109 NRF_DEFAULT_IRQ_PRIORITY>; }; -&fll16m { - status = "okay"; -}; - -&hsfll120 { - status = "okay"; -}; - -&lfclk { - status = "okay"; -}; - &gdpwr { status = "okay"; }; @@ -102,27 +90,3 @@ wdt011: &cpuapp_wdt011 {}; &gdpwr_slow_main { status = "okay"; }; - -&gpio_pad_group0 { - status = "okay"; -}; - -&gpio_pad_group1 { - status = "okay"; -}; - -&gpio_pad_group2 { - status = "okay"; -}; - -&gpio_pad_group6 { - status = "okay"; -}; - -&gpio_pad_group7 { - status = "okay"; -}; - -&gpio_pad_group9 { - status = "okay"; -}; diff --git a/dts/arm/nordic/nrf54h20_cpurad.dtsi b/dts/arm/nordic/nrf54h20_cpurad.dtsi index 378d27c3fd626..b910e42789b04 100644 --- a/dts/arm/nordic/nrf54h20_cpurad.dtsi +++ b/dts/arm/nordic/nrf54h20_cpurad.dtsi @@ -108,18 +108,6 @@ wdt011: &cpurad_wdt011 {}; status = "okay"; }; -&fll16m { - status = "okay"; -}; - -&hsfll120 { - status = "okay"; -}; - -&lfclk { - status = "okay"; -}; - &gdpwr { status = "okay"; }; @@ -143,27 +131,3 @@ wdt011: &cpurad_wdt011 {}; &gdpwr_slow_main { status = "okay"; }; - -&gpio_pad_group0 { - status = "okay"; -}; - -&gpio_pad_group1 { - status = "okay"; -}; - -&gpio_pad_group2 { - status = "okay"; -}; - -&gpio_pad_group6 { - status = "okay"; -}; - -&gpio_pad_group7 { - status = "okay"; -}; - -&gpio_pad_group9 { - status = "okay"; -}; diff --git a/dts/bindings/gpio/nordic,nrf-gpio-pad-group.yaml b/dts/bindings/gpio/nordic,nrf-gpio-pad-group.yaml deleted file mode 100644 index 104277addd35e..0000000000000 --- a/dts/bindings/gpio/nordic,nrf-gpio-pad-group.yaml +++ /dev/null @@ -1,43 +0,0 @@ -# Copyright 2025 Nordic Semiconductor ASA -# SPDX-License-Identifier: Apache-2.0 - -description: | - Nordic nRF GPIO pad group. - - The GPIO pad group describes the pads (package - pins of the SoC) the GPIO controller manages. - - The pads may be in a different power domain than - the GPIO controller, and may require enabling - retention to preserve the GPIO configuration if - the power domain is suspended. - - The GPIO pad group is a child node of the GPIO - controller which manages the pad group, named - pad-group. The pad group's nodelabel is named - gpio_pad_group. - - Example layout: - - gpio0: gpio@938000 { - compatible = "nordic,nrf-gpio"; - - ... - - gpio_pad_group0: pad-group { - compatible = "nordic,nrf-gpio-pad-group"; - power-domains = <&gdpwr_slow_main>; - retain-mask = <0xFFF>; - }; - }; - -compatible: "nordic,nrf-gpio-pad-group" - -include: base.yaml - -properties: - retain-mask: - type: int - description: | - Mask of pins which shall be retained if pad - group's power domain is powered off. diff --git a/dts/vendor/nordic/nrf54h20.dtsi b/dts/vendor/nordic/nrf54h20.dtsi index 4564cdaebf15e..2e76a757a23ad 100644 --- a/dts/vendor/nordic/nrf54h20.dtsi +++ b/dts/vendor/nordic/nrf54h20.dtsi @@ -269,7 +269,6 @@ mram1x: mram@e000000 { compatible = "nordic,mram"; reg = <0xe000000 DT_SIZE_K(2048)>; - power-domains = <&gdpwr_fast_active_0>; erase-block-size = <4096>; write-block-size = <16>; }; @@ -633,7 +632,6 @@ reg = <0x86000 0x1000>, <0x2f700000 0x40000>; reg-names = "wrapper", "core"; interrupts = <134 NRF_DEFAULT_IRQ_PRIORITY>; - power-domains = <&gdpwr_fast_active_0>; num-in-eps = <8>; num-out-eps = <10>; ghwcfg1 = <0xaa555000>; @@ -649,7 +647,6 @@ reg = <0x95000 0x500 0x95500 0xb00>; reg-names = "wrapper", "core"; interrupts = <149 NRF_DEFAULT_IRQ_PRIORITY>; - power-domains = <&gdpwr_fast_active_0>; clock-frequency = ; fifo-depth = <32>; status = "disabled"; @@ -658,21 +655,18 @@ cpusec_bellboard: mailbox@99000 { reg = <0x99000 0x1000>; status = "disabled"; - power-domains = <&gdpwr_fast_active_0>; #mbox-cells = <1>; }; cpuapp_bellboard: mailbox@9a000 { reg = <0x9a000 0x1000>; status = "disabled"; - power-domains = <&gdpwr_fast_active_0>; #mbox-cells = <1>; }; cpurad_bellboard: mailbox@9b000 { reg = <0x9b000 0x1000>; status = "disabled"; - power-domains = <&gdpwr_fast_active_0>; #mbox-cells = <1>; }; @@ -713,7 +707,6 @@ compatible = "nordic,nrf-vpr-coprocessor"; reg = <0x8d4000 0x1000>; status = "disabled"; - power-domains = <&gdpwr_fast_active_1>; #address-cells = <1>; #size-cells = <1>; ranges = <0x0 0x8d4000 0x1000>; @@ -735,7 +728,6 @@ interrupts = <216 NRF_DEFAULT_IRQ_PRIORITY>; clocks = <&canpll>, <&hsfll120>; clock-names = "auxpll", "hsfll"; - power-domains = <&gdpwr_fast_active_1>; bosch,mram-cfg = <0x0 28 8 3 3 0 1 1>; status = "disabled"; }; @@ -744,7 +736,6 @@ compatible = "nordic,nrf-dppic-global"; reg = <0x8e1000 0x1000>; status = "disabled"; - power-domains = <&gdpwr_fast_active_1>; }; timer120: timer@8e2000 { @@ -753,9 +744,7 @@ status = "disabled"; cc-num = <6>; interrupts = <226 NRF_DEFAULT_IRQ_PRIORITY>; - power-domains = <&gdpwr_fast_active_1>; max-bit-width = <32>; - clocks = <&hsfll120>; prescaler = <0>; }; @@ -765,9 +754,7 @@ status = "disabled"; cc-num = <6>; interrupts = <227 NRF_DEFAULT_IRQ_PRIORITY>; - power-domains = <&gdpwr_fast_active_1>; max-bit-width = <32>; - clocks = <&hsfll120>; prescaler = <0>; }; @@ -776,8 +763,6 @@ reg = <0x8e4000 0x1000>; status = "disabled"; interrupts = <228 NRF_DEFAULT_IRQ_PRIORITY>; - clocks = <&hsfll120>; - power-domains = <&gdpwr_fast_active_1>; #pwm-cells = <3>; idleout-supported; }; @@ -786,10 +771,8 @@ compatible = "nordic,nrf-spis"; reg = <0x8e5000 0x1000>; status = "disabled"; - power-domains = <&gdpwr_fast_active_1>; easydma-maxcnt-bits = <15>; interrupts = <229 NRF_DEFAULT_IRQ_PRIORITY>; - clocks = <&hsfll120>; max-frequency = ; #address-cells = <1>; #size-cells = <0>; @@ -800,10 +783,8 @@ compatible = "nordic,nrf-spim"; reg = <0x8e6000 0x1000>; status = "disabled"; - power-domains = <&gdpwr_fast_active_1>; easydma-maxcnt-bits = <15>; interrupts = <230 NRF_DEFAULT_IRQ_PRIORITY>; - clocks = <&hsfll120>; max-frequency = ; #address-cells = <1>; #size-cells = <0>; @@ -817,8 +798,6 @@ reg = <0x8e6000 0x1000>; status = "disabled"; interrupts = <230 NRF_DEFAULT_IRQ_PRIORITY>; - clocks = <&hsfll120>; - power-domains = <&gdpwr_fast_active_1>; endtx-stoptx-supported; frame-timeout-supported; zephyr,pm-device-runtime-auto; @@ -830,8 +809,6 @@ status = "disabled"; easydma-maxcnt-bits = <15>; interrupts = <231 NRF_DEFAULT_IRQ_PRIORITY>; - clocks = <&hsfll120>; - power-domains = <&gdpwr_fast_active_1>; max-frequency = ; #address-cells = <1>; #size-cells = <0>; @@ -847,7 +824,6 @@ #address-cells = <1>; #size-cells = <1>; ranges = <0x0 0x908000 0x1000>; - power-domains = <&gdpwr_slow_active>; cpuppr_vevif_tx: mailbox@0 { compatible = "nordic,nrf-vevif-task-tx"; @@ -863,7 +839,6 @@ compatible = "nordic,nrf-ipct-global"; reg = <0x921000 0x1000>; status = "disabled"; - power-domains = <&gdpwr_slow_main>; channels = <8>; global-domain-id = <13>; }; @@ -872,7 +847,6 @@ compatible = "nordic,nrf-dppic-global"; reg = <0x922000 0x1000>; status = "disabled"; - power-domains = <&gdpwr_slow_main>; }; rtc130: rtc@928000 { @@ -882,7 +856,6 @@ cc-num = <4>; clock-frequency = <32768>; interrupts = <296 NRF_DEFAULT_IRQ_PRIORITY>; - power-domains = <&gdpwr_slow_main>; clocks = <&lfclk>; prescaler = <1>; }; @@ -894,7 +867,6 @@ cc-num = <4>; clock-frequency = <32768>; interrupts = <297 NRF_DEFAULT_IRQ_PRIORITY>; - power-domains = <&gdpwr_slow_main>; clocks = <&lfclk>; prescaler = <1>; }; @@ -905,7 +877,6 @@ status = "disabled"; interrupts = <299 NRF_DEFAULT_IRQ_PRIORITY>; clocks = <&lfclk>; - power-domains = <&gdpwr_slow_main>; }; wdt132: watchdog@92c000 { @@ -914,7 +885,6 @@ status = "disabled"; interrupts = <300 NRF_DEFAULT_IRQ_PRIORITY>; clocks = <&lfclk>; - power-domains = <&gdpwr_slow_main>; }; egu130: egu@92d000 { @@ -922,14 +892,12 @@ reg = <0x92d000 0x1000>; status = "disabled"; interrupts = <301 NRF_DEFAULT_IRQ_PRIORITY>; - power-domains = <&gdpwr_slow_main>; }; gpiote130: gpiote@934000 { compatible = "nordic,nrf-gpiote"; reg = <0x934000 0x1000>; status = "disabled"; - power-domains = <&gdpwr_slow_main>; instance = <130>; }; @@ -939,19 +907,10 @@ status = "disabled"; #gpio-cells = <2>; gpio-controller; - power-domains = <&gdpwr_slow_main>; gpiote-instance = <&gpiote130>; ngpios = <12>; port = <0>; zephyr,pm-device-runtime-auto; - - gpio_pad_group0: pad-group { - compatible = "nordic,nrf-gpio-pad-group"; - power-domains = <&gdpwr_slow_main>; - retain-mask = <0xFFF>; - zephyr,pm-device-runtime-auto; - status = "disabled"; - }; }; gpio1: gpio@938200 { @@ -960,19 +919,10 @@ status = "disabled"; #gpio-cells = <2>; gpio-controller; - power-domains = <&gdpwr_slow_main>; gpiote-instance = <&gpiote130>; ngpios = <12>; port = <1>; zephyr,pm-device-runtime-auto; - - gpio_pad_group1: pad-group { - compatible = "nordic,nrf-gpio-pad-group"; - power-domains = <&gdpwr_slow_main>; - retain-mask = <0xFFF>; - zephyr,pm-device-runtime-auto; - status = "disabled"; - }; }; gpio2: gpio@938400 { @@ -981,19 +931,10 @@ status = "disabled"; #gpio-cells = <2>; gpio-controller; - power-domains = <&gdpwr_slow_main>; gpiote-instance = <&gpiote130>; ngpios = <12>; port = <2>; zephyr,pm-device-runtime-auto; - - gpio_pad_group2: pad-group { - compatible = "nordic,nrf-gpio-pad-group"; - power-domains = <&gdpwr_slow_main>; - retain-mask = <0xFFF>; - zephyr,pm-device-runtime-auto; - status = "disabled"; - }; }; gpio6: gpio@938c00 { @@ -1002,18 +943,9 @@ status = "disabled"; #gpio-cells = <2>; gpio-controller; - power-domains = <&gdpwr_slow_main>; ngpios = <14>; port = <6>; zephyr,pm-device-runtime-auto; - - gpio_pad_group6: pad-group { - compatible = "nordic,nrf-gpio-pad-group"; - power-domains = <&gdpwr_fast_active_1>; - retain-mask = <0x3FFF>; - zephyr,pm-device-runtime-auto; - status = "disabled"; - }; }; gpio7: gpio@938e00 { @@ -1022,18 +954,9 @@ status = "disabled"; #gpio-cells = <2>; gpio-controller; - power-domains = <&gdpwr_slow_main>; ngpios = <8>; port = <7>; zephyr,pm-device-runtime-auto; - - gpio_pad_group7: pad-group { - compatible = "nordic,nrf-gpio-pad-group"; - power-domains = <&gdpwr_fast_active_1>; - retain-mask = <0xFF>; - zephyr,pm-device-runtime-auto; - status = "disabled"; - }; }; gpio9: gpio@939200 { @@ -1042,26 +965,16 @@ status = "disabled"; #gpio-cells = <2>; gpio-controller; - power-domains = <&gdpwr_slow_main>; gpiote-instance = <&gpiote130>; ngpios = <6>; port = <9>; zephyr,pm-device-runtime-auto; - - gpio_pad_group9: pad-group { - compatible = "nordic,nrf-gpio-pad-group"; - power-domains = <&gdpwr_slow_main>; - retain-mask = <0x3F>; - zephyr,pm-device-runtime-auto; - status = "disabled"; - }; }; dppic131: dppic@981000 { compatible = "nordic,nrf-dppic-global"; reg = <0x981000 0x1000>; status = "disabled"; - power-domains = <&gdpwr_slow_active>; }; adc: adc@982000 { @@ -1076,7 +989,6 @@ * gdpwr_slow_main. Request gdpwr_slow_main and rely on the * device HW to force its own power domain on while ENABLED. */ - power-domains = <&gdpwr_slow_main>; zephyr,pm-device-runtime-auto; }; @@ -1095,7 +1007,6 @@ * gdpwr_slow_main. Request gdpwr_slow_main and rely on the * device HW to force its own power domain on while ENABLED. */ - power-domains = <&gdpwr_slow_main>; }; temp: temperature-sensor@984000 { @@ -1103,7 +1014,6 @@ reg = <0x984000 0x1000>; interrupts = <388 NRF_DEFAULT_IRQ_PRIORITY>; status = "disabled"; - power-domains = <&gdpwr_slow_active>; }; nfct: nfct@985000 { @@ -1111,14 +1021,12 @@ reg = <0x985000 0x1000>; status = "disabled"; interrupts = <389 NRF_DEFAULT_IRQ_PRIORITY>; - power-domains = <&gdpwr_slow_active>; }; dppic132: dppic@991000 { compatible = "nordic,nrf-dppic-global"; reg = <0x991000 0x1000>; status = "disabled"; - power-domains = <&gdpwr_slow_active>; }; pdm0: pdm@993000 { @@ -1127,7 +1035,6 @@ status = "disabled"; interrupts = <403 NRF_DEFAULT_IRQ_PRIORITY>; nordic,clockpin-enable = ; - power-domains = <&gdpwr_slow_active>; }; qdec130: qdec@994000 { @@ -1135,7 +1042,6 @@ reg = <0x994000 0x1000>; status = "disabled"; interrupts = <404 NRF_DEFAULT_IRQ_PRIORITY>; - power-domains = <&gdpwr_slow_active>; }; qdec131: qdec@995000 { @@ -1143,7 +1049,6 @@ reg = <0x995000 0x1000>; status = "disabled"; interrupts = <405 NRF_DEFAULT_IRQ_PRIORITY>; - power-domains = <&gdpwr_slow_active>; }; grtc: grtc@99c000 { @@ -1153,14 +1058,12 @@ cc-num = <16>; clocks = <&lfclk>, <&fll16m>; clock-names = "lfclock", "hfclock"; - power-domains = <&gdpwr_slow_active>; }; dppic133: dppic@9a1000 { compatible = "nordic,nrf-dppic-global"; reg = <0x9a1000 0x1000>; status = "disabled"; - power-domains = <&gdpwr_slow_active>; }; timer130: timer@9a2000 { @@ -1170,7 +1073,6 @@ cc-num = <6>; interrupts = <418 NRF_DEFAULT_IRQ_PRIORITY>; clocks = <&fll16m>; - power-domains = <&gdpwr_slow_active>; max-bit-width = <32>; prescaler = <0>; }; @@ -1182,7 +1084,6 @@ cc-num = <6>; interrupts = <419 NRF_DEFAULT_IRQ_PRIORITY>; clocks = <&fll16m>; - power-domains = <&gdpwr_slow_active>; max-bit-width = <32>; prescaler = <0>; }; @@ -1193,7 +1094,6 @@ status = "disabled"; interrupts = <420 NRF_DEFAULT_IRQ_PRIORITY>; clocks = <&fll16m>; - power-domains = <&gdpwr_slow_active>; #pwm-cells = <3>; idleout-supported; }; @@ -1204,7 +1104,6 @@ status = "disabled"; interrupts = <421 NRF_DEFAULT_IRQ_PRIORITY>; clocks = <&fll16m>; - power-domains = <&gdpwr_slow_active>; easydma-maxcnt-bits = <15>; #address-cells = <1>; #size-cells = <0>; @@ -1220,7 +1119,6 @@ easydma-maxcnt-bits = <15>; interrupts = <421 NRF_DEFAULT_IRQ_PRIORITY>; clocks = <&fll16m>; - power-domains = <&gdpwr_slow_active>; max-frequency = ; #address-cells = <1>; #size-cells = <0>; @@ -1238,7 +1136,6 @@ status = "disabled"; interrupts = <421 NRF_DEFAULT_IRQ_PRIORITY>; clocks = <&fll16m>; - power-domains = <&gdpwr_slow_active>; nordic,clockpin-enable = ; endtx-stoptx-supported; frame-timeout-supported; @@ -1251,7 +1148,6 @@ status = "disabled"; interrupts = <422 NRF_DEFAULT_IRQ_PRIORITY>; clocks = <&fll16m>; - power-domains = <&gdpwr_slow_active>; easydma-maxcnt-bits = <15>; #address-cells = <1>; #size-cells = <0>; @@ -1267,7 +1163,6 @@ easydma-maxcnt-bits = <15>; interrupts = <422 NRF_DEFAULT_IRQ_PRIORITY>; clocks = <&fll16m>; - power-domains = <&gdpwr_slow_active>; max-frequency = ; #address-cells = <1>; #size-cells = <0>; @@ -1285,7 +1180,6 @@ status = "disabled"; interrupts = <422 NRF_DEFAULT_IRQ_PRIORITY>; clocks = <&fll16m>; - power-domains = <&gdpwr_slow_active>; nordic,clockpin-enable = ; endtx-stoptx-supported; frame-timeout-supported; @@ -1296,7 +1190,6 @@ compatible = "nordic,nrf-dppic-global"; reg = <0x9b1000 0x1000>; status = "disabled"; - power-domains = <&gdpwr_slow_active>; }; timer132: timer@9b2000 { @@ -1306,7 +1199,6 @@ cc-num = <6>; interrupts = <434 NRF_DEFAULT_IRQ_PRIORITY>; clocks = <&fll16m>; - power-domains = <&gdpwr_slow_active>; max-bit-width = <32>; prescaler = <0>; }; @@ -1318,7 +1210,6 @@ cc-num = <6>; interrupts = <435 NRF_DEFAULT_IRQ_PRIORITY>; clocks = <&fll16m>; - power-domains = <&gdpwr_slow_active>; max-bit-width = <32>; prescaler = <0>; }; @@ -1329,7 +1220,6 @@ status = "disabled"; interrupts = <436 NRF_DEFAULT_IRQ_PRIORITY>; clocks = <&fll16m>; - power-domains = <&gdpwr_slow_active>; #pwm-cells = <3>; idleout-supported; }; @@ -1340,7 +1230,6 @@ status = "disabled"; interrupts = <437 NRF_DEFAULT_IRQ_PRIORITY>; clocks = <&fll16m>; - power-domains = <&gdpwr_slow_active>; easydma-maxcnt-bits = <15>; #address-cells = <1>; #size-cells = <0>; @@ -1356,7 +1245,6 @@ easydma-maxcnt-bits = <15>; interrupts = <437 NRF_DEFAULT_IRQ_PRIORITY>; clocks = <&fll16m>; - power-domains = <&gdpwr_slow_active>; max-frequency = ; #address-cells = <1>; #size-cells = <0>; @@ -1374,7 +1262,6 @@ status = "disabled"; interrupts = <437 NRF_DEFAULT_IRQ_PRIORITY>; clocks = <&fll16m>; - power-domains = <&gdpwr_slow_active>; nordic,clockpin-enable = ; endtx-stoptx-supported; frame-timeout-supported; @@ -1387,7 +1274,6 @@ status = "disabled"; interrupts = <438 NRF_DEFAULT_IRQ_PRIORITY>; clocks = <&fll16m>; - power-domains = <&gdpwr_slow_active>; easydma-maxcnt-bits = <15>; #address-cells = <1>; #size-cells = <0>; @@ -1403,7 +1289,6 @@ easydma-maxcnt-bits = <15>; interrupts = <438 NRF_DEFAULT_IRQ_PRIORITY>; clocks = <&fll16m>; - power-domains = <&gdpwr_slow_active>; max-frequency = ; #address-cells = <1>; #size-cells = <0>; @@ -1421,7 +1306,6 @@ status = "disabled"; interrupts = <438 NRF_DEFAULT_IRQ_PRIORITY>; clocks = <&fll16m>; - power-domains = <&gdpwr_slow_active>; nordic,clockpin-enable = ; endtx-stoptx-supported; frame-timeout-supported; @@ -1432,7 +1316,6 @@ compatible = "nordic,nrf-dppic-global"; reg = <0x9c1000 0x1000>; status = "disabled"; - power-domains = <&gdpwr_slow_active>; }; timer134: timer@9c2000 { @@ -1442,7 +1325,6 @@ cc-num = <6>; interrupts = <450 NRF_DEFAULT_IRQ_PRIORITY>; clocks = <&fll16m>; - power-domains = <&gdpwr_slow_active>; max-bit-width = <32>; prescaler = <0>; }; @@ -1454,7 +1336,6 @@ cc-num = <6>; interrupts = <451 NRF_DEFAULT_IRQ_PRIORITY>; clocks = <&fll16m>; - power-domains = <&gdpwr_slow_active>; max-bit-width = <32>; prescaler = <0>; }; @@ -1466,7 +1347,6 @@ interrupts = <452 NRF_DEFAULT_IRQ_PRIORITY>; clocks = <&fll16m>; #pwm-cells = <3>; - power-domains = <&gdpwr_slow_active>; idleout-supported; }; @@ -1476,7 +1356,6 @@ status = "disabled"; interrupts = <453 NRF_DEFAULT_IRQ_PRIORITY>; clocks = <&fll16m>; - power-domains = <&gdpwr_slow_active>; easydma-maxcnt-bits = <15>; #address-cells = <1>; #size-cells = <0>; @@ -1492,7 +1371,6 @@ easydma-maxcnt-bits = <15>; interrupts = <453 NRF_DEFAULT_IRQ_PRIORITY>; clocks = <&fll16m>; - power-domains = <&gdpwr_slow_active>; max-frequency = ; #address-cells = <1>; #size-cells = <0>; @@ -1510,7 +1388,6 @@ status = "disabled"; interrupts = <453 NRF_DEFAULT_IRQ_PRIORITY>; clocks = <&fll16m>; - power-domains = <&gdpwr_slow_active>; nordic,clockpin-enable = ; endtx-stoptx-supported; frame-timeout-supported; @@ -1523,7 +1400,6 @@ status = "disabled"; interrupts = <454 NRF_DEFAULT_IRQ_PRIORITY>; clocks = <&fll16m>; - power-domains = <&gdpwr_slow_active>; easydma-maxcnt-bits = <15>; #address-cells = <1>; #size-cells = <0>; @@ -1539,7 +1415,6 @@ easydma-maxcnt-bits = <15>; interrupts = <454 NRF_DEFAULT_IRQ_PRIORITY>; clocks = <&fll16m>; - power-domains = <&gdpwr_slow_active>; max-frequency = ; #address-cells = <1>; #size-cells = <0>; @@ -1557,7 +1432,6 @@ status = "disabled"; interrupts = <454 NRF_DEFAULT_IRQ_PRIORITY>; clocks = <&fll16m>; - power-domains = <&gdpwr_slow_active>; nordic,clockpin-enable = ; endtx-stoptx-supported; frame-timeout-supported; @@ -1568,7 +1442,6 @@ compatible = "nordic,nrf-dppic-global"; reg = <0x9d1000 0x1000>; status = "disabled"; - power-domains = <&gdpwr_slow_active>; }; timer136: timer@9d2000 { @@ -1578,7 +1451,6 @@ cc-num = <6>; interrupts = <466 NRF_DEFAULT_IRQ_PRIORITY>; clocks = <&fll16m>; - power-domains = <&gdpwr_slow_active>; max-bit-width = <32>; prescaler = <0>; }; @@ -1590,7 +1462,6 @@ cc-num = <6>; interrupts = <467 NRF_DEFAULT_IRQ_PRIORITY>; clocks = <&fll16m>; - power-domains = <&gdpwr_slow_active>; max-bit-width = <32>; prescaler = <0>; }; @@ -1602,7 +1473,6 @@ interrupts = <468 NRF_DEFAULT_IRQ_PRIORITY>; clocks = <&fll16m>; #pwm-cells = <3>; - power-domains = <&gdpwr_slow_active>; idleout-supported; }; @@ -1612,7 +1482,6 @@ status = "disabled"; interrupts = <469 NRF_DEFAULT_IRQ_PRIORITY>; clocks = <&fll16m>; - power-domains = <&gdpwr_slow_active>; easydma-maxcnt-bits = <15>; #address-cells = <1>; #size-cells = <0>; @@ -1628,7 +1497,6 @@ easydma-maxcnt-bits = <15>; interrupts = <469 NRF_DEFAULT_IRQ_PRIORITY>; clocks = <&fll16m>; - power-domains = <&gdpwr_slow_active>; max-frequency = ; #address-cells = <1>; #size-cells = <0>; @@ -1646,7 +1514,6 @@ status = "disabled"; interrupts = <469 NRF_DEFAULT_IRQ_PRIORITY>; clocks = <&fll16m>; - power-domains = <&gdpwr_slow_active>; nordic,clockpin-enable = ; endtx-stoptx-supported; frame-timeout-supported; @@ -1659,7 +1526,6 @@ status = "disabled"; interrupts = <470 NRF_DEFAULT_IRQ_PRIORITY>; clocks = <&fll16m>; - power-domains = <&gdpwr_slow_active>; easydma-maxcnt-bits = <15>; #address-cells = <1>; #size-cells = <0>; @@ -1675,7 +1541,6 @@ easydma-maxcnt-bits = <15>; interrupts = <470 NRF_DEFAULT_IRQ_PRIORITY>; clocks = <&fll16m>; - power-domains = <&gdpwr_slow_active>; max-frequency = ; #address-cells = <1>; #size-cells = <0>; @@ -1693,7 +1558,6 @@ status = "disabled"; interrupts = <470 NRF_DEFAULT_IRQ_PRIORITY>; clocks = <&fll16m>; - power-domains = <&gdpwr_slow_active>; nordic,clockpin-enable = ; endtx-stoptx-supported; frame-timeout-supported; @@ -1709,7 +1573,6 @@ interrupts = <402 NRF_DEFAULT_IRQ_PRIORITY>; status = "disabled"; clocks = <&fll16m>; - power-domains = <&gdpwr_slow_active>; nordic,clockpin-enable = , ; }; @@ -1723,7 +1586,6 @@ interrupts = <407 NRF_DEFAULT_IRQ_PRIORITY>; status = "disabled"; clocks = <&fll16m>; - power-domains = <&gdpwr_slow_active>; nordic,clockpin-enable = , ; }; diff --git a/samples/boards/nordic/clock_control/configs/cpuapp_hsfll.overlay b/samples/boards/nordic/clock_control/configs/cpuapp_hsfll.overlay index 0d46dfbda451b..f2ab83533f485 100644 --- a/samples/boards/nordic/clock_control/configs/cpuapp_hsfll.overlay +++ b/samples/boards/nordic/clock_control/configs/cpuapp_hsfll.overlay @@ -9,3 +9,7 @@ sample-clock = &cpuapp_hsfll; }; }; + +&cpuapp_hsfll { + status = "okay"; +}; diff --git a/samples/boards/nordic/clock_control/configs/fll16m.overlay b/samples/boards/nordic/clock_control/configs/fll16m.overlay index e6484259ce4f3..c4e24588f227a 100644 --- a/samples/boards/nordic/clock_control/configs/fll16m.overlay +++ b/samples/boards/nordic/clock_control/configs/fll16m.overlay @@ -9,3 +9,7 @@ sample-clock = &fll16m; }; }; + +&fll16m { + status = "okay"; +}; diff --git a/samples/boards/nordic/clock_control/configs/global_hsfll.overlay b/samples/boards/nordic/clock_control/configs/global_hsfll.overlay index c7e67b9c4e854..ef14d521a5890 100644 --- a/samples/boards/nordic/clock_control/configs/global_hsfll.overlay +++ b/samples/boards/nordic/clock_control/configs/global_hsfll.overlay @@ -9,3 +9,7 @@ sample-clock = &hsfll120; }; }; + +&hsfll120 { + status = "okay"; +}; diff --git a/samples/boards/nordic/clock_control/configs/lfclk.overlay b/samples/boards/nordic/clock_control/configs/lfclk.overlay index db48e5f7705d6..4b601f56fd08d 100644 --- a/samples/boards/nordic/clock_control/configs/lfclk.overlay +++ b/samples/boards/nordic/clock_control/configs/lfclk.overlay @@ -9,3 +9,7 @@ sample-clock = &lfclk; }; }; + +&lfclk { + status = "okay"; +}; diff --git a/samples/boards/nordic/clock_control/configs/uart135.overlay b/samples/boards/nordic/clock_control/configs/uart135.overlay index 547145fa91de5..dfc32c3cd9f1d 100644 --- a/samples/boards/nordic/clock_control/configs/uart135.overlay +++ b/samples/boards/nordic/clock_control/configs/uart135.overlay @@ -14,3 +14,7 @@ status = "okay"; memory-regions = <&cpuapp_dma_region>; }; + +&fll16m { + status = "okay"; +}; diff --git a/tests/drivers/uart/uart_async_dual/boards/nrf54h20dk_nrf54h20_cpuapp.conf b/tests/drivers/uart/uart_async_dual/boards/nrf54h20dk_nrf54h20_cpuapp.conf index 6dffc1fe4e192..74cc8d7691e15 100644 --- a/tests/drivers/uart/uart_async_dual/boards/nrf54h20dk_nrf54h20_cpuapp.conf +++ b/tests/drivers/uart/uart_async_dual/boards/nrf54h20dk_nrf54h20_cpuapp.conf @@ -1,3 +1,2 @@ CONFIG_PM_DEVICE=y CONFIG_PM_DEVICE_RUNTIME=y -CONFIG_CLOCK_CONTROL=y