You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@mynewt.apache.org by an...@apache.org on 2022/05/06 09:45:54 UTC

[mynewt-nimble] branch master updated: nimble/phy/nrf53: Fix PA/LNA enable

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


The following commit(s) were added to refs/heads/master by this push:
     new 7a111aee nimble/phy/nrf53: Fix PA/LNA enable
7a111aee is described below

commit 7a111aeebabb8cf5dc57de4c731fd5a2adc5513d
Author: Andrzej Kaczmarek <an...@codecoup.pl>
AuthorDate: Thu May 5 19:33:52 2022 +0200

    nimble/phy/nrf53: Fix PA/LNA enable
    
    READY/DISABLED events were not published if PA/LNA was enabled so it was
    not working - it only worked if GPIO debugging is also enabled which
    published those events.
---
 nimble/drivers/nrf5340/src/ble_phy.c | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

diff --git a/nimble/drivers/nrf5340/src/ble_phy.c b/nimble/drivers/nrf5340/src/ble_phy.c
index 9734e887..060e32ee 100644
--- a/nimble/drivers/nrf5340/src/ble_phy.c
+++ b/nimble/drivers/nrf5340/src/ble_phy.c
@@ -1298,7 +1298,6 @@ ble_phy_dbg_time_setup(void)
     /* Publish RADIO->EVENTS_READY */
     NRF_RADIO_NS->PUBLISH_READY = DPPI_CH_PUB(RADIO_EVENTS_READY);
     NRF_DPPIC_NS->CHENSET = DPPI_CH_MASK(RADIO_EVENTS_READY);
-
 #endif
 
 #if MYNEWT_VAL(BLE_PHY_DBG_TIME_ADDRESS_END_PIN) >= 0
@@ -1435,6 +1434,13 @@ ble_phy_init(void)
      * TODO: figure out if this affects power consumption
      */
 
+    /* Publish RADIO->EVENTS_READY */
+    NRF_RADIO_NS->PUBLISH_READY = DPPI_CH_PUB(RADIO_EVENTS_READY);
+    NRF_DPPIC_NS->CHENSET = DPPI_CH_MASK(RADIO_EVENTS_READY);
+    /* Publish RADIO->EVENTS_DISABLED */
+    NRF_RADIO_NS->PUBLISH_DISABLED = DPPI_CH_PUB(RADIO_EVENTS_DISABLED);
+    NRF_DPPIC_NS->CHENSET = DPPI_CH_MASK(RADIO_EVENTS_DISABLED);
+
 #if PLNA_SINGLE_GPIO
     plna_idx = ble_phy_gpiote_configure(MYNEWT_VAL(BLE_LL_PA_GPIO));
     NRF_GPIOTE_NS->SUBSCRIBE_SET[plna_idx] = DPPI_CH_UNSUB(RADIO_EVENTS_READY);