feat!(boards): Migrate from seeeduino_xiao_ble to xiao_ble definition #2749
+61
−7
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Bring
xiao_ble
board from Zephyr to parity withseeeduino_xiao_ble
board maintained in ZMK's Zephyr fork. Then switch the metadata to that, so that becomes the officially used version while maintaining backwards compatibility for users still usingseeeduino_xiao_ble
. This should let us removeseeeduino_xiao_ble
definition in the future, and make it easier to migrate across Zephyr versions.I did my best to use the overlay and conf to make the resulting builds equivalent, by comparing
zephyr.dts
and.config
files. I did this for three variants:board={seeeduino_,}xiao_ble west build -d build/$board -b $board -- -DSHIELD=hummingbird
board={seeeduino_,}xiao_ble west build -d build/$board -b $board -S zmk-usb-logging -- -DSHIELD=hummingbird
board={seeeduino_,}xiao_ble west build -d build/$board -b $board -S studio-rpc-usb-uart -- -DSHIELD=hummingbird -DCONFIG_ZMK_STUDIO=y
There are still a few (potentially significant) differences:
xiao_ble
uses HV mode, whereasseeeduino_xiao_ble
doesn't (this is a good change?)&i2c0
and&i2c1
are swapped, but&xiao_i2c
alias is swapped alongside itxiao_ble
setsCONFIG_USB_DEVICE_INITIALIZE_AT_BOOT=y
xiao_ble.conf
didn't work, it was turned on byUSB_DEVICE_STACK
Additional notes
The CDC ACM node addition is also unusual for Zephyr, and we delete it back in the overlay. This is removed upstream in the same changeset above.
Final diff between two board DTS (for the logging build, omitting
phandle
changes):Final Kconfig diff between two board DTS (for the logging build):
(Currently pending testing on keyboards, hence the draft state.)
PR check-list