From ed1cd0e0d1d2d47b5bfb3f0f40071a456a53dd8c Mon Sep 17 00:00:00 2001 From: Bartlomiej Buczek Date: Wed, 8 Oct 2025 09:02:06 +0200 Subject: [PATCH 1/4] [nrf fromlist] boards: nordic: nrf54h20: Add adc to supported features Enable twister tests execution on nrf54h20dk/nrf54h20/cpuppr target. Upstream PR #: 97165 Signed-off-by: Bartlomiej Buczek --- boards/nordic/nrf54h20dk/nrf54h20dk_nrf54h20_cpuppr_0_9_0.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/boards/nordic/nrf54h20dk/nrf54h20dk_nrf54h20_cpuppr_0_9_0.yaml b/boards/nordic/nrf54h20dk/nrf54h20dk_nrf54h20_cpuppr_0_9_0.yaml index 60f22350504..87fe8c68ba9 100644 --- a/boards/nordic/nrf54h20dk/nrf54h20dk_nrf54h20_cpuppr_0_9_0.yaml +++ b/boards/nordic/nrf54h20dk/nrf54h20dk_nrf54h20_cpuppr_0_9_0.yaml @@ -11,6 +11,7 @@ sysbuild: true ram: 62 flash: 62 supported: + - adc - counter - gpio - i2c From 2b2043f2c7b40697a408e57f2e092e4350a86c76 Mon Sep 17 00:00:00 2001 From: Bartlomiej Buczek Date: Tue, 7 Oct 2025 13:45:54 +0200 Subject: [PATCH 2/4] [nrf fromlist] tests: drivers: adc: Enable tests for nrf54h20 PPR. Fill in necessary config files with test data. Upstream PR #: 97109 Signed-off-by: Bartlomiej Buczek --- tests/drivers/adc/adc_accuracy_test/testcase.yaml | 1 + .../boards/nrf54h20dk_nrf54h20_common.dtsi | 11 +++++++++++ .../boards/nrf54h20dk_nrf54h20_cpuapp.overlay | 8 ++------ .../boards/nrf54h20dk_nrf54h20_cpuppr.overlay | 11 +++++++++++ tests/drivers/adc/adc_error_cases/testcase.yaml | 1 + 5 files changed, 26 insertions(+), 6 deletions(-) create mode 100644 tests/drivers/adc/adc_error_cases/boards/nrf54h20dk_nrf54h20_common.dtsi create mode 100644 tests/drivers/adc/adc_error_cases/boards/nrf54h20dk_nrf54h20_cpuppr.overlay diff --git a/tests/drivers/adc/adc_accuracy_test/testcase.yaml b/tests/drivers/adc/adc_accuracy_test/testcase.yaml index 03f122f9cda..1f2f7c0fcfe 100644 --- a/tests/drivers/adc/adc_accuracy_test/testcase.yaml +++ b/tests/drivers/adc/adc_accuracy_test/testcase.yaml @@ -22,6 +22,7 @@ tests: - frdm_mcxc444 - nrf52840dk/nrf52840 - nrf54h20dk/nrf54h20/cpuapp + - nrf54h20dk/nrf54h20/cpuppr - nrf54l15dk/nrf54l15/cpuapp - nrf54lm20dk/nrf54lm20a/cpuapp - ophelia4ev/nrf54l15/cpuapp diff --git a/tests/drivers/adc/adc_error_cases/boards/nrf54h20dk_nrf54h20_common.dtsi b/tests/drivers/adc/adc_error_cases/boards/nrf54h20dk_nrf54h20_common.dtsi new file mode 100644 index 00000000000..bb3597397b9 --- /dev/null +++ b/tests/drivers/adc/adc_error_cases/boards/nrf54h20dk_nrf54h20_common.dtsi @@ -0,0 +1,11 @@ +/* + * SPDX-License-Identifier: Apache-2.0 + * + * Copyright (c) 2025 Nordic Semiconductor ASA + */ + +/ { + aliases { + adc = &adc; + }; +}; diff --git a/tests/drivers/adc/adc_error_cases/boards/nrf54h20dk_nrf54h20_cpuapp.overlay b/tests/drivers/adc/adc_error_cases/boards/nrf54h20dk_nrf54h20_cpuapp.overlay index 18e74f72ee2..efc3d8f64b4 100644 --- a/tests/drivers/adc/adc_error_cases/boards/nrf54h20dk_nrf54h20_cpuapp.overlay +++ b/tests/drivers/adc/adc_error_cases/boards/nrf54h20dk_nrf54h20_cpuapp.overlay @@ -1,11 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright (c) 2024 Nordic Semiconductor ASA + * Copyright (c) 2025 Nordic Semiconductor ASA */ -/ { - aliases { - adc = &adc; - }; -}; +#include "nrf54h20dk_nrf54h20_common.dtsi" diff --git a/tests/drivers/adc/adc_error_cases/boards/nrf54h20dk_nrf54h20_cpuppr.overlay b/tests/drivers/adc/adc_error_cases/boards/nrf54h20dk_nrf54h20_cpuppr.overlay new file mode 100644 index 00000000000..bcd359c3aa2 --- /dev/null +++ b/tests/drivers/adc/adc_error_cases/boards/nrf54h20dk_nrf54h20_cpuppr.overlay @@ -0,0 +1,11 @@ +/* + * SPDX-License-Identifier: Apache-2.0 + * + * Copyright (c) 2025 Nordic Semiconductor ASA + */ + +#include "nrf54h20dk_nrf54h20_common.dtsi" + +&adc { + status = "okay"; +}; diff --git a/tests/drivers/adc/adc_error_cases/testcase.yaml b/tests/drivers/adc/adc_error_cases/testcase.yaml index 57513c78e15..739efb73563 100644 --- a/tests/drivers/adc/adc_error_cases/testcase.yaml +++ b/tests/drivers/adc/adc_error_cases/testcase.yaml @@ -11,6 +11,7 @@ tests: - nrf54l15dk/nrf54l15/cpuapp - nrf54lm20dk/nrf54lm20a/cpuapp - nrf54h20dk/nrf54h20/cpuapp + - nrf54h20dk/nrf54h20/cpuppr - ophelia4ev/nrf54l15/cpuapp - xg24_rb4187c - xg27_dk2602a From 8e5f7859615c0c05a00e2efe0c6f47cc4a569c29 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C5=82=20Bainczyk?= Date: Tue, 7 Oct 2025 13:29:54 +0200 Subject: [PATCH 3/4] [nrf fromlist] drivers: nrf: Add missing SoC header includes to adc and i2s MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Add missing SoC header include required by memory region assertion to adc_nrfx_saadc and i2s_nrf_tdm shims. Upstream PR #: 97104 Signed-off-by: MichaƂ Bainczyk --- drivers/adc/adc_nrfx_saadc.c | 1 + drivers/i2s/i2s_nrf_tdm.c | 1 + 2 files changed, 2 insertions(+) diff --git a/drivers/adc/adc_nrfx_saadc.c b/drivers/adc/adc_nrfx_saadc.c index 06035e2c3c5..b92b5ccfe6b 100644 --- a/drivers/adc/adc_nrfx_saadc.c +++ b/drivers/adc/adc_nrfx_saadc.c @@ -13,6 +13,7 @@ #include #include #include +#include LOG_MODULE_REGISTER(adc_nrfx_saadc, CONFIG_ADC_LOG_LEVEL); diff --git a/drivers/i2s/i2s_nrf_tdm.c b/drivers/i2s/i2s_nrf_tdm.c index 45e5b3d1804..fc823ce5055 100644 --- a/drivers/i2s/i2s_nrf_tdm.c +++ b/drivers/i2s/i2s_nrf_tdm.c @@ -16,6 +16,7 @@ #include #include #include +#include #include LOG_MODULE_REGISTER(tdm_nrf, CONFIG_I2S_LOG_LEVEL); From b4503f7b9a74b8f287891a87f5233915c9ea0c5a Mon Sep 17 00:00:00 2001 From: Bartlomiej Buczek Date: Tue, 7 Oct 2025 14:19:48 +0200 Subject: [PATCH 4/4] [nrf fromlist] samples: drivers: adc: Enable samples for nrf54h20 PPR. Fill in necessary config files with platforms data. Upstream PR #: 97110 Signed-off-by: Bartlomiej Buczek --- samples/drivers/adc/adc_dt/sample.yaml | 1 + .../boards/nrf54h20dk_nrf54h20_common.dtsi | 50 +++++++++++++++++++ .../boards/nrf54h20dk_nrf54h20_cpuapp.overlay | 45 +---------------- .../boards/nrf54h20dk_nrf54h20_cpuppr.overlay | 11 ++++ samples/drivers/adc/adc_sequence/sample.yaml | 2 + .../boards/nrf54h20dk_nrf54h20_cpuapp.overlay | 11 ++++ .../sysbuild/vpr_launcher/prj.conf | 1 + 7 files changed, 77 insertions(+), 44 deletions(-) create mode 100644 samples/drivers/adc/adc_sequence/boards/nrf54h20dk_nrf54h20_common.dtsi create mode 100644 samples/drivers/adc/adc_sequence/boards/nrf54h20dk_nrf54h20_cpuppr.overlay create mode 100644 samples/drivers/adc/adc_sequence/sysbuild/vpr_launcher/boards/nrf54h20dk_nrf54h20_cpuapp.overlay create mode 100644 samples/drivers/adc/adc_sequence/sysbuild/vpr_launcher/prj.conf diff --git a/samples/drivers/adc/adc_dt/sample.yaml b/samples/drivers/adc/adc_dt/sample.yaml index b6eaa02cf14..d6842d47f98 100644 --- a/samples/drivers/adc/adc_dt/sample.yaml +++ b/samples/drivers/adc/adc_dt/sample.yaml @@ -16,6 +16,7 @@ tests: - nrf51dk/nrf51822 - nrf52840dk/nrf52840 - nrf54h20dk/nrf54h20/cpuapp + - nrf54h20dk/nrf54h20/cpuppr - nrf54l15dk/nrf54l15/cpuapp - nrf54lm20dk/nrf54lm20a/cpuapp - ophelia4ev/nrf54l15/cpuapp diff --git a/samples/drivers/adc/adc_sequence/boards/nrf54h20dk_nrf54h20_common.dtsi b/samples/drivers/adc/adc_sequence/boards/nrf54h20dk_nrf54h20_common.dtsi new file mode 100644 index 00000000000..291faa0440d --- /dev/null +++ b/samples/drivers/adc/adc_sequence/boards/nrf54h20dk_nrf54h20_common.dtsi @@ -0,0 +1,50 @@ +/* + * SPDX-License-Identifier: Apache-2.0 + * + * Copyright (c) 2025 Nordic Semiconductor ASA + */ + +/ { + aliases { + adc0 = &adc; + }; +}; + +&adc { + #address-cells = <1>; + #size-cells = <0>; + + channel@0 { + reg = <0>; + zephyr,gain = "ADC_GAIN_1_2"; + zephyr,reference = "ADC_REF_INTERNAL"; + zephyr,acquisition-time = ; + zephyr,input-positive = ; /* P1.01 */ + }; + + channel@1 { + reg = <1>; + zephyr,gain = "ADC_GAIN_1_2"; + zephyr,reference = "ADC_REF_INTERNAL"; + zephyr,acquisition-time = ; + zephyr,input-positive = ; /* P1.02 */ + }; + + channel@2 { + reg = <2>; + zephyr,gain = "ADC_GAIN_1_2"; + zephyr,reference = "ADC_REF_INTERNAL"; + zephyr,acquisition-time = ; + zephyr,input-positive = ; /* P9.01 */ + zephyr,vref-mv = <3686>; /* 3.6V * 1024 */ + }; + + channel@7 { + reg = <7>; + zephyr,gain = "ADC_GAIN_1_2"; + zephyr,reference = "ADC_REF_INTERNAL"; + zephyr,acquisition-time = ; + zephyr,input-positive = ; /* P1.03 */ + zephyr,input-negative = ; /* P1.07 */ + }; +}; diff --git a/samples/drivers/adc/adc_sequence/boards/nrf54h20dk_nrf54h20_cpuapp.overlay b/samples/drivers/adc/adc_sequence/boards/nrf54h20dk_nrf54h20_cpuapp.overlay index d4f9e8db7c2..658b19b0ae5 100644 --- a/samples/drivers/adc/adc_sequence/boards/nrf54h20dk_nrf54h20_cpuapp.overlay +++ b/samples/drivers/adc/adc_sequence/boards/nrf54h20dk_nrf54h20_cpuapp.overlay @@ -4,47 +4,4 @@ * Copyright (c) 2024 Nordic Semiconductor ASA */ -/ { - aliases { - adc0 = &adc; - }; -}; - -&adc { - #address-cells = <1>; - #size-cells = <0>; - - channel@0 { - reg = <0>; - zephyr,gain = "ADC_GAIN_1_2"; - zephyr,reference = "ADC_REF_INTERNAL"; - zephyr,acquisition-time = ; - zephyr,input-positive = ; /* P1.01 */ - }; - - channel@1 { - reg = <1>; - zephyr,gain = "ADC_GAIN_1_2"; - zephyr,reference = "ADC_REF_INTERNAL"; - zephyr,acquisition-time = ; - zephyr,input-positive = ; /* P1.02 */ - }; - - channel@2 { - reg = <2>; - zephyr,gain = "ADC_GAIN_1_2"; - zephyr,reference = "ADC_REF_INTERNAL"; - zephyr,acquisition-time = ; - zephyr,input-positive = ; /* P9.01 */ - zephyr,vref-mv = <3686>; /* 3.6V * 1024 */ - }; - - channel@7 { - reg = <7>; - zephyr,gain = "ADC_GAIN_1_2"; - zephyr,reference = "ADC_REF_INTERNAL"; - zephyr,acquisition-time = ; - zephyr,input-positive = ; /* P1.03 */ - zephyr,input-negative = ; /* P1.07 */ - }; -}; +#include "nrf54h20dk_nrf54h20_common.dtsi" diff --git a/samples/drivers/adc/adc_sequence/boards/nrf54h20dk_nrf54h20_cpuppr.overlay b/samples/drivers/adc/adc_sequence/boards/nrf54h20dk_nrf54h20_cpuppr.overlay new file mode 100644 index 00000000000..bcd359c3aa2 --- /dev/null +++ b/samples/drivers/adc/adc_sequence/boards/nrf54h20dk_nrf54h20_cpuppr.overlay @@ -0,0 +1,11 @@ +/* + * SPDX-License-Identifier: Apache-2.0 + * + * Copyright (c) 2025 Nordic Semiconductor ASA + */ + +#include "nrf54h20dk_nrf54h20_common.dtsi" + +&adc { + status = "okay"; +}; diff --git a/samples/drivers/adc/adc_sequence/sample.yaml b/samples/drivers/adc/adc_sequence/sample.yaml index d176e2593d4..6927bcdf88d 100644 --- a/samples/drivers/adc/adc_sequence/sample.yaml +++ b/samples/drivers/adc/adc_sequence/sample.yaml @@ -19,6 +19,7 @@ tests: - cy8cproto_062_4343w - nrf52840dk/nrf52840 - nrf54h20dk/nrf54h20/cpuapp + - nrf54h20dk/nrf54h20/cpuppr - nrf54l15dk/nrf54l15/cpuapp - nrf54lm20dk/nrf54lm20a/cpuapp - ophelia4ev/nrf54l15/cpuapp @@ -32,6 +33,7 @@ tests: sample.drivers.adc.adc_sequence.8bit: platform_allow: - nrf54h20dk/nrf54h20/cpuapp + - nrf54h20dk/nrf54h20/cpuppr - nrf54l15dk/nrf54l15/cpuapp - nrf54lm20dk/nrf54lm20a/cpuapp integration_platforms: diff --git a/samples/drivers/adc/adc_sequence/sysbuild/vpr_launcher/boards/nrf54h20dk_nrf54h20_cpuapp.overlay b/samples/drivers/adc/adc_sequence/sysbuild/vpr_launcher/boards/nrf54h20dk_nrf54h20_cpuapp.overlay new file mode 100644 index 00000000000..2570d64e2eb --- /dev/null +++ b/samples/drivers/adc/adc_sequence/sysbuild/vpr_launcher/boards/nrf54h20dk_nrf54h20_cpuapp.overlay @@ -0,0 +1,11 @@ +/* + * Copyright (c) 2025 Nordic Semiconductor ASA + * + * SPDX-License-Identifier: Apache-2.0 + */ +#include "../../../boards/nrf54h20dk_nrf54h20_common.dtsi" + +&adc { + status = "reserved"; + interrupt-parent = <&cpuppr_clic>; +}; diff --git a/samples/drivers/adc/adc_sequence/sysbuild/vpr_launcher/prj.conf b/samples/drivers/adc/adc_sequence/sysbuild/vpr_launcher/prj.conf new file mode 100644 index 00000000000..b2a4ba59104 --- /dev/null +++ b/samples/drivers/adc/adc_sequence/sysbuild/vpr_launcher/prj.conf @@ -0,0 +1 @@ +# nothing here