diff options
| author | Dion Dokter <[email protected]> | 2025-10-29 09:53:19 +0100 |
|---|---|---|
| committer | Dion Dokter <[email protected]> | 2025-10-29 09:53:19 +0100 |
| commit | 2b3c94f26452c8aa1c6f53b9657b3e636673820c (patch) | |
| tree | 35f4bef5bb0a03b2ee544bbfb115b536d304c95a | |
| parent | a0d7c087a2bd4a370d24097e022a812f7119dd78 (diff) | |
[nRF] Add delay in uart anomaly fix
| -rw-r--r-- | embassy-nrf/CHANGELOG.md | 1 | ||||
| -rw-r--r-- | embassy-nrf/src/uarte.rs | 8 |
2 files changed, 9 insertions, 0 deletions
diff --git a/embassy-nrf/CHANGELOG.md b/embassy-nrf/CHANGELOG.md index 94a5f4e4a..361e5ce57 100644 --- a/embassy-nrf/CHANGELOG.md +++ b/embassy-nrf/CHANGELOG.md | |||
| @@ -20,6 +20,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 | |||
| 20 | - changed: updated to nrf-pac with nrf52/nrf53/nrf91 register layout more similar to nrf54 | 20 | - changed: updated to nrf-pac with nrf52/nrf53/nrf91 register layout more similar to nrf54 |
| 21 | - added: support for nrf54l peripherals: uart, gpiote, twim, twis, spim, spis, dppi, pwm, saadc | 21 | - added: support for nrf54l peripherals: uart, gpiote, twim, twis, spim, spis, dppi, pwm, saadc |
| 22 | - bugfix: Do not write to UICR from non-secure code on nrf53 | 22 | - bugfix: Do not write to UICR from non-secure code on nrf53 |
| 23 | - bugfix: Add delay to uart init anomaly fix | ||
| 23 | 24 | ||
| 24 | ## 0.8.0 - 2025-09-30 | 25 | ## 0.8.0 - 2025-09-30 |
| 25 | 26 | ||
diff --git a/embassy-nrf/src/uarte.rs b/embassy-nrf/src/uarte.rs index bf3b73f58..049830aed 100644 --- a/embassy-nrf/src/uarte.rs +++ b/embassy-nrf/src/uarte.rs | |||
| @@ -976,6 +976,14 @@ pub(crate) fn apply_workaround_for_enable_anomaly(r: pac::uarte::Uarte) { | |||
| 976 | break; | 976 | break; |
| 977 | } else { | 977 | } else { |
| 978 | // Need to sleep for 1us here | 978 | // Need to sleep for 1us here |
| 979 | |||
| 980 | // Get the worst case clock speed | ||
| 981 | #[cfg(feature = "_nrf9160")] | ||
| 982 | const CLOCK_SPEED: u32 = 64_000_000; | ||
| 983 | #[cfg(feature = "_nrf5340")] | ||
| 984 | const CLOCK_SPEED: u32 = 128_000_000; | ||
| 985 | |||
| 986 | cortex_m::asm::delay(CLOCK_SPEED / 1_000_000); | ||
| 979 | } | 987 | } |
| 980 | } | 988 | } |
| 981 | 989 | ||
