Skip to content

Commit 8ddaf84

Browse files
paul-szczepanek-arm0xc0170
authored andcommitted
use pal version of load bd address
1 parent f13e966 commit 8ddaf84

File tree

1 file changed

+4
-26
lines changed

1 file changed

+4
-26
lines changed

features/FEATURE_BLE/targets/TARGET_NORDIC/TARGET_NORDIC_CORDIO/TARGET_NRF5x/NRFCordioHCIDriver.cpp

Lines changed: 4 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@
3030
#include "ll_defs.h"
3131
#include "fake_lhci_drv.h"
3232
#include "pal_bb.h"
33+
#include "pal_cfg.h"
3334
#include "lhci_api.h"
3435
#include "wsf_assert.h"
3536
#include "wsf_buf.h"
@@ -290,7 +291,7 @@ void NRFCordioHCIDriver::do_initialize()
290291

291292
// BD Addr
292293
bdAddr_t bd_addr;
293-
PlatformLoadBdAddress(bd_addr);
294+
PalCfgLoadData(PAL_CFG_ID_BD_ADDR, bd_addr, sizeof(bdAddr_t));
294295
LlSetBdAddr((uint8_t *)&bd_addr);
295296
LlMathSetSeed((uint32_t *)&bd_addr);
296297

@@ -316,19 +317,13 @@ void NRFCordioHCIDriver::start_reset_sequence()
316317

317318
bool NRFCordioHCIDriver::get_random_static_address(ble::address_t& address)
318319
{
319-
/* Load address from nRF configuration. */
320-
uint64_t devAddr = (((uint64_t)NRF_FICR->DEVICEADDR[0]) << 0) |
321-
(((uint64_t)NRF_FICR->DEVICEADDR[1]) << 32);
320+
PalCfgLoadData(PAL_CFG_ID_BD_ADDR, address.data(), sizeof(bdAddr_t));
322321

323-
for (size_t i = 0; i < address.size(); ++i) {
324-
address[i] = devAddr >> (i * 8);
325-
}
322+
MBED_ASSERT((address[5] & 0xC0) == 0xC0);
326323

327-
address[5] |= 0xC0; /* cf. "Static Address" (Vol C, Part 3, section 10.8.1) */
328324
return true;
329325
}
330326

331-
332327
ble::vendor::cordio::CordioHCIDriver& ble_cordio_get_hci_driver() {
333328
static NRFCordioHCITransportDriver transport_driver;
334329

@@ -338,20 +333,3 @@ ble::vendor::cordio::CordioHCIDriver& ble_cordio_get_hci_driver() {
338333

339334
return hci_driver;
340335
}
341-
342-
// Nordic implementation
343-
void PlatformLoadBdAddress(uint8_t *pDevAddr)
344-
{
345-
unsigned int devAddrLen = 6;
346-
347-
/* Load address from nRF configuration. */
348-
uint64_t devAddr = (((uint64_t)NRF_FICR->DEVICEID[0]) << 0) |
349-
(((uint64_t)NRF_FICR->DEVICEID[1]) << 32);
350-
351-
unsigned int i = 0;
352-
while (i < devAddrLen)
353-
{
354-
pDevAddr[i] = devAddr >> (i * 8);
355-
i++;
356-
}
357-
}

0 commit comments

Comments
 (0)