Skip to content

[XIAO nRF54LM20A] IMU Wake-Up example: regulator-boot-on on LDO1 causes boot loop #5255

Description

@Jerry1098

Disclaimer: this issue was investigated and written up with AI assistance. The
findings were verified on real hardware — see the reproduction details below.

Page: https://wiki.seeedstudio.com/xiao_nrf54lm20a_with_onboard/#imu-wake-up
Board: XIAO nRF54LM20A Sense
SDK: nRF Connect SDK v3.4.0 / Zephyr v4.4.0, Zephyr SDK 1.0.1

1. regulator-boot-on on LDO1 puts the board in an unrecoverable reset loop

The app.overlay on this page sets regulator-boot-on on the nPM1300 LDO1 node.
On NCS v3.4.0 this hard-faults during driver init: LDO1 sits behind the PMIC on
the gpio-i2c bitbang bus, and boot-on enables the rail before that bus is ready.
The fault handler itself faults, producing a double fault and CPU lockup.

Symptom: the board enters a ~573 ms USB enumerate/disconnect loop. Because the
lockup takes the onboard SAMD11 CMSIS-DAP down with it, the board looks like a dead
debug probe and is very difficult to reflash (openocd reports
clearing lockup after double fault on the rare attempt that connects).

Removing the single line regulator-boot-on; fixes it completely — board boots,
IMU initializes, tap detection works. It is also redundant: the page's own main.c
already calls regulator_enable(imu_vdd) at runtime.

Verified as a single-variable change; stock samples/basic/blinky was stable on the
same board throughout, ruling out most other hardware issues.

2. prj.conf enables the WS2812 driver with no matching devicetree node

prj.conf sets CONFIG_LED_STRIP=y and CONFIG_WS2812_STRIP_SPI=y, but the overlay
defines no worldsemi,ws2812-spi node, so the build emits:

warning: WS2812_STRIP_SPI ... was assigned the value 'y' but got the value 'n'.
Check these unsatisfied dependencies: DT_HAS_WORLDSEMI_WS2812_SPI_ENABLED (=n)

plus No SOURCES given to Zephyr library: drivers__led_strip. Both symbols appear
unused by this example and could be dropped.

As stated above nRF Connect SDK v3.4.0 was used instead of the v3.3.0 used by the wiki. I did not confirm if this was an issue on v3.3.0.
Installation of the SDK was done manually using west, but this shouldn't matter.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions