Skip to content

zephyr-cp: add board buses to the nRF54L DKs and the nRF54L15 Tag - #11618

Merged
tannewt merged 1 commit into
adafruit:mainfrom
dhalbert:zephyr-cp-nrf-dk-board-buses
Oct 20, 2026
Merged

tannewt merged 1 commit into
adafruit:mainfrom
dhalbert:zephyr-cp-nrf-dk-board-buses

Conversation

@dhalbert

@dhalbert dhalbert commented Oct 16, 2026 •

Copy link
Copy Markdown
Collaborator

Note by @dhalbert. Code written with Claude.

The nRF5340 DK and nRF54H20 DK changes that were here moved into #11576. This PR now names the standard bus pins in [pins] (and makes the Tag's sensor buses dynamic), which gives these boards board buses under the scheme from #11576.

  • nRF54L15 DK: board.UART() on P0.00/P0.01, the debugger's VCOM0 port.
  • nRF54LM20 DK: board.SPI() on the expansion header's SPI pins, and board.UART() on P0.06/P0.07 (VCOM0).
  • nRF54L15 Tag: the onboard sensor buses (i2c21, spi22) are available via board.I2C() and board.SPI().

Some omissions:

  • nRF54L15 DK: no board.SPI(). The expansion header's SPI pins conflict with the VCOM1 port, which we need for the console (no USB).
  • No board.I2C() on the nRF54L DKs: nothing on the boards or in the upstream devicetrees marks I2C pins.

The nRF54L15 Tag has very limited pins, and the console and UART can conflict with I2C, so I left the default pins from upstream alone for now.

Testing

  • nRF54L15 DK and nRF54LM20 DK: board.UART() both directions with the debugger's VCOM0 port. nRF54LM20 DK: board.SPI() MOSI-MISO loopback, 250 kHz to 16 MHz.
  • nRF54L15 Tag: build only.

@dhalbert
dhalbert requested a review from tannewt October 16, 2026 13:37
@mikeysklar

Copy link
Copy Markdown
Collaborator

Not tested on hardware yet. From reading: on nRF54H20 the pin routing check only runs on nRF54L, so H20 routing isn't checked.

Name the standard bus pins in [pins], so board.I2C(), board.SPI() and
board.UART() are created on them and routed at runtime.

- nRF54L15 DK: board.UART() on P0.00/P0.01, the debugger's VCOM0
  serial port. No board.SPI(): the expansion header's SPI pins share
  lines with the console's VCOM1 port.
- nRF54LM20 DK: board.SPI() on the expansion header's SPI pins, and
  board.UART() on P0.06/P0.07 (VCOM0).
- nRF54L15 Tag: i2c21 and spi22, the onboard sensor buses, are now
  dynamic, with board.I2C() on P1.11/P1.12 and board.SPI() on
  P1.08/P1.06/P1.05.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@dhalbert
dhalbert force-pushed the zephyr-cp-nrf-dk-board-buses branch from 3af6fe0 to def1012 Compare October 19, 2026 23:09
@dhalbert dhalbert changed the title zephyr-cp: make buses dynamic and add board buses to the Nordic dev boards zephyr-cp: add board buses to the nRF54L DKs and the nRF54L15 Tag Oct 19, 2026

@tannewt tannewt left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you!

@tannewt
tannewt merged commit 199e64f into adafruit:main Oct 20, 2026
20 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

zephyr: Do dynamic bus allocation on Nordic DK boards

3 participants