feat(shields): Enable wired split for ergodash, prep for other wired split in-tree keyboards #3062
+60
−2
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.
Currently, we disable the UART devices attached to pins of our in-tree boards. This is because when a UART device is enabled, the UART device will capture the pins it is assigned to, rendering them unusable for other purposes such as keymap scanning. UART is enabled by both ZMK Studio and USB logging, so we do not wish to have this enabled by default.
This PR demonstrates one approach for us to enable these UART devices for usage with shields that allow for wired split: We enable the correct UART device in the shield, alongside selecting it for usage with wired split. We assume that a shield which allows UART wired interconnect will not also simultaneously attempt to use said pins for some alternative purpose. If an add-on such as the nice!view with its adapter and bodge do wish to use said pins for an alternative purpose, then we see it as the add-on shield's responsibility to ensure that the UART device is disabled.
Ergodash is the in-tree keyboard used as an example, and credits to #3037 for beginning the topic.