From 10c803ee3b5c92c55aebe89e84784dc71436edba Mon Sep 17 00:00:00 2001 From: Vincent Coubard Date: Fri, 17 Jun 2016 11:19:05 +0100 Subject: [PATCH] Add LF clock initialization in startup sequence. --- .../TARGET_NRF5/TARGET_MCU_NRF51822/system_nrf51.c | 8 ++++++++ .../TARGET_NRF5/TARGET_MCU_NRF52832/system_nrf52.c | 9 +++++++++ 2 files changed, 17 insertions(+) diff --git a/hal/targets/cmsis/TARGET_NORDIC/TARGET_NRF5/TARGET_MCU_NRF51822/system_nrf51.c b/hal/targets/cmsis/TARGET_NORDIC/TARGET_NRF5/TARGET_MCU_NRF51822/system_nrf51.c index 3414e5b38d..9130f7e600 100644 --- a/hal/targets/cmsis/TARGET_NORDIC/TARGET_NRF5/TARGET_MCU_NRF51822/system_nrf51.c +++ b/hal/targets/cmsis/TARGET_NORDIC/TARGET_NRF5/TARGET_MCU_NRF51822/system_nrf51.c @@ -94,6 +94,14 @@ void SystemInit(void) } *(uint32_t volatile *)0x4006EC14 = 0xC0; } + + NRF_CLOCK->LFCLKSRC = (CLOCK_LFCLKSRC_SRC_Xtal << CLOCK_LFCLKSRC_SRC_Pos); + NRF_CLOCK->EVENTS_LFCLKSTARTED = 0; + NRF_CLOCK->TASKS_LFCLKSTART = 1; + + while (NRF_CLOCK->EVENTS_LFCLKSTARTED == 0) { + // wait for the low frequency clock start + } } diff --git a/hal/targets/cmsis/TARGET_NORDIC/TARGET_NRF5/TARGET_MCU_NRF52832/system_nrf52.c b/hal/targets/cmsis/TARGET_NORDIC/TARGET_NRF5/TARGET_MCU_NRF52832/system_nrf52.c index 72e067cad7..4ec4f62eaa 100644 --- a/hal/targets/cmsis/TARGET_NORDIC/TARGET_NRF5/TARGET_MCU_NRF52832/system_nrf52.c +++ b/hal/targets/cmsis/TARGET_NORDIC/TARGET_NRF5/TARGET_MCU_NRF52832/system_nrf52.c @@ -187,6 +187,15 @@ void SystemInit(void) #endif SystemCoreClockUpdate(); + + NRF_CLOCK->LFCLKSRC = (CLOCK_LFCLKSRC_SRC_Xtal << CLOCK_LFCLKSRC_SRC_Pos); + NRF_CLOCK->EVENTS_LFCLKSTARTED = 0; + NRF_CLOCK->TASKS_LFCLKSTART = 1; + + while (NRF_CLOCK->EVENTS_LFCLKSTARTED == 0) { + // wait for the low frequency clock start + } + }