after setting CONFIG_CLOCK_CONTROL_NRF_K32SRC_RC the 32mhz start working from rc instead from XTAL

Hello

I am using the nrf52833, zephyr version 3.199, sdk 0.14.1. In our board we didn't connect the 32khz oscillator, so I configure the board with:

CONFIG_CLOCK_CONTROL_NRF_K32SRC_RC=y
after setting this I can cee that my application (we use radio paripherial that need hfxo) do not work correctly and when I check with oscilloscope the 32mhz xtal there is no clock. 
I try to make same configuration with the nrf-52833-dk and see the same results.
I try configuring directly the clock register to work with the 32mhz xtal. After calling this code I can see that the xtal is back and I can see the 32mhz clock on the pins and the HFCLKSTAT register indicate xtal running. but after continue running the app the clock disappear and the  HFCLKSTAT  state is rc, running.
It seems to me that the zephyr OS try to reconfigure the clock back to RC even if I reconfigure it in the code to XTAL.
When I do not set  CONFIG_CLOCK_CONTROL_NRF_K32SRC_RC to y I do not have this problem and the osc is alway xtal and I can see the signal on the xtal pin
 
Is there any dependency that when I set 32k to rc source it also set the 32m to rc mode?
Thanks
Ilan
Parents
  • Hi Ilan,

    According to documentation, HFINT is only used when HFCLK is requested and HFXO is not running. There is no dependency with LFCLK.

    Are you using vanilla Zephyr for this test? Or are you using the nRF Connect SDK?

    Hieu

  • Hi

    I am using connect sdk v2.1.2 (I had noted wrong version number on the previous post)

    I change my setting in prj.conf from:

    CONFIG_CLOCK_CONTROL_NRF_K32SRC_RC=y
    CONFIG_CLOCK_CONTROL_NRF_K32SRC_XTAL=n
    to:
    CONFIG_CLOCK_CONTROL_NRF_K32SRC_SYNTH=y
    CONFIG_CLOCK_CONTROL_NRF_K32SRC_XTAL=n
    and it solve my problem now I can see that the clock is running correctly and radio peripheral works and I am able to receive packets also on the costume board.
    I am new to zephyr and I feel like there are some lack of documentation that explain with example how to work with it. every time I have some problem I have to look on forums and find some configuration that is missing, I didn't find any documentation beside doxigen like documentation. Is there a document from Nordic that include all those configuration with example when and why to use them? It will make the developer life much more easy
Reply
  • Hi

    I am using connect sdk v2.1.2 (I had noted wrong version number on the previous post)

    I change my setting in prj.conf from:

    CONFIG_CLOCK_CONTROL_NRF_K32SRC_RC=y
    CONFIG_CLOCK_CONTROL_NRF_K32SRC_XTAL=n
    to:
    CONFIG_CLOCK_CONTROL_NRF_K32SRC_SYNTH=y
    CONFIG_CLOCK_CONTROL_NRF_K32SRC_XTAL=n
    and it solve my problem now I can see that the clock is running correctly and radio peripheral works and I am able to receive packets also on the costume board.
    I am new to zephyr and I feel like there are some lack of documentation that explain with example how to work with it. every time I have some problem I have to look on forums and find some configuration that is missing, I didn't find any documentation beside doxigen like documentation. Is there a document from Nordic that include all those configuration with example when and why to use them? It will make the developer life much more easy
Children
Related