aboutsummaryrefslogtreecommitdiff
path: root/embassy-nrf
diff options
context:
space:
mode:
authorDario Nieuwenhuis <[email protected]>2025-12-18 16:42:14 +0000
committerGitHub <[email protected]>2025-12-18 16:42:14 +0000
commitb494f2819c32c1b0e6884af8a259c314af2ec2de (patch)
treecf91efd55a219960b6a266608030d3431653b81d /embassy-nrf
parentc3b5b1243f9ac80c85dc2fd1f88788a60baafd2f (diff)
parent01d8543bc71d003b6f3aad50d17ff4fd0fa7461a (diff)
Merge pull request #5104 from embassy-rs/nrf54-now-init
fix: avoid hang if calling now() before syscounter is enabled
Diffstat (limited to 'embassy-nrf')
-rw-r--r--embassy-nrf/CHANGELOG.md2
-rw-r--r--embassy-nrf/src/time_driver.rs4
2 files changed, 6 insertions, 0 deletions
diff --git a/embassy-nrf/CHANGELOG.md b/embassy-nrf/CHANGELOG.md
index 0d7bfb5f0..921835417 100644
--- a/embassy-nrf/CHANGELOG.md
+++ b/embassy-nrf/CHANGELOG.md
@@ -8,6 +8,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
8<!-- next-header --> 8<!-- next-header -->
9## Unreleased - ReleaseDate 9## Unreleased - ReleaseDate
10 10
11- bugfix: avoid hang if calling now() before syscounter is enabled on nrf54
12
11## 0.9.0 - 2025-12-15 13## 0.9.0 - 2025-12-15
12 14
13- changed: apply trimming values from FICR.TRIMCNF on nrf53/54l 15- changed: apply trimming values from FICR.TRIMCNF on nrf53/54l
diff --git a/embassy-nrf/src/time_driver.rs b/embassy-nrf/src/time_driver.rs
index 35f65bd64..21d94cc30 100644
--- a/embassy-nrf/src/time_driver.rs
+++ b/embassy-nrf/src/time_driver.rs
@@ -79,6 +79,10 @@ fn calc_now(period: u32, counter: u32) -> u64 {
79#[cfg(feature = "_grtc")] 79#[cfg(feature = "_grtc")]
80fn syscounter() -> u64 { 80fn syscounter() -> u64 {
81 let r = rtc(); 81 let r = rtc();
82 if !r.mode().read().syscounteren() {
83 return 0;
84 }
85
82 r.syscounter(0).active().write(|w| w.set_active(true)); 86 r.syscounter(0).active().write(|w| w.set_active(true));
83 loop { 87 loop {
84 let countl: u32 = r.syscounter(0).syscounterl().read(); 88 let countl: u32 = r.syscounter(0).syscounterl().read();