diff --git a/nrf_802154/doc/CHANGELOG.rst b/nrf_802154/doc/CHANGELOG.rst index f68045f5b9..3709214002 100644 --- a/nrf_802154/doc/CHANGELOG.rst +++ b/nrf_802154/doc/CHANGELOG.rst @@ -10,6 +10,10 @@ Changelog All notable changes to this project are documented in this file. See also :ref:`nrf_802154_limitations` for permanent limitations. +Main branch - nRF 802.15.4 Radio Driver +*************************************** + + nRF Connect SDK v2.8.0 - nRF 802.15.4 Radio Driver ************************************************** diff --git a/nrf_802154/driver/src/nrf_802154_trx.c b/nrf_802154/driver/src/nrf_802154_trx.c index 6146082e84..3e3113286d 100644 --- a/nrf_802154/driver/src/nrf_802154_trx.c +++ b/nrf_802154/driver/src/nrf_802154_trx.c @@ -176,6 +176,13 @@ extern uint32_t SystemCoreClock; #endif +#if defined(NRF54L_SERIES) +/// Flag that informs if the disable operation had to be repeated forcefully since the last trx enable. +static volatile bool g_nrf_802154_trx_disable_repeat_was_needed; +/// Increments whenever repeating disable operation forcefully happens. +static uint16_t g_nrf_802154_trx_disable_repeat_counter; +#endif + /// Common parameters for the FEM handling. static const mpsl_fem_event_t m_activate_rx_cc0 = { @@ -376,6 +383,10 @@ static inline void wait_until_radio_is_disabled(void) bool radio_is_disabled = false; bool repeat = false; +#if defined(NRF54L_SERIES) + g_nrf_802154_trx_disable_repeat_was_needed = false; +#endif + do { /* RADIO should enter DISABLED state after no longer than RX ramp-down time or TX ramp-down @@ -412,6 +423,8 @@ static inline void wait_until_radio_is_disabled(void) */ radio_force_disable(); repeat = true; + g_nrf_802154_trx_disable_repeat_was_needed = true; + g_nrf_802154_trx_disable_repeat_counter++; } else { @@ -882,6 +895,10 @@ void nrf_802154_trx_enable(void) NRF_802154_ASSERT(m_trx_state == TRX_STATE_DISABLED); +#if defined(NRF54L_SERIES) + g_nrf_802154_trx_disable_repeat_was_needed = false; +#endif + nrf_timer_init(); nrf_radio_reset(); diff --git a/nrf_802154/sl/sl/lib/nrf52833/hard-float/libnrf-802154-sl.a b/nrf_802154/sl/sl/lib/nrf52833/hard-float/libnrf-802154-sl.a index 6b4fdf4b7a..f47d68d846 100644 Binary files a/nrf_802154/sl/sl/lib/nrf52833/hard-float/libnrf-802154-sl.a and b/nrf_802154/sl/sl/lib/nrf52833/hard-float/libnrf-802154-sl.a differ diff --git a/nrf_802154/sl/sl/lib/nrf52833/soft-float/libnrf-802154-sl.a b/nrf_802154/sl/sl/lib/nrf52833/soft-float/libnrf-802154-sl.a index 631f8f8443..c53237e906 100644 Binary files a/nrf_802154/sl/sl/lib/nrf52833/soft-float/libnrf-802154-sl.a and b/nrf_802154/sl/sl/lib/nrf52833/soft-float/libnrf-802154-sl.a differ diff --git a/nrf_802154/sl/sl/lib/nrf52833/softfp-float/libnrf-802154-sl.a b/nrf_802154/sl/sl/lib/nrf52833/softfp-float/libnrf-802154-sl.a index 19191d3c21..05a289bb8d 100644 Binary files a/nrf_802154/sl/sl/lib/nrf52833/softfp-float/libnrf-802154-sl.a and b/nrf_802154/sl/sl/lib/nrf52833/softfp-float/libnrf-802154-sl.a differ diff --git a/nrf_802154/sl/sl/lib/nrf52840/hard-float/libnrf-802154-sl.a b/nrf_802154/sl/sl/lib/nrf52840/hard-float/libnrf-802154-sl.a index 6b4fdf4b7a..f47d68d846 100644 Binary files a/nrf_802154/sl/sl/lib/nrf52840/hard-float/libnrf-802154-sl.a and b/nrf_802154/sl/sl/lib/nrf52840/hard-float/libnrf-802154-sl.a differ diff --git a/nrf_802154/sl/sl/lib/nrf52840/soft-float/libnrf-802154-sl.a b/nrf_802154/sl/sl/lib/nrf52840/soft-float/libnrf-802154-sl.a index 631f8f8443..c53237e906 100644 Binary files a/nrf_802154/sl/sl/lib/nrf52840/soft-float/libnrf-802154-sl.a and b/nrf_802154/sl/sl/lib/nrf52840/soft-float/libnrf-802154-sl.a differ diff --git a/nrf_802154/sl/sl/lib/nrf52840/softfp-float/libnrf-802154-sl.a b/nrf_802154/sl/sl/lib/nrf52840/softfp-float/libnrf-802154-sl.a index 19191d3c21..05a289bb8d 100644 Binary files a/nrf_802154/sl/sl/lib/nrf52840/softfp-float/libnrf-802154-sl.a and b/nrf_802154/sl/sl/lib/nrf52840/softfp-float/libnrf-802154-sl.a differ diff --git a/nrf_802154/sl/sl/lib/nrf5340_cpunet/soft-float/libnrf-802154-sl.a b/nrf_802154/sl/sl/lib/nrf5340_cpunet/soft-float/libnrf-802154-sl.a index 7e1905712c..c48d675313 100644 Binary files a/nrf_802154/sl/sl/lib/nrf5340_cpunet/soft-float/libnrf-802154-sl.a and b/nrf_802154/sl/sl/lib/nrf5340_cpunet/soft-float/libnrf-802154-sl.a differ diff --git a/nrf_802154/sl/sl/lib/nrf54h20_cpurad/hard-float/libnrf-802154-sl.a b/nrf_802154/sl/sl/lib/nrf54h20_cpurad/hard-float/libnrf-802154-sl.a index b5b8e0f7e7..5f8433559b 100644 Binary files a/nrf_802154/sl/sl/lib/nrf54h20_cpurad/hard-float/libnrf-802154-sl.a and b/nrf_802154/sl/sl/lib/nrf54h20_cpurad/hard-float/libnrf-802154-sl.a differ diff --git a/nrf_802154/sl/sl/lib/nrf54h20_cpurad/soft-float/libnrf-802154-sl.a b/nrf_802154/sl/sl/lib/nrf54h20_cpurad/soft-float/libnrf-802154-sl.a index b5b8e0f7e7..5f8433559b 100644 Binary files a/nrf_802154/sl/sl/lib/nrf54h20_cpurad/soft-float/libnrf-802154-sl.a and b/nrf_802154/sl/sl/lib/nrf54h20_cpurad/soft-float/libnrf-802154-sl.a differ diff --git a/nrf_802154/sl/sl/lib/nrf54h20_cpurad/softfp-float/libnrf-802154-sl.a b/nrf_802154/sl/sl/lib/nrf54h20_cpurad/softfp-float/libnrf-802154-sl.a index b5b8e0f7e7..5f8433559b 100644 Binary files a/nrf_802154/sl/sl/lib/nrf54h20_cpurad/softfp-float/libnrf-802154-sl.a and b/nrf_802154/sl/sl/lib/nrf54h20_cpurad/softfp-float/libnrf-802154-sl.a differ diff --git a/nrf_802154/sl/sl/lib/nrf54l15_cpuapp/hard-float/libnrf-802154-sl.a b/nrf_802154/sl/sl/lib/nrf54l15_cpuapp/hard-float/libnrf-802154-sl.a index b1235fd562..71c6a2c226 100644 Binary files a/nrf_802154/sl/sl/lib/nrf54l15_cpuapp/hard-float/libnrf-802154-sl.a and b/nrf_802154/sl/sl/lib/nrf54l15_cpuapp/hard-float/libnrf-802154-sl.a differ diff --git a/nrf_802154/sl/sl/lib/nrf54l15_cpuapp/soft-float/libnrf-802154-sl.a b/nrf_802154/sl/sl/lib/nrf54l15_cpuapp/soft-float/libnrf-802154-sl.a index a3aefb73fc..274ac87209 100644 Binary files a/nrf_802154/sl/sl/lib/nrf54l15_cpuapp/soft-float/libnrf-802154-sl.a and b/nrf_802154/sl/sl/lib/nrf54l15_cpuapp/soft-float/libnrf-802154-sl.a differ diff --git a/nrf_802154/sl/sl/lib/nrf54l15_cpuapp/softfp-float/libnrf-802154-sl.a b/nrf_802154/sl/sl/lib/nrf54l15_cpuapp/softfp-float/libnrf-802154-sl.a index 6fd8612c6d..6f7e7eb1ae 100644 Binary files a/nrf_802154/sl/sl/lib/nrf54l15_cpuapp/softfp-float/libnrf-802154-sl.a and b/nrf_802154/sl/sl/lib/nrf54l15_cpuapp/softfp-float/libnrf-802154-sl.a differ diff --git a/nrf_802154/sl/sl/lib/nrf54l15_cpuapp_ns/hard-float/libnrf-802154-sl.a b/nrf_802154/sl/sl/lib/nrf54l15_cpuapp_ns/hard-float/libnrf-802154-sl.a index 63f39c1bd4..bce0793edb 100644 Binary files a/nrf_802154/sl/sl/lib/nrf54l15_cpuapp_ns/hard-float/libnrf-802154-sl.a and b/nrf_802154/sl/sl/lib/nrf54l15_cpuapp_ns/hard-float/libnrf-802154-sl.a differ diff --git a/nrf_802154/sl/sl/lib/nrf54l15_cpuapp_ns/soft-float/libnrf-802154-sl.a b/nrf_802154/sl/sl/lib/nrf54l15_cpuapp_ns/soft-float/libnrf-802154-sl.a index c597df9d8d..b7aaf81f0b 100644 Binary files a/nrf_802154/sl/sl/lib/nrf54l15_cpuapp_ns/soft-float/libnrf-802154-sl.a and b/nrf_802154/sl/sl/lib/nrf54l15_cpuapp_ns/soft-float/libnrf-802154-sl.a differ diff --git a/nrf_802154/sl/sl/lib/nrf54l15_cpuapp_ns/softfp-float/libnrf-802154-sl.a b/nrf_802154/sl/sl/lib/nrf54l15_cpuapp_ns/softfp-float/libnrf-802154-sl.a index 3c11cae9aa..0204979319 100644 Binary files a/nrf_802154/sl/sl/lib/nrf54l15_cpuapp_ns/softfp-float/libnrf-802154-sl.a and b/nrf_802154/sl/sl/lib/nrf54l15_cpuapp_ns/softfp-float/libnrf-802154-sl.a differ diff --git a/nrf_802154/sl/sl/lib/nrf54l20_cpuapp/hard-float/libnrf-802154-sl.a b/nrf_802154/sl/sl/lib/nrf54l20_cpuapp/hard-float/libnrf-802154-sl.a index b1235fd562..71c6a2c226 100644 Binary files a/nrf_802154/sl/sl/lib/nrf54l20_cpuapp/hard-float/libnrf-802154-sl.a and b/nrf_802154/sl/sl/lib/nrf54l20_cpuapp/hard-float/libnrf-802154-sl.a differ diff --git a/nrf_802154/sl/sl/lib/nrf54l20_cpuapp/soft-float/libnrf-802154-sl.a b/nrf_802154/sl/sl/lib/nrf54l20_cpuapp/soft-float/libnrf-802154-sl.a index a3aefb73fc..274ac87209 100644 Binary files a/nrf_802154/sl/sl/lib/nrf54l20_cpuapp/soft-float/libnrf-802154-sl.a and b/nrf_802154/sl/sl/lib/nrf54l20_cpuapp/soft-float/libnrf-802154-sl.a differ diff --git a/nrf_802154/sl/sl/lib/nrf54l20_cpuapp/softfp-float/libnrf-802154-sl.a b/nrf_802154/sl/sl/lib/nrf54l20_cpuapp/softfp-float/libnrf-802154-sl.a index 6fd8612c6d..6f7e7eb1ae 100644 Binary files a/nrf_802154/sl/sl/lib/nrf54l20_cpuapp/softfp-float/libnrf-802154-sl.a and b/nrf_802154/sl/sl/lib/nrf54l20_cpuapp/softfp-float/libnrf-802154-sl.a differ diff --git a/nrf_802154/sl/sl/lib/nrf54l20_cpuapp_ns/hard-float/libnrf-802154-sl.a b/nrf_802154/sl/sl/lib/nrf54l20_cpuapp_ns/hard-float/libnrf-802154-sl.a index 63f39c1bd4..bce0793edb 100644 Binary files a/nrf_802154/sl/sl/lib/nrf54l20_cpuapp_ns/hard-float/libnrf-802154-sl.a and b/nrf_802154/sl/sl/lib/nrf54l20_cpuapp_ns/hard-float/libnrf-802154-sl.a differ diff --git a/nrf_802154/sl/sl/lib/nrf54l20_cpuapp_ns/soft-float/libnrf-802154-sl.a b/nrf_802154/sl/sl/lib/nrf54l20_cpuapp_ns/soft-float/libnrf-802154-sl.a index c597df9d8d..b7aaf81f0b 100644 Binary files a/nrf_802154/sl/sl/lib/nrf54l20_cpuapp_ns/soft-float/libnrf-802154-sl.a and b/nrf_802154/sl/sl/lib/nrf54l20_cpuapp_ns/soft-float/libnrf-802154-sl.a differ diff --git a/nrf_802154/sl/sl/lib/nrf54l20_cpuapp_ns/softfp-float/libnrf-802154-sl.a b/nrf_802154/sl/sl/lib/nrf54l20_cpuapp_ns/softfp-float/libnrf-802154-sl.a index 3c11cae9aa..0204979319 100644 Binary files a/nrf_802154/sl/sl/lib/nrf54l20_cpuapp_ns/softfp-float/libnrf-802154-sl.a and b/nrf_802154/sl/sl/lib/nrf54l20_cpuapp_ns/softfp-float/libnrf-802154-sl.a differ