Skip to content
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

tests: benchmark: multicore: Test PWM with low power modes #17380

Open
wants to merge 2 commits into
base: main
Choose a base branch
from

Conversation

nordic-segl
Copy link
Contributor

Add test that confirms correct operation of PWM
when target enters and leaves low power mode.

@github-actions github-actions bot added doc-required PR must not be merged without tech writer approval. changelog-entry-required Update changelog before merge. Remove label if entry is not needed or already added. labels Sep 18, 2024
@NordicBuilder
Copy link
Contributor

NordicBuilder commented Sep 18, 2024

CI Information

To view the history of this post, clich the 'edited' button above
Build number: 27

Inputs:

Sources:

sdk-nrf: PR head: 8b0954e9a433e03fa7beeb998c6d16a4c6c51cfc
zephyr: PR head: 5145d0aa33ed535eaff98050faca9cf290348af8

more details

sdk-nrf:

PR head: 8b0954e9a433e03fa7beeb998c6d16a4c6c51cfc
merge base: 1a56b7a984c267e9b598e2882fb663b96282ac2b
target head (main): d9bf4fb4e36e9dec123f4043b5580e55053c89b5
Diff

zephyr:

PR head: 5145d0aa33ed535eaff98050faca9cf290348af8
merge base: 4322f5169f4c0f24e3712de061a2fec5a29098a7
target head (main): 4322f5169f4c0f24e3712de061a2fec5a29098a7
Diff

Github labels

Enabled Name Description
ci-disabled Disable the ci execution
ci-all-test Run all of ci, no test spec filtering will be done
ci-force-downstream Force execution of downstream even if twister fails
ci-run-twister Force run twister
ci-run-zephyr-twister Force run zephyr twister
List of changed files detected by CI (21)
CODEOWNERS
tests
│  ├── benchmarks
│  │  ├── multicore
│  │  │  ├── idle
│  │  │  │  ├── boards
│  │  │  │  │  │ nrf54h20dk_nrf54h20_cpuapp_s2ram.overlay
│  │  │  │  │ testcase.yaml
│  │  │  ├── idle_gpio
│  │  │  │  ├── boards
│  │  │  │  │  │ nrf54h20dk_nrf54h20_cpuapp_s2ram.overlay
│  │  │  ├── idle_with_pwm
│  │  │  │  ├── CMakeLists.txt
│  │  │  │  ├── Kconfig
│  │  │  │  ├── Kconfig.sysbuild
│  │  │  │  ├── README.rst
│  │  │  │  ├── prj.conf
│  │  │  │  ├── prj_s2ram.conf
│  │  │  │  ├── remote
│  │  │  │  │  ├── CMakeLists.txt
│  │  │  │  │  ├── Kconfig
│  │  │  │  │  ├── boards
│  │  │  │  │  │  │ nrf54h20dk_nrf54h20_cpurad.overlay
│  │  │  │  │  ├── prj.conf
│  │  │  │  │  │ prj_s2ram.conf
│  │  │  │  ├── src
│  │  │  │  │  │ main.c
│  │  │  │  ├── sysbuild.cmake
│  │  │  │  ├── sysbuild
│  │  │  │  │  │ nrf54h20dk_nrf54h20_cpurad.conf
│  │  │  │  │ testcase.yaml
west.yml
zephyr
│  ├── dts
│  │  ├── common
│  │  │  ├── nordic
│  │  │  │  │ nrf54h20.dtsi

Outputs:

Toolchain

Version: 9583beca34
Build docker image: docker-dtr.nordicsemi.no/sw-production/ncs-build:9583beca34_81ed5a52d6

Test Spec & Results: ✅ Success; ❌ Failure; 🟠 Queued; 🟡 Progress; ◻️ Skipped; ⚠️ Quarantine

  • ◻️ Toolchain - Skipped: existing toolchain is used
  • ✅ Build twister - Skipped: Skipping Build & Test as it succeeded in a previous run: 25
  • ❌ Integration tests
    • ✅ test-fw-nrfconnect-rs - Skipped: Job was skipped as it succeeded in a previous run
    • ✅ test-fw-nrfconnect-fem - Skipped: Job was skipped as it succeeded in a previous run
    • ❌ test-low-level
    • ✅ test-sdk-dfu - Skipped: Job was skipped as it succeeded in a previous run
