Skip to content

Commit 8f72435

Browse files
nordic-babunordicjm
authored andcommitted
tests: benchmarks: Run idle_adc tests on nrf54h ppr.
Adapt idle_adc test to be run on nrf54h20 cpuppr target. Signed-off-by: Bartlomiej Buczek <[email protected]>
1 parent a45a698 commit 8f72435

File tree

8 files changed

+151
-0
lines changed

8 files changed

+151
-0
lines changed

tests/benchmarks/multicore/idle_adc/CMakeLists.txt

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,3 +17,8 @@ endif()
1717
project(idle_adc)
1818

1919
target_sources(app PRIVATE src/main.c)
20+
21+
if(CONFIG_SOC_NRF54H20_CPUPPR)
22+
message(DEBUG "Power Mode handler for RISC V is included.")
23+
target_sources(app PRIVATE ${ZEPHYR_NRF_MODULE_DIR}/tests/benchmarks/multicore/common/power_off.c)
24+
endif()
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
#
2+
# Copyright (c) 2025 Nordic Semiconductor ASA
3+
#
4+
# SPDX-License-Identifier: LicenseRef-Nordic-5-Clause
5+
#
6+
config SOC_NRF54H20_CPUPPR
7+
select HAS_PM
8+
select HAS_POWEROFF
9+
10+
source "Kconfig.zephyr"

tests/benchmarks/multicore/idle_adc/Kconfig.sysbuild

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,3 +19,9 @@ config NETCORE_IMAGE_NAME
1919

2020
config NETCORE_IMAGE_PATH
2121
default "${ZEPHYR_NRF_MODULE_DIR}/tests/benchmarks/power_consumption/common/remote_sleep_forever" if NETCORE_REMOTE_SLEEP_FOREVER
22+
23+
config SUPPORT_NETCORE
24+
default y if (SOC_NRF54H20_CPUPPR || SOC_NRF54H20_CPUAPP)
25+
26+
config NETCORE_REMOTE_BOARD_TARGET_CPUCLUSTER
27+
default "cpurad" if (SOC_NRF54H20_CPUPPR || SOC_NRF54H20_CPUAPP)
Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
CONFIG_NCS_BOOT_BANNER=n
2+
CONFIG_EARLY_CONSOLE=n
Lines changed: 78 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,78 @@
1+
/*
2+
* Copyright (c) 2025 Nordic Semiconductor ASA
3+
*
4+
* SPDX-License-Identifier: LicenseRef-Nordic-5-Clause
5+
*/
6+
7+
/* Required GPIO loopback: P1.02 - P1.03 */
8+
/ {
9+
aliases {
10+
adc0 = &adc;
11+
sw = &loopback;
12+
led = &led0;
13+
};
14+
15+
buttons {
16+
compatible = "gpio-keys";
17+
18+
loopback: loopback {
19+
gpios = <&gpio1 3 GPIO_ACTIVE_HIGH>;
20+
};
21+
};
22+
23+
leds {
24+
compatible = "gpio-leds";
25+
26+
led0: led_0 {
27+
gpios = < &gpio9 0x0 0x0 >;
28+
};
29+
};
30+
31+
cpus {
32+
power-states {
33+
wait: wait {
34+
compatible = "zephyr,power-state";
35+
power-state-name = "standby";
36+
substate-id = <0>;
37+
min-residency-us = <20000>;
38+
};
39+
40+
hibernate: hibernate {
41+
compatible = "zephyr,power-state";
42+
power-state-name = "suspend-to-ram";
43+
substate-id = <0>;
44+
min-residency-us = <400000>;
45+
};
46+
};
47+
};
48+
};
49+
50+
&adc {
51+
#address-cells = <1>;
52+
#size-cells = <0>;
53+
status = "okay";
54+
55+
channel@0 {
56+
reg = <0>;
57+
zephyr,gain = "ADC_GAIN_1";
58+
zephyr,reference = "ADC_REF_INTERNAL";
59+
zephyr,acquisition-time = <ADC_ACQ_TIME_DEFAULT>;
60+
zephyr,input-positive = <NRF_SAADC_AIN2>;
61+
};
62+
};
63+
64+
&cpu {
65+
cpu-power-states = <&wait &hibernate>;
66+
};
67+
68+
&gpio1 {
69+
status = "okay";
70+
};
71+
72+
&gpio9 {
73+
status = "okay";
74+
};
75+
76+
&gpiote130 {
77+
status = "okay";
78+
};
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
/*
2+
* Copyright (c) 2025 Nordic Semiconductor ASA
3+
*
4+
* SPDX-License-Identifier: LicenseRef-Nordic-5-Clause
5+
*/
6+
7+
/ {
8+
aliases {
9+
/delete-property/ led0;
10+
/delete-property/ led1;
11+
/delete-property/ mcuboot-led0;
12+
};
13+
};
14+
15+
/delete-node/ &led0;
16+
/delete-node/ &led1;
17+
18+
&adc {
19+
status = "reserved";
20+
interrupt-parent = <&cpuppr_clic>;
21+
};
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
CONFIG_PM=y
2+
CONFIG_PM_DEVICE=y
3+
CONFIG_PM_DEVICE_RUNTIME=y
4+
CONFIG_POWEROFF=y
5+
6+
CONFIG_SOC_NRF54H20_CPURAD_ENABLE=y
7+
8+
CONFIG_BOOT_BANNER=n
9+
CONFIG_NCS_BOOT_BANNER=n
10+
CONFIG_PRINTK=n
11+
CONFIG_LOG=n
12+
CONFIG_CONSOLE=n
13+
CONFIG_UART_CONSOLE=n
14+
CONFIG_SERIAL=n

tests/benchmarks/multicore/idle_adc/testcase.yaml

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,21 @@ tests:
2121
pytest_root:
2222
- "${CUSTOM_ROOT_TEST_DIR}/test_measure_power_consumption.py::test_measure_and_data_dump_power_consumption_adc"
2323

24+
benchmarks.multicore.idle_adc.nrf54h20dk_cpuppr.s2ram:
25+
tags:
26+
- ci_build
27+
- ci_tests_benchmarks_multicore
28+
- ppk_power_measure
29+
harness: pytest
30+
platform_allow:
31+
- nrf54h20dk/nrf54h20/cpuppr
32+
integration_platforms:
33+
- nrf54h20dk/nrf54h20/cpuppr
34+
harness_config:
35+
fixture: gpio_loopback
36+
pytest_root:
37+
- "${CUSTOM_ROOT_TEST_DIR}/test_measure_power_consumption.py::test_measure_and_data_dump_power_consumption_adc_ppr"
38+
2439
benchmarks.multicore.idle_adc.nrf54h20dk_cpuapp_cpurad.s2ram.mcuboot:
2540
tags:
2641
- ci_build

0 commit comments

Comments
 (0)