diff --git a/boards/nordic/nrf54h20dk/doc/index.rst b/boards/nordic/nrf54h20dk/doc/index.rst index 41306357fe4..c8e95e39875 100644 --- a/boards/nordic/nrf54h20dk/doc/index.rst +++ b/boards/nordic/nrf54h20dk/doc/index.rst @@ -39,6 +39,7 @@ nRF54H20 SoC provides support for the following devices: * :abbr:`GPIO (General Purpose Input Output)` * :abbr:`GRTC (Global real-time counter)` * :abbr:`I2C (Inter-Integrated Circuit)` +* MEMCONF * MRAM * :abbr:`PWM (Pulse Width Modulation)` * RADIO (Bluetooth Low Energy and 802.15.4) @@ -70,6 +71,8 @@ hardware features: +-----------+------------+----------------------+ | I2C(M) | on-chip | i2c | +-----------+------------+----------------------+ +| MEMCONF | on-chip | retained_mem | ++-----------+------------+----------------------+ | SPI(M/S) | on-chip | spi | +-----------+------------+----------------------+ | UART | on-chip | serial | @@ -89,6 +92,8 @@ hardware features: +-----------+------------+----------------------+ | I2C(M) | on-chip | i2c | +-----------+------------+----------------------+ +| MEMCONF | on-chip | retained_mem | ++-----------+------------+----------------------+ | SPI(M/S) | on-chip | spi | +-----------+------------+----------------------+ | UART | on-chip | serial | diff --git a/boards/nordic/nrf54h20dk/nrf54h20dk_nrf54h20_cpuapp_0_9_0.yaml b/boards/nordic/nrf54h20dk/nrf54h20dk_nrf54h20_cpuapp_0_9_0.yaml index 89b85746540..a64f8cf6398 100644 --- a/boards/nordic/nrf54h20dk/nrf54h20dk_nrf54h20_cpuapp_0_9_0.yaml +++ b/boards/nordic/nrf54h20dk/nrf54h20dk_nrf54h20_cpuapp_0_9_0.yaml @@ -19,6 +19,7 @@ supported: - gpio - i2c - pwm + - retained_mem - spi - watchdog - usbd diff --git a/boards/nordic/nrf54h20dk/nrf54h20dk_nrf54h20_cpurad_0_9_0.yaml b/boards/nordic/nrf54h20dk/nrf54h20dk_nrf54h20_cpurad_0_9_0.yaml index 818a8d74b79..568f6fcc18e 100644 --- a/boards/nordic/nrf54h20dk/nrf54h20dk_nrf54h20_cpurad_0_9_0.yaml +++ b/boards/nordic/nrf54h20dk/nrf54h20dk_nrf54h20_cpurad_0_9_0.yaml @@ -16,4 +16,5 @@ supported: - counter - gpio - pwm + - retained_mem - spi diff --git a/boards/nordic/nrf54l15dk/doc/index.rst b/boards/nordic/nrf54l15dk/doc/index.rst index 7d450912661..f7b927bdc86 100644 --- a/boards/nordic/nrf54l15dk/doc/index.rst +++ b/boards/nordic/nrf54l15dk/doc/index.rst @@ -19,6 +19,7 @@ nRF54L15 Arm Cortex-M33 CPU and the following devices: * RRAM * :abbr:`GPIO (General Purpose Input Output)` * :abbr:`TWIM (I2C-compatible two-wire interface master with EasyDMA)` +* MEMCONF * :abbr:`MPU (Memory Protection Unit)` * :abbr:`NVIC (Nested Vectored Interrupt Controller)` * :abbr:`PWM (Pulse Width Modulation)` @@ -60,6 +61,8 @@ hardware features: +-----------+------------+----------------------+ | GRTC | on-chip | counter | +-----------+------------+----------------------+ +| MEMCONF | on-chip | retained_mem | ++-----------+------------+----------------------+ | MPU | on-chip | arch/arm | +-----------+------------+----------------------+ | NVIC | on-chip | arch/arm | diff --git a/boards/nordic/nrf54l15pdk/doc/index.rst b/boards/nordic/nrf54l15pdk/doc/index.rst index dc6e69b65e5..3fae82b713c 100644 --- a/boards/nordic/nrf54l15pdk/doc/index.rst +++ b/boards/nordic/nrf54l15pdk/doc/index.rst @@ -20,6 +20,7 @@ the following devices: * RRAM * :abbr:`GPIO (General Purpose Input Output)` * :abbr:`TWIM (I2C-compatible two-wire interface master with EasyDMA)` +* MEMCONF * :abbr:`MPU (Memory Protection Unit)` * :abbr:`NVIC (Nested Vectored Interrupt Controller)` * :abbr:`PWM (Pulse Width Modulation)` @@ -65,6 +66,8 @@ hardware features: +-----------+------------+----------------------+ | TWIM | on-chip | i2c | +-----------+------------+----------------------+ +| MEMCONF | on-chip | retained_mem | ++-----------+------------+----------------------+ | MPU | on-chip | arch/arm | +-----------+------------+----------------------+ | NVIC | on-chip | arch/arm | diff --git a/drivers/adc/adc_nrfx_saadc.c b/drivers/adc/adc_nrfx_saadc.c index 132e8e78c3e..e4c37a1f736 100644 --- a/drivers/adc/adc_nrfx_saadc.c +++ b/drivers/adc/adc_nrfx_saadc.c @@ -7,7 +7,8 @@ #define ADC_CONTEXT_USES_KERNEL_TIMER #include "adc_context.h" #include -#include +#include +#include #include #define LOG_LEVEL CONFIG_ADC_LOG_LEVEL @@ -31,7 +32,7 @@ static const uint8_t saadc_psels[NRF_SAADC_AIN7 + 1] = { [NRF_SAADC_AIN7] = NRF_PIN_PORT_TO_PIN_NUMBER(7U, 1), }; #elif defined(CONFIG_SOC_NRF54L15) -static const uint8_t saadc_psels[NRF_SAADC_AIN7 + 1] = { +static const uint32_t saadc_psels[NRF_SAADC_DVDD + 1] = { [NRF_SAADC_AIN0] = NRF_PIN_PORT_TO_PIN_NUMBER(4U, 1), [NRF_SAADC_AIN1] = NRF_PIN_PORT_TO_PIN_NUMBER(5U, 1), [NRF_SAADC_AIN2] = NRF_PIN_PORT_TO_PIN_NUMBER(6U, 1), @@ -40,6 +41,9 @@ static const uint8_t saadc_psels[NRF_SAADC_AIN7 + 1] = { [NRF_SAADC_AIN5] = NRF_PIN_PORT_TO_PIN_NUMBER(12U, 1), [NRF_SAADC_AIN6] = NRF_PIN_PORT_TO_PIN_NUMBER(13U, 1), [NRF_SAADC_AIN7] = NRF_PIN_PORT_TO_PIN_NUMBER(14U, 1), + [NRF_SAADC_VDD] = NRF_SAADC_INPUT_VDD, + [NRF_SAADC_AVDD] = NRF_SAADC_INPUT_AVDD, + [NRF_SAADC_DVDD] = NRF_SAADC_INPUT_DVDD, }; #endif @@ -273,13 +277,8 @@ static int adc_nrfx_channel_setup(const struct device *dev, m_data.single_ended_channels |= BIT(channel_cfg->channel_id); } - /* Keep the channel disabled in hardware (set positive input to - * NRF_SAADC_INPUT_DISABLED) until it is selected to be included - * in a sampling sequence. - */ - #if (NRF_SAADC_HAS_AIN_AS_PIN) - if ((channel_cfg->input_positive > NRF_SAADC_AIN7) || + if ((channel_cfg->input_positive >= ARRAY_SIZE(saadc_psels)) || (channel_cfg->input_positive < NRF_SAADC_AIN0)) { return -EINVAL; } @@ -294,17 +293,18 @@ static int adc_nrfx_channel_setup(const struct device *dev, } else { input_negative = NRF_SAADC_INPUT_DISABLED; } - +#endif /* Store the positive input selection in a dedicated array, * to get it later when the channel is selected for a sampling * and to mark the channel as configured (ready to be selected). */ - m_data.positive_inputs[channel_id] = saadc_psels[channel_cfg->input_positive]; -#else m_data.positive_inputs[channel_id] = channel_cfg->input_positive; -#endif nrf_saadc_channel_init(NRF_SAADC, channel_id, &config); + /* Keep the channel disabled in hardware (set positive input to + * NRF_SAADC_INPUT_DISABLED) until it is selected to be included + * in a sampling sequence. + */ nrf_saadc_channel_input_set(NRF_SAADC, channel_id, NRF_SAADC_INPUT_DISABLED, @@ -531,7 +531,12 @@ static int start_read(const struct device *dev, nrf_saadc_channel_pos_input_set( NRF_SAADC, channel_id, - m_data.positive_inputs[channel_id]); +#if NRF_SAADC_HAS_AIN_AS_PIN + saadc_psels[m_data.positive_inputs[channel_id]] +#else + m_data.positive_inputs[channel_id] +#endif + ); ++active_channels; } else { nrf_saadc_burst_set( diff --git a/drivers/retained_mem/Kconfig.nrf b/drivers/retained_mem/Kconfig.nrf index 3590249fcbe..348361e5f6f 100644 --- a/drivers/retained_mem/Kconfig.nrf +++ b/drivers/retained_mem/Kconfig.nrf @@ -13,6 +13,6 @@ config RETAINED_MEM_NRF_RAM_CTRL bool "nRF RAM retention driver" default y depends on DT_HAS_ZEPHYR_RETAINED_RAM_ENABLED && RETAINED_MEM_ZEPHYR_RAM && POWEROFF - depends on SOC_SERIES_NRF52X || SOC_SERIES_NRF53X || SOC_SERIES_NRF54LX || SOC_SERIES_NRF91X + depends on SOC_FAMILY_NORDIC_NRF help Enable driver for Nordic RAM retention. diff --git a/dts/arm/nordic/nrf51822.dtsi b/dts/arm/nordic/nrf51822.dtsi index 11cc9eff2f9..a11677ad934 100644 --- a/dts/arm/nordic/nrf51822.dtsi +++ b/dts/arm/nordic/nrf51822.dtsi @@ -2,6 +2,7 @@ #include #include +#include / { chosen { diff --git a/dts/arm/nordic/nrf52805.dtsi b/dts/arm/nordic/nrf52805.dtsi index 6c59acc8004..8966c4bf684 100644 --- a/dts/arm/nordic/nrf52805.dtsi +++ b/dts/arm/nordic/nrf52805.dtsi @@ -6,6 +6,7 @@ #include #include +#include #include / { diff --git a/dts/arm/nordic/nrf52810.dtsi b/dts/arm/nordic/nrf52810.dtsi index b73978f9962..8758a6354b8 100644 --- a/dts/arm/nordic/nrf52810.dtsi +++ b/dts/arm/nordic/nrf52810.dtsi @@ -2,6 +2,7 @@ #include #include +#include #include / { diff --git a/dts/arm/nordic/nrf52811.dtsi b/dts/arm/nordic/nrf52811.dtsi index 3861194a337..b14df8b567a 100644 --- a/dts/arm/nordic/nrf52811.dtsi +++ b/dts/arm/nordic/nrf52811.dtsi @@ -6,6 +6,7 @@ #include #include +#include #include / { diff --git a/dts/arm/nordic/nrf52832.dtsi b/dts/arm/nordic/nrf52832.dtsi index 40011ad9630..b722d183da8 100644 --- a/dts/arm/nordic/nrf52832.dtsi +++ b/dts/arm/nordic/nrf52832.dtsi @@ -2,6 +2,7 @@ #include #include +#include #include / { diff --git a/dts/arm/nordic/nrf52833.dtsi b/dts/arm/nordic/nrf52833.dtsi index ecbb82cfb56..d81a8953fda 100644 --- a/dts/arm/nordic/nrf52833.dtsi +++ b/dts/arm/nordic/nrf52833.dtsi @@ -6,6 +6,7 @@ #include #include +#include #include / { diff --git a/dts/arm/nordic/nrf52840.dtsi b/dts/arm/nordic/nrf52840.dtsi index 92931a1c40e..fd7c1aeaa87 100644 --- a/dts/arm/nordic/nrf52840.dtsi +++ b/dts/arm/nordic/nrf52840.dtsi @@ -2,6 +2,7 @@ #include #include +#include #include / { diff --git a/dts/arm/nordic/nrf5340_cpuapp.dtsi b/dts/arm/nordic/nrf5340_cpuapp.dtsi index d48f0ce62dc..ec59f40ab9c 100644 --- a/dts/arm/nordic/nrf5340_cpuapp.dtsi +++ b/dts/arm/nordic/nrf5340_cpuapp.dtsi @@ -6,6 +6,7 @@ #include #include +#include / { cpus { diff --git a/dts/arm/nordic/nrf5340_cpuappns.dtsi b/dts/arm/nordic/nrf5340_cpuappns.dtsi index 6df1be54b34..a65b24ac818 100644 --- a/dts/arm/nordic/nrf5340_cpuappns.dtsi +++ b/dts/arm/nordic/nrf5340_cpuappns.dtsi @@ -8,6 +8,7 @@ #include #include +#include / { cpus { diff --git a/dts/arm/nordic/nrf91.dtsi b/dts/arm/nordic/nrf91.dtsi index 0fb4c4addf4..5e65519929e 100644 --- a/dts/arm/nordic/nrf91.dtsi +++ b/dts/arm/nordic/nrf91.dtsi @@ -6,6 +6,7 @@ #include #include +#include / { cpus { diff --git a/dts/arm/nordic/nrf91ns.dtsi b/dts/arm/nordic/nrf91ns.dtsi index 13a82c442e0..e44bbcde0a4 100644 --- a/dts/arm/nordic/nrf91ns.dtsi +++ b/dts/arm/nordic/nrf91ns.dtsi @@ -6,6 +6,7 @@ #include #include +#include / { cpus { diff --git a/dts/common/nordic/nrf54h20.dtsi b/dts/common/nordic/nrf54h20.dtsi index 4374246073b..041b63ee193 100644 --- a/dts/common/nordic/nrf54h20.dtsi +++ b/dts/common/nordic/nrf54h20.dtsi @@ -7,6 +7,7 @@ #include #include +#include #include #include #include diff --git a/dts/common/nordic/nrf54l15.dtsi b/dts/common/nordic/nrf54l15.dtsi index bdc4f59c9fa..1df4c4f53c5 100644 --- a/dts/common/nordic/nrf54l15.dtsi +++ b/dts/common/nordic/nrf54l15.dtsi @@ -6,6 +6,7 @@ #include #include +#include #include /delete-node/ &sw_pwm; diff --git a/dts/common/nordic/nrf54l20.dtsi b/dts/common/nordic/nrf54l20.dtsi index a838b03b007..67fd8096aba 100644 --- a/dts/common/nordic/nrf54l20.dtsi +++ b/dts/common/nordic/nrf54l20.dtsi @@ -6,6 +6,7 @@ #include #include +#include #include /delete-node/ &sw_pwm; diff --git a/dts/common/nordic/nrf9280.dtsi b/dts/common/nordic/nrf9280.dtsi index 08223449076..dc688a89f25 100644 --- a/dts/common/nordic/nrf9280.dtsi +++ b/dts/common/nordic/nrf9280.dtsi @@ -6,7 +6,7 @@ #include #include - +#include #include #include #include diff --git a/dts/common/nordic/nrf_common.dtsi b/dts/common/nordic/nrf_common.dtsi index cb2df6bcccd..6293a82ed97 100644 --- a/dts/common/nordic/nrf_common.dtsi +++ b/dts/common/nordic/nrf_common.dtsi @@ -5,7 +5,6 @@ */ #include -#include #include #include #include diff --git a/include/zephyr/dt-bindings/adc/nrf-adc.h b/include/zephyr/dt-bindings/adc/nrf-adc.h index 1d875b8eb35..62d9b7cc33f 100644 --- a/include/zephyr/dt-bindings/adc/nrf-adc.h +++ b/include/zephyr/dt-bindings/adc/nrf-adc.h @@ -18,15 +18,4 @@ #define NRF_ADC_AIN6 BIT(6) #define NRF_ADC_AIN7 BIT(7) -#define NRF_SAADC_AIN0 1 -#define NRF_SAADC_AIN1 2 -#define NRF_SAADC_AIN2 3 -#define NRF_SAADC_AIN3 4 -#define NRF_SAADC_AIN4 5 -#define NRF_SAADC_AIN5 6 -#define NRF_SAADC_AIN6 7 -#define NRF_SAADC_AIN7 8 -#define NRF_SAADC_VDD 9 -#define NRF_SAADC_VDDHDIV5 13 - #endif /* ZEPHYR_INCLUDE_DT_BINDINGS_ADC_NRF_ADC_H_ */ diff --git a/include/zephyr/dt-bindings/adc/nrf-saadc-nrf54l.h b/include/zephyr/dt-bindings/adc/nrf-saadc-nrf54l.h new file mode 100644 index 00000000000..19da4ff6020 --- /dev/null +++ b/include/zephyr/dt-bindings/adc/nrf-saadc-nrf54l.h @@ -0,0 +1,15 @@ +/* + * SPDX-License-Identifier: Apache-2.0 + * + * Copyright (c) 2024 Nordic Semiconductor ASA + */ + +#ifndef ZEPHYR_INCLUDE_DT_BINDINGS_ADC_NRF_SAADC_NRF54L_H_ +#define ZEPHYR_INCLUDE_DT_BINDINGS_ADC_NRF_SAADC_NRF54L_H_ + +#include + +#define NRF_SAADC_AVDD 10 +#define NRF_SAADC_DVDD 11 + +#endif /* ZEPHYR_INCLUDE_DT_BINDINGS_ADC_NRF_SAADC_NRF54L_H_ */ diff --git a/include/zephyr/dt-bindings/adc/nrf-saadc-v2.h b/include/zephyr/dt-bindings/adc/nrf-saadc-v2.h new file mode 100644 index 00000000000..f5f72bec829 --- /dev/null +++ b/include/zephyr/dt-bindings/adc/nrf-saadc-v2.h @@ -0,0 +1,14 @@ +/* + * SPDX-License-Identifier: Apache-2.0 + * + * Copyright (c) 2024 Nordic Semiconductor ASA + */ + +#ifndef ZEPHYR_INCLUDE_DT_BINDINGS_ADC_NRF_SAADC_V2_H_ +#define ZEPHYR_INCLUDE_DT_BINDINGS_ADC_NRF_SAADC_V2_H_ + +#include + +#define NRF_SAADC_VDD 9 + +#endif /* ZEPHYR_INCLUDE_DT_BINDINGS_ADC_NRF_SAADC_V2_H_ */ diff --git a/include/zephyr/dt-bindings/adc/nrf-saadc-v3.h b/include/zephyr/dt-bindings/adc/nrf-saadc-v3.h new file mode 100644 index 00000000000..c51bab1a91e --- /dev/null +++ b/include/zephyr/dt-bindings/adc/nrf-saadc-v3.h @@ -0,0 +1,14 @@ +/* + * SPDX-License-Identifier: Apache-2.0 + * + * Copyright (c) 2024 Nordic Semiconductor ASA + */ + +#ifndef ZEPHYR_INCLUDE_DT_BINDINGS_ADC_NRF_SAADC_V3_H_ +#define ZEPHYR_INCLUDE_DT_BINDINGS_ADC_NRF_SAADC_V3_H_ + +#include + +#define NRF_SAADC_VDDHDIV5 13 + +#endif /* ZEPHYR_INCLUDE_DT_BINDINGS_ADC_NRF_SAADC_V3_H_ */ diff --git a/include/zephyr/dt-bindings/adc/nrf-saadc.h b/include/zephyr/dt-bindings/adc/nrf-saadc.h new file mode 100644 index 00000000000..4a3deb95cff --- /dev/null +++ b/include/zephyr/dt-bindings/adc/nrf-saadc.h @@ -0,0 +1,19 @@ +/* + * SPDX-License-Identifier: Apache-2.0 + * + * Copyright (c) 2024 Nordic Semiconductor ASA + */ + +#ifndef ZEPHYR_INCLUDE_DT_BINDINGS_ADC_NRF_SAADC_H_ +#define ZEPHYR_INCLUDE_DT_BINDINGS_ADC_NRF_SAADC_H_ + +#define NRF_SAADC_AIN0 1 +#define NRF_SAADC_AIN1 2 +#define NRF_SAADC_AIN2 3 +#define NRF_SAADC_AIN3 4 +#define NRF_SAADC_AIN4 5 +#define NRF_SAADC_AIN5 6 +#define NRF_SAADC_AIN6 7 +#define NRF_SAADC_AIN7 8 + +#endif /* ZEPHYR_INCLUDE_DT_BINDINGS_ADC_NRF_SAADC_H_ */ diff --git a/samples/drivers/adc/adc_dt/boards/nrf54l15dk_nrf54l15_cpuapp.overlay b/samples/drivers/adc/adc_dt/boards/nrf54l15dk_nrf54l15_cpuapp.overlay index f185624f9b9..6273756c993 100644 --- a/samples/drivers/adc/adc_dt/boards/nrf54l15dk_nrf54l15_cpuapp.overlay +++ b/samples/drivers/adc/adc_dt/boards/nrf54l15dk_nrf54l15_cpuapp.overlay @@ -6,7 +6,7 @@ / { zephyr,user { - io-channels = <&adc 0>, <&adc 1>, <&adc 7>; + io-channels = <&adc 0>, <&adc 1>, <&adc 2>, <&adc 7>; }; }; @@ -33,6 +33,16 @@ zephyr,oversampling = <8>; }; + channel@2 { + reg = <2>; + zephyr,gain = "ADC_GAIN_1"; + zephyr,reference = "ADC_REF_INTERNAL"; + zephyr,acquisition-time = ; + zephyr,input-positive = ; + zephyr,resolution = <12>; + zephyr,oversampling = <8>; + }; + channel@7 { reg = <7>; zephyr,gain = "ADC_GAIN_1"; diff --git a/samples/drivers/adc/adc_sequence/boards/nrf54l15dk_nrf54l15_cpuapp.overlay b/samples/drivers/adc/adc_sequence/boards/nrf54l15dk_nrf54l15_cpuapp.overlay index a0639a405c4..7fedbe52ad2 100644 --- a/samples/drivers/adc/adc_sequence/boards/nrf54l15dk_nrf54l15_cpuapp.overlay +++ b/samples/drivers/adc/adc_sequence/boards/nrf54l15dk_nrf54l15_cpuapp.overlay @@ -6,7 +6,7 @@ / { zephyr,user { - io-channels = <&adc 0>, <&adc 1>, <&adc 7>; + io-channels = <&adc 0>, <&adc 1>, <&adc 2>, <&adc 7>; }; }; @@ -39,6 +39,16 @@ zephyr,oversampling = <8>; }; + channel@2 { + reg = <2>; + zephyr,gain = "ADC_GAIN_1"; + zephyr,reference = "ADC_REF_INTERNAL"; + zephyr,acquisition-time = ; + zephyr,input-positive = ; /* 0.9 V internal */ + zephyr,resolution = <12>; + zephyr,oversampling = <8>; + }; + channel@7 { reg = <7>; zephyr,gain = "ADC_GAIN_1"; diff --git a/soc/nordic/nrf54l/Kconfig b/soc/nordic/nrf54l/Kconfig index 24d860ee2b5..8c670b9355e 100644 --- a/soc/nordic/nrf54l/Kconfig +++ b/soc/nordic/nrf54l/Kconfig @@ -87,9 +87,6 @@ config SOC_NRF_FORCE_CONSTLAT of base resources on while in sleep. The advantage of having a constant and predictable latency will be at the cost of having increased power consumption. -config SOC_NRF54L_NORMAL_VOLTAGE_MODE - bool "NRF54L Normal Voltage Mode." - if NRF_GRTC_TIMER config ELV_GRTC_LFXO_ALLOWED diff --git a/soc/nordic/nrf54l/soc.c b/soc/nordic/nrf54l/soc.c index eaa1531bde4..56e48800ed4 100644 --- a/soc/nordic/nrf54l/soc.c +++ b/soc/nordic/nrf54l/soc.c @@ -157,10 +157,6 @@ static inline void power_and_clock_configuration(void) nrf_regulators_vreg_enable_set(NRF_REGULATORS, NRF_REGULATORS_VREG_MAIN, true); #endif - if (IS_ENABLED(CONFIG_SOC_NRF54L_NORMAL_VOLTAGE_MODE)) { - nrf_regulators_vreg_enable_set(NRF_REGULATORS, NRF_REGULATORS_VREG_MEDIUM, false); - } - #if defined(CONFIG_ELV_GRTC_LFXO_ALLOWED) nrf_regulators_elv_mode_allow_set(NRF_REGULATORS, NRF_REGULATORS_ELV_ELVGRTCLFXO_MASK); #endif /* CONFIG_ELV_GRTC_LFXO_ALLOWED */ diff --git a/tests/drivers/retained_mem/api/boards/nrf54h20dk_nrf54h20_cpuapp.conf b/tests/drivers/retained_mem/api/boards/nrf54h20dk_nrf54h20_cpuapp.conf new file mode 100644 index 00000000000..c15ba3ed96d --- /dev/null +++ b/tests/drivers/retained_mem/api/boards/nrf54h20dk_nrf54h20_cpuapp.conf @@ -0,0 +1 @@ +CONFIG_POWEROFF=y diff --git a/tests/drivers/retained_mem/api/boards/nrf54h20dk_nrf54h20_cpuapp.overlay b/tests/drivers/retained_mem/api/boards/nrf54h20dk_nrf54h20_cpuapp.overlay new file mode 100644 index 00000000000..672a49379e7 --- /dev/null +++ b/tests/drivers/retained_mem/api/boards/nrf54h20dk_nrf54h20_cpuapp.overlay @@ -0,0 +1,22 @@ +/ { + cpuapp_ram0_ret@22004000 { + compatible = "zephyr,memory-region", "mmio-sram"; + reg = <0x22004000 DT_SIZE_K(16)>; + zephyr,memory-region = "RetainedMem"; + status = "okay"; + + retainedmem0: retainedmem { + compatible = "zephyr,retained-ram"; + status = "okay"; + }; + }; + + aliases { + retainedmemtestdevice = &retainedmem0; + }; +}; + +&cpuapp_ram0 { + reg = <0x22000000 DT_SIZE_K(16)>; + ranges = <0x0 0x22000000 0x4000>; +}; diff --git a/tests/drivers/retained_mem/api/boards/nrf54h20dk_nrf54h20_cpurad.conf b/tests/drivers/retained_mem/api/boards/nrf54h20dk_nrf54h20_cpurad.conf new file mode 100644 index 00000000000..c15ba3ed96d --- /dev/null +++ b/tests/drivers/retained_mem/api/boards/nrf54h20dk_nrf54h20_cpurad.conf @@ -0,0 +1 @@ +CONFIG_POWEROFF=y diff --git a/tests/drivers/retained_mem/api/boards/nrf54h20dk_nrf54h20_cpurad.overlay b/tests/drivers/retained_mem/api/boards/nrf54h20dk_nrf54h20_cpurad.overlay new file mode 100644 index 00000000000..c824df8b74e --- /dev/null +++ b/tests/drivers/retained_mem/api/boards/nrf54h20dk_nrf54h20_cpurad.overlay @@ -0,0 +1,22 @@ +/ { + cpurad_ram0_ret@2302c000 { + compatible = "zephyr,memory-region", "mmio-sram"; + reg = <0x2302c000 DT_SIZE_K(16)>; + zephyr,memory-region = "RetainedMem"; + status = "okay"; + + retainedmem0: retainedmem { + compatible = "zephyr,retained-ram"; + status = "okay"; + }; + }; + + aliases { + retainedmemtestdevice = &retainedmem0; + }; +}; + +&cpurad_ram0 { + reg = <0x23000000 DT_SIZE_K(176)>; + ranges = <0x0 0x23000000 0x2c000>; +}; diff --git a/tests/drivers/retained_mem/api/boards/nrf54l15dk_nrf54l15_cpuapp.conf b/tests/drivers/retained_mem/api/boards/nrf54l15dk_nrf54l15_cpuapp.conf new file mode 100644 index 00000000000..c15ba3ed96d --- /dev/null +++ b/tests/drivers/retained_mem/api/boards/nrf54l15dk_nrf54l15_cpuapp.conf @@ -0,0 +1 @@ +CONFIG_POWEROFF=y diff --git a/tests/drivers/retained_mem/api/testcase.yaml b/tests/drivers/retained_mem/api/testcase.yaml index 2979607296c..02f7c7c8b27 100644 --- a/tests/drivers/retained_mem/api/testcase.yaml +++ b/tests/drivers/retained_mem/api/testcase.yaml @@ -5,7 +5,11 @@ tests: - drivers - retained_mem drivers.retained_mem.api.ram: - platform_allow: qemu_cortex_m3 nrf54l15dk/nrf54l15/cpuapp + platform_allow: + - qemu_cortex_m3 + - nrf54h20dk/nrf54h20/cpuapp + - nrf54h20dk/nrf54h20/cpurad + - nrf54l15dk/nrf54l15/cpuapp tags: - drivers - retained_mem