
Problem Description
The custom hardware board cannot boot normally after flashing the firmware. However, the exact same firmware image works perfectly on the official nRF54L15-DK development board. The test project is a simple LED blinking sample with no additional complex logic.
The core difference in hardware configuration is that the custom board does not use an external 32kHz low-speed crystal. All relevant clock configurations have been modified to enable the internal RC oscillator, but the board still fails to start up after firmware flashing.
The detailed hardware schematic is attached in the PDF file for reference.
Software Configuration (Internal RC 32kHz Clock)
I have fully disabled the external LFXO and configured the system to use the internal 32kHz RC oscillator via device tree and Kconfig settings as follows:
1. Device Tree Configuration
&lfxo {
status = "disabled";
load-capacitors = "internal";
load-capacitance-femtofarad = <7000>;
clock-frequency = <32768>;
};
2. Kconfig Configuration
CONFIG_CLOCK_CONTROL_NRF_K32SRC_RC=y
CONFIG_CLOCK_CONTROL_NRF_K32SRC_XTAL=n
CONFIG_CLOCK_CONTROL_NRF_K32SRC_RC_CALIBRATION=y
CONFIG_CLOCK_CONTROL_NRF_K32SRC_500PPM=y
Questions
1. Are the above DT and Kconfig configurations sufficient to completely switch the 32kHz clock to the internal RC oscillator on nRF54L15, and fully bypass the external LFXO circuit?
2. What other hidden clock configurations, startup prerequisites, or errata may cause the custom board to fail booting when using the internal RC 32kHz clock?
3. Are there any additional firmware modifications required for custom boards without external 32kHz crystals to support normal boot?
4. Are there any other design errors in my hardware schematic that may prevent the system from booting up?