Environment
- NCS Version (Working): v2.4.0
- NCS Version (Not Working): v3.1.1
- Board: Custom board based on nRF5340 (Application Core + Network Core)
- Build System: Sysbuild
- Network Core Image: ipc_radio
- IDE: VS Code
- Hardware: Custom PCB without external 32.768 kHz LFXO crystal
Problem Description
I have a custom nRF5340 board without an external 32.768 kHz crystal. The firmware was working correctly on this custom board with NCS v2.4.0, but after migrating to the newer NCS version, it hangs.
The firmware also works correctly on the nRF5340 DK (which has an external 32.768 kHz crystal).
Using the debugger, I found that the code hangs at line 141 in zephyr/arch/arm/core/cortex_m/cpu_idle.c at the SLEEP_IF_ALLOWED(__WFE) instruction inside arch_cpu_atomic_idle().
It appears the system enters idle mode but never wakes up.

Application Core that we use - prj.conf:
# enable internal rc CONFIG_CLOCK_CONTROL_NRF_K32SRC_SYNTH=y CONFIG_CLOCK_CONTROL_NRF_K32SRC_XTAL=n CONFIG_SOC_ENABLE_LFXO=n
- What changed in the clock control configuration between NCS v2.4.0 and the current version that could cause this issue?
- Is there any additional configuration required for the nRF5340 to use the internal RC oscillator (LFRC) without an external 32.768 kHz crystal?
- Are there any device tree overlay changes needed to disable the LFXO on a custom board in the newer NCS versions?
