Skip to content

Commit ceff785

Browse files
vidarbeaescolar
authored andcommitted
drivers: bluetooth: hci: Apply workaround for HW anomaly on nRF53
Use the nrf_reset_network_force_off() function to release and set the force-off signal.This ensures that the workaround for errata 161 is applied. Signed-off-by: Vidar Berg <[email protected]>
1 parent 7b91659 commit ceff785

File tree

1 file changed

+6
-4
lines changed

1 file changed

+6
-4
lines changed

drivers/bluetooth/hci/nrf53_support.c

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66

77
#include <soc.h>
88
#include <zephyr/device.h>
9+
#include <hal/nrf_reset.h>
910
#if defined(CONFIG_BT_CTLR_DEBUG_PINS_CPUAPP)
1011
#include <../subsys/bluetooth/controller/ll_sw/nordic/hal/nrf5/debug.h>
1112
#else
@@ -19,9 +20,9 @@ LOG_MODULE_REGISTER(bt_hci_nrf53_support);
1920
int bt_hci_transport_teardown(const struct device *dev)
2021
{
2122
ARG_UNUSED(dev);
22-
/* Put core into reset */
23-
NRF_RESET->NETWORK.FORCEOFF = RESET_NETWORK_FORCEOFF_FORCEOFF_Hold;
24-
LOG_DBG("Network MCU reseted.");
23+
/* Put the Network MCU in Forced-OFF mode. */
24+
nrf_reset_network_force_off(NRF_RESET, true);
25+
LOG_DBG("Network MCU placed in Forced-OFF mode");
2526

2627
return 0;
2728
}
@@ -41,7 +42,8 @@ int bt_hci_transport_setup(const struct device *dev)
4142
NRF_SPU->EXTDOMAIN[0].PERM = 1 << 4;
4243
#endif /* !defined(CONFIG_TRUSTED_EXECUTION_NONSECURE) */
4344

44-
NRF_RESET->NETWORK.FORCEOFF = RESET_NETWORK_FORCEOFF_FORCEOFF_Release;
45+
/* Release the Network MCU, 'Release force off signal' */
46+
nrf_reset_network_force_off(NRF_RESET, false);
4547

4648
return 0;
4749
}

0 commit comments

Comments
 (0)