This is an automated email from the ASF dual-hosted git repository.

andk pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/mynewt-nimble.git

commit 8051721553ef24deefee57774cdd563552c70a92
Author: Andrzej Kaczmarek <[email protected]>
AuthorDate: Wed Jan 26 17:45:32 2022 +0100

    nimble/phy/nrf53: Add workaround for anomaly 117
---
 nimble/drivers/nrf5340/src/ble_phy.c | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/nimble/drivers/nrf5340/src/ble_phy.c 
b/nimble/drivers/nrf5340/src/ble_phy.c
index 53daab5..2b21afb 100644
--- a/nimble/drivers/nrf5340/src/ble_phy.c
+++ b/nimble/drivers/nrf5340/src/ble_phy.c
@@ -326,21 +326,25 @@ ble_phy_mode_apply(uint8_t phy_mode)
     switch (phy_mode) {
     case BLE_PHY_MODE_1M:
         NRF_RADIO_NS->MODE = RADIO_MODE_MODE_Ble_1Mbit;
+        *((volatile uint32_t *)0x41008588) = *((volatile uint32_t 
*)0x01FF0080);
         NRF_RADIO_NS->PCNF0 = NRF_PCNF0_1M;
         break;
 #if MYNEWT_VAL(BLE_LL_CFG_FEAT_LE_2M_PHY)
     case BLE_PHY_MODE_2M:
         NRF_RADIO_NS->MODE = RADIO_MODE_MODE_Ble_2Mbit;
+        *((volatile uint32_t *)0x41008588) = *((volatile uint32_t 
*)0x01FF0084);
         NRF_RADIO_NS->PCNF0 = NRF_PCNF0_2M;
         break;
 #endif
 #if MYNEWT_VAL(BLE_LL_CFG_FEAT_LE_CODED_PHY)
     case BLE_PHY_MODE_CODED_125KBPS:
         NRF_RADIO_NS->MODE = RADIO_MODE_MODE_Ble_LR125Kbit;
+        *((volatile uint32_t *)0x41008588) = *((volatile uint32_t 
*)0x01FF0080);
         NRF_RADIO_NS->PCNF0 = NRF_PCNF0_CODED;
         break;
     case BLE_PHY_MODE_CODED_500KBPS:
         NRF_RADIO_NS->MODE = RADIO_MODE_MODE_Ble_LR500Kbit;
+        *((volatile uint32_t *)0x41008588) = *((volatile uint32_t 
*)0x01FF0080);
         NRF_RADIO_NS->PCNF0 = NRF_PCNF0_CODED;
         break;
 #endif

Reply via email to