Hello:

Recently there has been some offline discussion about issues with the LF clock 
for nrf52-based BSPs that did not have an external 32khz oscillator. There has 
also been a recent commit to introduce a different source for the LF clock (the 
internal RC oscillator).

After looking at the code I noticed that it was not very consistent across the 
nordic platforms and there was no real reason (any longer) that the code should 
not be the same betweent the two platforms (i.e. nrf51 and nrf52). The main 
changes I have made to the code are the following:

* hal_system_clock_start() will now be called by every nordic BSP in 
hal_bsp_init().
* os_tick_init() will not enable the LF clock; it is presumed to be running.
* The definitions for the LF clock sources were moved from the bsp syscfg.yml 
files into the mcu syscfg files.
* Each BSP now defines the LF clock source to be used. It is also possibly to 
override the clock source in the target or app
* make the os use the same RTC timer registers for both nrf51 and nrf52.

As a (minor) consequence of this change all code that did not assume a 32kHz 
crystal for the os time tick clock source was removed. All nordic platforms now 
use the 32kHz crystal for os time.

I have not built all the bsps nor tested all of them so I would not be 
surprised if some did not build/work. Assuming everyone is OK with the changes 
I will create a pull request with these changes.

Thanks!


Reply via email to