nRF54L DK - ESB Sample LF Clock Source Configuration Issue

Hello,

I am currently using the nRF54L DK and running the ESB (Enhanced ShockBurst) sample in nRF Connect SDK v2.8.0. I would like to change the LF (low-frequency) clock source from XTAL to RC (LFRC), so I added the following configurations in prj.conf:

CONFIG_CLOCK_CONTROL_NRF_K32SRC_RC=y
CONFIG_CLOCK_CONTROL_NRF_K32SRC_500PPM=y

The build process completes successfully, but after flashing the firmware, the device continuously resets and encounters the following error:

*** Booting nRF Connect SDK v2.8.0-a2386bfc8401 ***
*** Using Zephyr OS v3.7.99-0bc3393fb112 ***
I: Enhanced ShockBurst ptx sample
I: GPIO_Init
D: HF clock started
I: Initialization complete
I: Sending test packet
I: Allocated GRTC channel 6

ASSERTION FAIL @ WEST_TOPDIR/zephyr/drivers/clock_control/clock_control_nrf.c:626
E: r0/a1:  0x00000004  r1/a2:  0x00000272  r2/a3:  0x00000000
E: r3/a4:  0x00000004 r12/ip:  0x00000000 r14/lr:  0x0004a4fd
E:  xpsr:  0x2100011e
E: Faulting instruction address (r15/pc): 0x00050eca
E: >>> ZEPHYR FATAL ERROR 4: Kernel panic on CPU 0
E: Fault during interrupt handling

E: Current thread: 0x20013768 (unknown)
*** Booting nRF Connect SDK v2.8.0-a2386bfc8401 ***
*** Using Zephyr OS v3.7.99-0bc3393fb112 ***
I: Enhanced ShockBurst ptx sample
I: GPIO_Init
D: HF clock started
I: Initialization complete
I: Sending test packet
I: Allocated GRTC channel 6

ASSERTION FAIL @ WEST_TOPDIR/zephyr/drivers/clock_control/clock_control_nrf.c:626
E: r0/a1:  0x00000004  r1/a2:  0x00000272  r2/a3:  0x00000000
E: r3/a4:  0x00000004 r12/ip:  0x00000000 r14/lr:  0x0004a4fd
E:  xpsr:  0x2100011e
E: Faulting instruction address (r15/pc): 0x00050eca
E: >>> ZEPHYR FATAL ERROR 4: Kernel panic on CPU 0
E: Fault during interrupt handling

E: Current thread: 0x20013768 (unknown)
*** Booting nRF Connect SDK v2.8.0-a2386bfc8401 ***
*** Using Zephyr OS v3.7.99-0bc3393fb112 ***
I: Enhanced ShockBurst ptx sample
I: GPIO_Init
D: HF clock started
I: Initialization complete
I: Sending test packet
I: Allocated GRTC channel 6

ASSERTION FAIL @ WEST_TOPDIR/zephyr/drivers/clock_control/clock_control_nrf.c:626
E: r0/a1:  0x00000004  r1/a2:  0x00000272  r2/a3:  0x00000000
E: r3/a4:  0x00000004 r12/ip:  0x00000000 r14/lr:  0x0004a4fd
E:  xpsr:  0x2100011e
E: Faulting instruction address (r15/pc): 0x00050eca
E: >>> ZEPHYR FATAL ERROR 4: Kernel panic on CPU 0
E: Fault during interrupt handling

E: Current thread: 0x20013768 (unknown)
*** Booting nRF Connect SDK v2.8.0-a2386bfc8401 ***
*** Using Zephyr OS v3.7.99-0bc3393fb112 ***
I: Enhanced ShockBurst ptx sample
I: GPIO_Init
D: HF clock started
I: Initialization complete
I: Sending test packet
I: Allocated GRTC channel 6

ASSERTION FAIL @ WEST_TOPDIR/zephyr/drivers/clock_control/clock_control_nrf.c:626
E: r0/a1:  0x00000004  r1/a2:  0x00000272  r2/a3:  0x00000000
E: r3/a4:  0x00000004 r12/ip:  0x00000000 r14/lr:  0x0004a4fd
E:  xpsr:  0x2100011e
E: Faulting instruction address (r15/pc): 0x00050eca
E: >>> ZEPHYR FATAL ERROR 4: Kernel panic on CPU 0
E: Fault during interrupt handling

E: Current thread: 0x20013768 (unknown)
*** Booting nRF Connect SDK v2.8.0-a2386bfc8401 ***
*** Using Zephyr OS v3.7.99-0bc3393fb112 ***
I: Enhanced ShockBurst ptx sample
I: GPIO_Init
D: HF clock started
I: Initialization complete
I: Sending test packet
I: Allocated GRTC channel 6

Could you advise on the correct way to enable LFRC on the nRF54L?

  • Are there additional CONFIG_CLOCK_CONTROL_NRF_K32SRC_* parameters required?
  • Are there any known limitations or additional initialization steps needed?

I appreciate your support!

Best Regards,
Doris

Parents
  • Hello,

    In the overlay file also remove lfxo like this:

    / {
    ...

    clocks {
    /delete-node/ lfxo;
    };
    };

    Also, depending slightly of which NCS version you are working with, there may be an unhandled event that can cause an assert, so you may also need to add:

    CONFIG_ASSERT=n

    Other than that I do believe it should work. Let me know which made it work, so I can check if there is something I should follow up internally for future releases.

    Kenneth

  • Dear Kenneth,

    After testing, the solution works as expected. Thank you for your support!

    To resolve the issue, I made changes to two files:

    1.prj.conf

    CONFIG_ASSERT=n
    CONFIG_CLOCK_CONTROL_NRF_K32SRC_XTAL=n
    CONFIG_CLOCK_CONTROL_NRF_K32SRC_RC=y

    2.nrf54l15dk_nrf54l15_cpuapp_ns.overlay

    / {
        ...
        clocks {
            /delete-node/ lfxo;
        };
    };

    With these modifications, my code is now working correctly.

    I really appreciate your help!

    Best Regards,
    Doris

Reply
  • Dear Kenneth,

    After testing, the solution works as expected. Thank you for your support!

    To resolve the issue, I made changes to two files:

    1.prj.conf

    CONFIG_ASSERT=n
    CONFIG_CLOCK_CONTROL_NRF_K32SRC_XTAL=n
    CONFIG_CLOCK_CONTROL_NRF_K32SRC_RC=y

    2.nrf54l15dk_nrf54l15_cpuapp_ns.overlay

    / {
        ...
        clocks {
            /delete-node/ lfxo;
        };
    };

    With these modifications, my code is now working correctly.

    I really appreciate your help!

    Best Regards,
    Doris

Children
No Data
Related