diff --git a/app/boards/arm/puchi_ble/puchi_ble_v1.dts b/app/boards/arm/puchi_ble/puchi_ble_v1.dts index 9f3194e036f..67a4c9ac5e6 100644 --- a/app/boards/arm/puchi_ble/puchi_ble_v1.dts +++ b/app/boards/arm/puchi_ble/puchi_ble_v1.dts @@ -66,6 +66,7 @@ &uart0 { compatible = "nordic,nrf-uarte"; + current-speed = <115200>; pinctrl-0 = <&uart0_default>; pinctrl-1 = <&uart0_sleep>; pinctrl-names = "default", "sleep"; diff --git a/app/boards/blackpill_f401cc.overlay b/app/boards/blackpill_f401cc.overlay index 6ed4c3cf844..a9b5c1bed24 100644 --- a/app/boards/blackpill_f401cc.overlay +++ b/app/boards/blackpill_f401cc.overlay @@ -48,3 +48,5 @@ blackpill_i2c: &i2c1 {}; blackpill_spi: &spi1 {}; blackpill_serial: &usart1 {}; + +&blackpill_serial { status = "disabled"; }; diff --git a/app/boards/blackpill_f401ce.overlay b/app/boards/blackpill_f401ce.overlay index 54e360a393e..3672c6b3778 100644 --- a/app/boards/blackpill_f401ce.overlay +++ b/app/boards/blackpill_f401ce.overlay @@ -49,3 +49,5 @@ blackpill_i2c: &i2c1 {}; blackpill_spi: &spi1 {}; blackpill_serial: &usart1 {}; + +&blackpill_serial { status = "disabled"; }; diff --git a/app/boards/blackpill_f411ce.overlay b/app/boards/blackpill_f411ce.overlay index 54e360a393e..3672c6b3778 100644 --- a/app/boards/blackpill_f411ce.overlay +++ b/app/boards/blackpill_f411ce.overlay @@ -49,3 +49,5 @@ blackpill_i2c: &i2c1 {}; blackpill_spi: &spi1 {}; blackpill_serial: &usart1 {}; + +&blackpill_serial { status = "disabled"; }; diff --git a/app/boards/shields/ergodash/ergodash.dtsi b/app/boards/shields/ergodash/ergodash.dtsi index b6ef7fc41c2..c313c3a1672 100644 --- a/app/boards/shields/ergodash/ergodash.dtsi +++ b/app/boards/shields/ergodash/ergodash.dtsi @@ -57,5 +57,14 @@ RC(4,0) RC(4,1) RC(4,2) RC(4,3) RC(4,4) RC(4,5) RC(4,6) RC(4,13) RC(4,12 , <&pro_micro 16 (GPIO_ACTIVE_HIGH | GPIO_PULL_DOWN)> ; }; + + wired_split { + compatible = "zmk,wired-split"; + device = <&pro_micro_serial>; + }; +}; + +&pro_micro_serial { + status = "okay"; }; diff --git a/app/boards/shields/nice_view_adapter/boards/bluemicro840_v1.overlay b/app/boards/shields/nice_view_adapter/boards/bluemicro840_v1.overlay index 706cffbebea..4f0b3009ff7 100644 --- a/app/boards/shields/nice_view_adapter/boards/bluemicro840_v1.overlay +++ b/app/boards/shields/nice_view_adapter/boards/bluemicro840_v1.overlay @@ -33,3 +33,7 @@ nice_view_spi: &spi0 { &pro_micro_i2c { status = "disabled"; }; + +&pro_micro_serial { + status = "disabled"; +}; diff --git a/app/boards/shields/nice_view_adapter/boards/mikoto.overlay b/app/boards/shields/nice_view_adapter/boards/mikoto.overlay index e00b599c61c..67770abb17d 100644 --- a/app/boards/shields/nice_view_adapter/boards/mikoto.overlay +++ b/app/boards/shields/nice_view_adapter/boards/mikoto.overlay @@ -33,3 +33,7 @@ nice_view_spi: &spi0 { &pro_micro_i2c { status = "disabled"; }; + +&pro_micro_serial { + status = "disabled"; +}; diff --git a/app/boards/shields/nice_view_adapter/boards/nice_nano.overlay b/app/boards/shields/nice_view_adapter/boards/nice_nano.overlay index 45ba34dedeb..77ec56bea01 100644 --- a/app/boards/shields/nice_view_adapter/boards/nice_nano.overlay +++ b/app/boards/shields/nice_view_adapter/boards/nice_nano.overlay @@ -33,3 +33,7 @@ nice_view_spi: &spi0 { &pro_micro_i2c { status = "disabled"; }; + +&pro_micro_serial { + status = "disabled"; +}; diff --git a/app/boards/shields/nice_view_adapter/boards/nice_nano_v2.overlay b/app/boards/shields/nice_view_adapter/boards/nice_nano_v2.overlay index 45ba34dedeb..77ec56bea01 100644 --- a/app/boards/shields/nice_view_adapter/boards/nice_nano_v2.overlay +++ b/app/boards/shields/nice_view_adapter/boards/nice_nano_v2.overlay @@ -33,3 +33,7 @@ nice_view_spi: &spi0 { &pro_micro_i2c { status = "disabled"; }; + +&pro_micro_serial { + status = "disabled"; +}; diff --git a/app/boards/shields/nice_view_adapter/boards/nrfmicro_11.overlay b/app/boards/shields/nice_view_adapter/boards/nrfmicro_11.overlay index 706cffbebea..4f0b3009ff7 100644 --- a/app/boards/shields/nice_view_adapter/boards/nrfmicro_11.overlay +++ b/app/boards/shields/nice_view_adapter/boards/nrfmicro_11.overlay @@ -33,3 +33,7 @@ nice_view_spi: &spi0 { &pro_micro_i2c { status = "disabled"; }; + +&pro_micro_serial { + status = "disabled"; +}; diff --git a/app/boards/shields/nice_view_adapter/boards/nrfmicro_11_flipped.overlay b/app/boards/shields/nice_view_adapter/boards/nrfmicro_11_flipped.overlay index 5b5dbfb1c3b..b39e3c0a5a7 100644 --- a/app/boards/shields/nice_view_adapter/boards/nrfmicro_11_flipped.overlay +++ b/app/boards/shields/nice_view_adapter/boards/nrfmicro_11_flipped.overlay @@ -33,3 +33,7 @@ nice_view_spi: &spi0 { &pro_micro_i2c { status = "disabled"; }; + +&pro_micro_serial { + status = "disabled"; +}; diff --git a/app/boards/shields/nice_view_adapter/boards/nrfmicro_13.overlay b/app/boards/shields/nice_view_adapter/boards/nrfmicro_13.overlay index 706cffbebea..4f0b3009ff7 100644 --- a/app/boards/shields/nice_view_adapter/boards/nrfmicro_13.overlay +++ b/app/boards/shields/nice_view_adapter/boards/nrfmicro_13.overlay @@ -33,3 +33,7 @@ nice_view_spi: &spi0 { &pro_micro_i2c { status = "disabled"; }; + +&pro_micro_serial { + status = "disabled"; +}; diff --git a/app/boards/shields/nice_view_adapter/boards/puchi_ble_v1.overlay b/app/boards/shields/nice_view_adapter/boards/puchi_ble_v1.overlay index 706cffbebea..4f0b3009ff7 100644 --- a/app/boards/shields/nice_view_adapter/boards/puchi_ble_v1.overlay +++ b/app/boards/shields/nice_view_adapter/boards/puchi_ble_v1.overlay @@ -33,3 +33,7 @@ nice_view_spi: &spi0 { &pro_micro_i2c { status = "disabled"; }; + +&pro_micro_serial { + status = "disabled"; +}; diff --git a/docs/docs/development/hardware-integration/new-shield.mdx b/docs/docs/development/hardware-integration/new-shield.mdx index 1cbc079d96b..96d9109046f 100644 --- a/docs/docs/development/hardware-integration/new-shield.mdx +++ b/docs/docs/development/hardware-integration/new-shield.mdx @@ -530,9 +530,19 @@ If testing the experimental [wired split](../../features/split-keyboards.md) sup }; ``` -See the [wired split](../../config/split.md#wired-split) configuration for more details. +Your shield should also ensure that the UART device used in `zmk,wired-split` is enabled, as we disable the predefined UART devices by default. -For wireless split keyboards, this step should be skipped, especially since the UART pins on your controller might already be in use for other functionality. +```dts +&pro_micro_serial { + status = "okay"; +}; +``` + +Note that enabling the UART device will prevent its pins from being used for any other purpose. For split shields to be used by both BLE-capable and BLE-incapable boards, you should setup the wired split. If a BLE-capable board is selected, the split interconnect will default to BLE, otherwise it will fall back to the wired split transport. +If you have an optional hardware add-on that makes use of the UART pins when used wirelessly, define said add-on in a separate shield and have that shield disable the UART device. +The in-tree `nice_view_adapter` is an example of such a shield, disabling the UART device so that one of the pins can be used for SPI instead. + +See the [wired split](../../config/split.md#wired-split) configuration for more details.