Hi team,
I am experiencing a persistent MPSL assertion 1519 on nRF54L15 that occurs consistently at ~5 seconds after BLE advertising starts. The assertion indicates that the 32MHz HFXO (High-Frequency Crystal Oscillator) didn't start on time for radio transmission. All recommended software-based fixes have been attempted without success.
Error Message:
"""
ASSERTION FAIL [0] @ WEST_TOPDIR/nrf/subsys/mpsl/init/mpsl_init.c:307
MPSL ASSERT: 1, 1519
[00:00:05.382,477] <err> os: ***** HARD FAULT *****
[00:00:05.388,037] <err> os: Fault escalation (see below)
[00:00:05.394,292] <err> os: ARCH_EXCEPT with reason 4
[00:00:05.400,206] <err> os: r0/a1: 0x00000004 r1/a2: 0x00000133 r2/a3: 0x00000000
[00:00:05.408,893] <err> os: r3/a4: 0x00000004 r12/ip: 0x00000040 r14/lr: 0x0002aa7f
[00:00:05.417,571] <err> os: xpsr: 0x010000f5
[00:00:05.422,788] <err> os: Faulting instruction address (r15/pc): 0x0003723c
[00:00:05.430,695] <err> os: >>> ZEPHYR FATAL ERROR 4: Kernel panic on CPU 0
[00:00:05.438,420] <err> os: Fault during interrupt handling
[00:00:05.444,850] <err> os: Current thread: 0x20003d90 (idle)
[00:00:05.451,361] <err> os: Halting syste
"""
Hardware Details:
"""
- Chip: nRF54L15
- Development Kit: nRF54L15 DK (Part Number: 453-00001-K1, Product Code: BL54L15)
- Board Target: nrf54l15dk/nrf54l15/cpuapp
"""
Software Details:
"""
- nRF Connect SDK Version: v3.1.1 (commit: e2a97fe2578a)
- Zephyr OS Version: v4.1.99 (commit: ff8f0c579eeb)
- Build System: West build with pristine builds
- Application: Simple BLE peripheral with advertising and Nordic UART Service
"""
Proj.conf configuration(Key Settings):
# Clock Configuration - Internal RC Oscillator (tried as workaround)
CONFIG_CLOCK_CONTROL_NRF=y
CONFIG_CLOCK_CONTROL_NRF_K32SRC_RC=y
CONFIG_CLOCK_CONTROL_NRF_K32SRC_XTAL=n
CONFIG_CLOCK_CONTROL_NRF_K32SRC_SYNTH=n
CONFIG_CLOCK_CONTROL_NRF_K32SRC_RC_CALIBRATION=y
CONFIG_CLOCK_CONTROL_NRF_CALIBRATION_PERIOD=4000
CONFIG_CLOCK_CONTROL_NRF_K32SRC_500PPM=y
# MPSL HFCLK Latency (increased significantly)
CONFIG_MPSL_HFCLK_LATENCY=8000
# Power Management (disabled to prevent GRTC sleep issues)
CONFIG_PM=n
CONFIG_PM_DEVICE=n
# Stack Sizes (increased to prevent stack overflow)
CONFIG_MAIN_STACK_SIZE=3072
CONFIG_SYSTEM_WORKQUEUE_STACK_SIZE=3072
CONFIG_MPSL_WORK_STACK_SIZE=1024
CONFIG_IDLE_STACK_SIZE=256
CONFIG_ISR_STACK_SIZE=2048
CONFIG_BT_RX_STACK_SIZE=2048
CONFIG_BT_HCI_TX_STACK_SIZE=1536
CONFIG_BT_NUS_THREAD_STACK_SIZE=1536
# BLE Configuration
CONFIG_BT=y
CONFIG_BT_PERIPHERAL=y
CONFIG_BT_MAX_CONN=2
CONFIG_BT_DEVICE_NAME="TestDevice"
##QUESTIONS:
- Could this be a hardware issue with the DK's crystal, or is it purely software?
- Are there any DK-specific configuration requirements for nRF54L15 that differ from other nRF54 series?
Thank you for your assistance!