Disabled integration tests
    • desktop52_verification
    • doc-internal
    • test_ble_nrf_config
    • test-fw-nrfconnect-apps
    • test-fw-nrfconnect-ble_mesh
    • test-fw-nrfconnect-ble_samples
    • test-fw-nrfconnect-boot
    • test-fw-nrfconnect-chip
    • test-fw-nrfconnect-nfc
    • test-fw-nrfconnect-nrf-iot_cloud
    • test-fw-nrfconnect-nrf-iot_libmodem-nrf
    • test-fw-nrfconnect-nrf-iot_lwm2m
    • test-fw-nrfconnect-nrf-iot_mosh
    • test-fw-nrfconnect-nrf-iot_nrf_provisioning
    • test-fw-nrfconnect-nrf-iot_positioning
    • test-fw-nrfconnect-nrf-iot_samples
    • test-fw-nrfconnect-nrf-iot_serial_lte_modem
    • test-fw-nrfconnect-nrf-iot_thingy91
    • test-fw-nrfconnect-nrf-iot_zephyr_lwm2m
    • test-fw-nrfconnect-nrf_crypto
    • test-fw-nrfconnect-proprietary_esb
    • test-fw-nrfconnect-ps
    • test-fw-nrfconnect-rpc
    • test-fw-nrfconnect-tfm
    • test-fw-nrfconnect-thread
    • test-fw-nrfconnect-zigbee
    • test-sdk-audio
    • test-sdk-find-my
    • test-sdk-mcuboot
    • test-sdk-pmic-samples
    • test-sdk-sidewalk
    • test-sdk-wifi

Note: This message is automatically posted and updated by the CI

@nordic-segl
Copy link
Contributor Author

Tested manually without PPK / amperemeter.
Also, Port 0, pin 7 is not confirmed (it's in control of Radio core).

'benchmarks.multicore.idle_with_pwm.nrf54h20dk_cpuapp_cpurad.no_sleep' loops as expected - LED2 lights up, then OFF for ~1 sec, then lights up again, etc.

'benchmarks.multicore.idle_with_pwm.nrf54h20dk_cpuapp_cpurad.s2ram' doesn't work as expected. No PWM signal after entering low power mode - LED2 lights up, then it's OFF forever. It looks like some PWM/GPIO configuration is missing after system restores from low power.

@nordic-segl nordic-segl force-pushed the NRFX-6370_PWM_with_s2ram branch 2 times, most recently from 6605d4d to 01b02c6 Compare September 19, 2024 07:27
@NordicBuilder
Copy link
Contributor

You can find the documentation preview for this PR at this link. It will be updated about 10 minutes after the documentation build succeeds.

Note: This comment is automatically posted by the Documentation Publishing GitHub Action.

@nordic-segl nordic-segl force-pushed the NRFX-6370_PWM_with_s2ram branch 2 times, most recently from 6b4b85b to 83c201d Compare September 19, 2024 09:17
@nordic-segl nordic-segl force-pushed the NRFX-6370_PWM_with_s2ram branch 2 times, most recently from dd59b7a to 4c06f99 Compare September 20, 2024 06:07
@nordic-segl nordic-segl requested a review from a team as a code owner September 20, 2024 06:07
Comment on lines 7 to 21
/ {
power-states {
idle: idle {
compatible = "zephyr,power-state";
power-state-name = "suspend-to-idle";
min-residency-us = <100000>;
};

s2ram: s2ram {
compatible = "zephyr,power-state";
power-state-name = "suspend-to-ram";
min-residency-us = <800000>;
};
};
};
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

power states should be part of soc dts files.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I just checked, power-states are not defined for nrf54h20 at the moment.
I believe that tests in nrf/tests/benchmarks/multicore are more prof-of-concept rather than a final solution.
My task is to confirm that PWM works after leaving low power state.
For now, I prefer to leave it as is.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can you then open a PR adding them to soc dts files?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I prefer not. I don't want to be associated with the PM implementation in nrf54h20 😄

Copy link
Contributor Author

@nordic-segl nordic-segl Sep 27, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@nordic-segl nordic-segl force-pushed the NRFX-6370_PWM_with_s2ram branch 9 times, most recently from 6bf427f to 3f58b82 Compare September 24, 2024 06:26
@NordicBuilder
Copy link
Contributor

NordicBuilder commented Sep 27, 2024

The following west manifest projects have been modified in this Pull Request:

Name Old Revision New Revision Diff
zephyr nrfconnect/sdk-zephyr@4322f51 (main) nrfconnect/sdk-zephyr#2052 nrfconnect/sdk-zephyr#2052/files

Note: This message is automatically posted and updated by the Manifest GitHub Action.

Add test that confirms correct operation of PWM
when target enters and leaves low power mode.

Signed-off-by: Sebastian Głąb <sebastian.glab@nordicsemi.no>
Instead of defining power states per test, add power states
to the nrf54h20/cpuapp target definition.

Remove power states from tests overlays to prevent
build failures due to duplicated node definitions.

Signed-off-by: Sebastian Głąb <sebastian.glab@nordicsemi.no>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
changelog-entry-required Update changelog before merge. Remove label if entry is not needed or already added. DNM doc-required PR must not be merged without tech writer approval. manifest manifest-zephyr
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants