mirror of
https://github.com/zmkfirmware/zmk.git
synced 2026-03-19 20:45:18 -05:00
refactor(core): Adjust our approach for upstream Zephyr boards (#3145)
refactor(core): Adjust our approach for upstream Zephyr boards Move to using proper HWMv2 board extensions https://docs.zephyrproject.org/4.1.0/hardware/porting/board_porting.html#board-extensions for extending upstream Zephyr boards for use with ZMK. With this change, using upstream Zephyr board IDs directly, e.g. `seeeduino_xiao` will be stock versions as found upstream. To use a board variant that is tuned for ZMK use, use the `zmk` variant, e.g. `seeeduino_xiao//zmk` which is shorthand for `seeeduino_xiao/samd21g18a/zmk`. refactor(boards): Move to ZMK specific variants for the nRFMicro board For consistency, adjust the nRFMicro board definition to offer a "vanilla" Zephyr board, and then ZMK variants, e.g. `nrfmicro/nrf52840/zmk`. refactor(boards): Move to ZMK specific variant for the bluemicro840 board For consistency, adjust the bluemicro840 board definition to offer a "vanilla" Zephyr board, and then ZMK variant, e.g. `bluemicro840//zmk`. refactor(boards): Make tofu65 to ZMK variant by default Make the standard Tofu65 board ID be `tofu65/rp2040/zmk` or `tofu65//zmk` by shorthand. refactor(boards): Move BDN9 to ZMK variant by default Make the standard BDN9 board ID be `bdn9/stm32f072xb/zmk` or `bdn9//zmk` by shorthand. refactor(boards): Move Puchi BLE to ZMK variant by default Make the standard Puchi BLE board ID be `puchi_ble/nrf52840/zmk` or `puchi_ble//zmk` by shorthand. refactor(boards): Move Adv360 Pro to ZMK variant by default Make the standard Adv360 Pro board ID be `adv360pro_left/nrf52840/zmk` or `adv360pro_left//zmk` by shorthand and for right as well. refactor(boards): Move nRF52840 M2 to ZMK variant by default Make the standard nRF52840 M2 board ID be `nrf52840_m2/nrf52840/zmk` or `nrf52840_m2//zmk` by shorthand. refactor(boards): Move Pillbug to ZMK variant by default Make the standard Pillbug board ID be `pillbug/nrf52840/zmk` or `pillbug//zmk` by shorthand. refactor(boards): Move s40nc to ZMK variant by default Make the standard s40nc board ID be `s40nc/nrf52840/zmk` or `s40nc//zmk` by shorthand. refactor(boards): Move nice!60 to ZMK variant by default Make the standard nice!60 board ID be `nice60/nrf52840/zmk` or `nice60//zmk` by shorthand. refactor(boards): Move planck to ZMK variant by default Make the standard planck board ID be `planck/stm32f303xc/zmk` or `planck//zmk` by shorthand. refactor(boards): Move preonic to ZMK variant by default Make the standard preonic board ID be `preonic/stm32f303xc/zmk` or `preonic//zmk` by shorthand. refactor(boards): Move ferris to ZMK variant by default Make the standard ferris board ID be `ferris/stm32f072xb/zmk` or `ferris//zmk` by shorthand. refactor(boards): Move Proton-C to ZMK variant by default Make the standard Proton-C board ID be `proton_c/stm32f303xc/zmk` or `proton_c//zmk` by shorthand. refactor(boards): Move Corneish Zen to ZMK variant by default Make the standard Corneish Zen board ID be `corneish_zen_left/nrf52840/zmk` or `corneish_zen_left//zmk` by shorthand and for right as well. refactor(boards): Move nice!nano to ZMK variant by default Make the standard nice!nano board ID be `nice_nano/nrf52840/zmk` or `nice_nano//zmk` by shorthand. refactor(boards): Move mikoto to ZMK variant by default Make the standard mikoto board ID be `mikoto/nrf52840/zmk` or `mikoto//zmk` by shorthand. refactor(boards): Move Polarity Works boards to ZMK variants Make the standard Polarity Works board IDs be `zmk` variants. doc: Update docs/blog post to reference ZMK variants * Update Zephyr 4.1 blog post to mention ZMK variants * Add note to hardware support page about variants docs: Fix up shield board overlays for new board IDs Adjust our documentation to properly use the correct qualified board overlay file names that match our new board conventions.
This commit is contained in:
1
.github/workflows/build.yml
vendored
1
.github/workflows/build.yml
vendored
@@ -277,6 +277,7 @@ jobs:
|
||||
);
|
||||
} else {
|
||||
console.error("Board without keys or interconnect");
|
||||
return [];
|
||||
}
|
||||
break;
|
||||
case "shield":
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
file_format: "1"
|
||||
id: adafruit_kb2040
|
||||
id: adafruit_kb2040//zmk
|
||||
name: Adafruit KB2040
|
||||
type: board
|
||||
arch: arm
|
||||
|
||||
@@ -4,6 +4,7 @@
|
||||
* SPDX-License-Identifier: MIT
|
||||
*/
|
||||
|
||||
#include <../boards/adafruit/kb2040/adafruit_kb2040.dts>
|
||||
#include <arm/raspberrypi/rp2040-boot-mode-retention.dtsi>
|
||||
|
||||
&pro_micro_serial { status = "disabled"; };
|
||||
23
app/boards/adafruit/kb2040/adafruit_kb2040_zmk_defconfig
Normal file
23
app/boards/adafruit/kb2040/adafruit_kb2040_zmk_defconfig
Normal file
@@ -0,0 +1,23 @@
|
||||
# SPDX-License-Identifier: MIT
|
||||
|
||||
CONFIG_SYS_CLOCK_HW_CYCLES_PER_SEC=125000000
|
||||
|
||||
# Enable reset by default
|
||||
CONFIG_RESET=y
|
||||
|
||||
# Enable clock control by default
|
||||
CONFIG_CLOCK_CONTROL=y
|
||||
|
||||
# Code partition needed to target the correct flash range
|
||||
CONFIG_USE_DT_CODE_PARTITION=y
|
||||
|
||||
# Output UF2 by default, native bootloader supports it.
|
||||
CONFIG_BUILD_OUTPUT_UF2=y
|
||||
|
||||
# USB HID
|
||||
CONFIG_ZMK_USB=y
|
||||
|
||||
# Bootloader Support
|
||||
CONFIG_RETAINED_MEM=y
|
||||
CONFIG_RETENTION=y
|
||||
CONFIG_RETENTION_BOOT_MODE=y
|
||||
5
app/boards/adafruit/kb2040/board.yml
Normal file
5
app/boards/adafruit/kb2040/board.yml
Normal file
@@ -0,0 +1,5 @@
|
||||
board:
|
||||
extend: adafruit_kb2040
|
||||
variants:
|
||||
- name: zmk
|
||||
qualifier: rp2040
|
||||
@@ -1,5 +1,5 @@
|
||||
file_format: "1"
|
||||
id: adafruit_qt_py_rp2040
|
||||
id: adafruit_qt_py_rp2040//zmk
|
||||
name: Adafruit QT Py RP2040
|
||||
type: board
|
||||
arch: arm
|
||||
|
||||
@@ -4,6 +4,7 @@
|
||||
* SPDX-License-Identifier: MIT
|
||||
*/
|
||||
|
||||
#include <../boards/adafruit/qt_py_rp2040/adafruit_qt_py_rp2040.dts>
|
||||
#include <arm/raspberrypi/rp2040-boot-mode-retention.dtsi>
|
||||
|
||||
&xiao_serial { status = "disabled"; };
|
||||
@@ -0,0 +1,23 @@
|
||||
# SPDX-License-Identifier: MIT
|
||||
|
||||
CONFIG_SYS_CLOCK_HW_CYCLES_PER_SEC=125000000
|
||||
|
||||
# Enable reset by default
|
||||
CONFIG_RESET=y
|
||||
|
||||
# Enable clock control by default
|
||||
CONFIG_CLOCK_CONTROL=y
|
||||
|
||||
# Code partition needed to target the correct flash range
|
||||
CONFIG_USE_DT_CODE_PARTITION=y
|
||||
|
||||
# Output UF2 by default, native bootloader supports it.
|
||||
CONFIG_BUILD_OUTPUT_UF2=y
|
||||
|
||||
# USB HID
|
||||
CONFIG_ZMK_USB=y
|
||||
|
||||
# Bootloader Support
|
||||
CONFIG_RETAINED_MEM=y
|
||||
CONFIG_RETENTION=y
|
||||
CONFIG_RETENTION_BOOT_MODE=y
|
||||
5
app/boards/adafruit/qt_py_rp2040/board.yml
Normal file
5
app/boards/adafruit/qt_py_rp2040/board.yml
Normal file
@@ -0,0 +1,5 @@
|
||||
board:
|
||||
extend: adafruit_qt_py_rp2040
|
||||
variants:
|
||||
- name: zmk
|
||||
qualifier: rp2040
|
||||
@@ -1,9 +0,0 @@
|
||||
file_format: "1"
|
||||
id: boardsource_blok
|
||||
name: BoardSource blok
|
||||
type: board
|
||||
arch: arm
|
||||
outputs:
|
||||
- usb
|
||||
url: https://peg.software/docs/blok
|
||||
exposes: [pro_micro]
|
||||
5
app/boards/boardsource/blok/board.yml
Normal file
5
app/boards/boardsource/blok/board.yml
Normal file
@@ -0,0 +1,5 @@
|
||||
board:
|
||||
extend: boardsource_blok
|
||||
variants:
|
||||
- name: zmk
|
||||
qualifier: rp2040
|
||||
9
app/boards/boardsource/blok/boardsource_blok.zmk.yml
Normal file
9
app/boards/boardsource/blok/boardsource_blok.zmk.yml
Normal file
@@ -0,0 +1,9 @@
|
||||
file_format: "1"
|
||||
id: boardsource_blok//zmk
|
||||
name: Boardsource Blok
|
||||
type: board
|
||||
arch: arm
|
||||
outputs:
|
||||
- usb
|
||||
url: https://boardsource.xyz/products/blok-rp2040-keyboard-controller
|
||||
exposes: [pro_micro]
|
||||
23
app/boards/boardsource/blok/boardsource_blok_zmk.dts
Normal file
23
app/boards/boardsource/blok/boardsource_blok_zmk.dts
Normal file
@@ -0,0 +1,23 @@
|
||||
/*
|
||||
* Copyright (c) 2026 The ZMK Contributors
|
||||
*
|
||||
* SPDX-License-Identifier: MIT
|
||||
*/
|
||||
|
||||
#include <../boards/boardsource/blok/boardsource_blok.dts>
|
||||
#include <arm/raspberrypi/rp2040-boot-mode-retention.dtsi>
|
||||
|
||||
&pro_micro_serial { status = "disabled"; };
|
||||
|
||||
&code_partition {
|
||||
reg = <0x100 (DT_SIZE_M(16) - 0x100 - DT_SIZE_K(512))>;
|
||||
};
|
||||
|
||||
&flash0 {
|
||||
partitions {
|
||||
storage_partition: partition@f80000 {
|
||||
reg = <0xf80000 DT_SIZE_K(512)>;
|
||||
read-only;
|
||||
};
|
||||
};
|
||||
};
|
||||
30
app/boards/boardsource/blok/boardsource_blok_zmk_defconfig
Normal file
30
app/boards/boardsource/blok/boardsource_blok_zmk_defconfig
Normal file
@@ -0,0 +1,30 @@
|
||||
# SPDX-License-Identifier: MIT
|
||||
|
||||
CONFIG_SYS_CLOCK_HW_CYCLES_PER_SEC=125000000
|
||||
|
||||
CONFIG_RESET=y
|
||||
|
||||
# Enable clock control by default
|
||||
CONFIG_CLOCK_CONTROL=y
|
||||
|
||||
# Code partition needed to target the correct flash range
|
||||
CONFIG_USE_DT_CODE_PARTITION=y
|
||||
|
||||
# Output UF2 by default, native bootloader supports it.
|
||||
CONFIG_BUILD_OUTPUT_UF2=y
|
||||
|
||||
# USB HID
|
||||
CONFIG_ZMK_USB=y
|
||||
|
||||
# Settings Support
|
||||
CONFIG_MPU_ALLOW_FLASH_WRITE=y
|
||||
CONFIG_NVS=y
|
||||
CONFIG_SETTINGS_NVS=y
|
||||
CONFIG_FLASH=y
|
||||
CONFIG_FLASH_PAGE_LAYOUT=y
|
||||
CONFIG_FLASH_MAP=y
|
||||
|
||||
# Bootloader Support
|
||||
CONFIG_RETAINED_MEM=y
|
||||
CONFIG_RETENTION=y
|
||||
CONFIG_RETENTION_BOOT_MODE=y
|
||||
@@ -1,8 +0,0 @@
|
||||
CONFIG_CONSOLE=n
|
||||
CONFIG_SERIAL=n
|
||||
CONFIG_UART_CONSOLE=n
|
||||
CONFIG_ZMK_USB=y
|
||||
|
||||
CONFIG_RETAINED_MEM=y
|
||||
CONFIG_RETENTION=y
|
||||
CONFIG_RETENTION_BOOT_MODE=y
|
||||
@@ -1,9 +0,0 @@
|
||||
/*
|
||||
* Copyright (c) 2023 The ZMK Contributors
|
||||
*
|
||||
* SPDX-License-Identifier: MIT
|
||||
*/
|
||||
|
||||
#include <arm/raspberrypi/rp2040-boot-mode-retention.dtsi>
|
||||
|
||||
&pro_micro_serial { status = "disabled"; };
|
||||
@@ -1,8 +0,0 @@
|
||||
CONFIG_CONSOLE=n
|
||||
CONFIG_SERIAL=n
|
||||
CONFIG_UART_CONSOLE=n
|
||||
CONFIG_ZMK_USB=y
|
||||
|
||||
CONFIG_RETAINED_MEM=y
|
||||
CONFIG_RETENTION=y
|
||||
CONFIG_RETENTION_BOOT_MODE=y
|
||||
@@ -1,6 +0,0 @@
|
||||
CONFIG_CONSOLE=n
|
||||
CONFIG_SERIAL=n
|
||||
CONFIG_UART_CONSOLE=n
|
||||
CONFIG_UART_INTERRUPT_DRIVEN=n
|
||||
CONFIG_ZMK_USB=y
|
||||
CONFIG_ZMK_KSCAN_MATRIX_POLLING=y
|
||||
@@ -1,6 +0,0 @@
|
||||
CONFIG_CONSOLE=n
|
||||
CONFIG_SERIAL=n
|
||||
CONFIG_UART_CONSOLE=n
|
||||
CONFIG_UART_INTERRUPT_DRIVEN=n
|
||||
CONFIG_ZMK_USB=y
|
||||
CONFIG_ZMK_KSCAN_MATRIX_POLLING=y
|
||||
@@ -1,6 +0,0 @@
|
||||
CONFIG_CONSOLE=n
|
||||
CONFIG_SERIAL=n
|
||||
CONFIG_UART_CONSOLE=n
|
||||
CONFIG_UART_INTERRUPT_DRIVEN=n
|
||||
CONFIG_ZMK_USB=y
|
||||
CONFIG_ZMK_KSCAN_MATRIX_POLLING=y
|
||||
@@ -1,8 +0,0 @@
|
||||
CONFIG_CONSOLE=n
|
||||
CONFIG_SERIAL=n
|
||||
CONFIG_UART_CONSOLE=n
|
||||
CONFIG_ZMK_USB=y
|
||||
|
||||
CONFIG_RETAINED_MEM=y
|
||||
CONFIG_RETENTION=y
|
||||
CONFIG_RETENTION_BOOT_MODE=y
|
||||
@@ -1,32 +0,0 @@
|
||||
|
||||
#include <dt-bindings/zmk/keys.h>
|
||||
#include <dt-bindings/zmk/kscan_mock.h>
|
||||
|
||||
/ {
|
||||
chosen {
|
||||
zephyr,console = &uart0;
|
||||
zmk,kscan = &kscan;
|
||||
};
|
||||
|
||||
kscan: native_posix_64_kscan_mock {
|
||||
compatible = "zmk,kscan-mock";
|
||||
|
||||
rows = <2>;
|
||||
columns = <2>;
|
||||
exit-after;
|
||||
};
|
||||
|
||||
uart0: uart {
|
||||
status = "okay";
|
||||
compatible = "zephyr,native-posix-uart";
|
||||
/* Dummy current-speed entry to comply with serial
|
||||
* DTS binding
|
||||
*/
|
||||
current-speed = <0>;
|
||||
};
|
||||
};
|
||||
|
||||
&sdl_dc {
|
||||
width = <128>;
|
||||
height = <32>;
|
||||
};
|
||||
@@ -1,12 +0,0 @@
|
||||
# Copyright (c) 2025 The ZMK Contributors
|
||||
# SPDX-License-Identifier: MIT
|
||||
|
||||
CONFIG_ZMK_BLE=y
|
||||
CONFIG_ZMK_USB=y
|
||||
|
||||
CONFIG_MPU_ALLOW_FLASH_WRITE=y
|
||||
CONFIG_NVS=y
|
||||
CONFIG_SETTINGS_NVS=y
|
||||
CONFIG_FLASH=y
|
||||
CONFIG_FLASH_PAGE_LAYOUT=y
|
||||
CONFIG_FLASH_MAP=y
|
||||
@@ -1,4 +0,0 @@
|
||||
CONFIG_ZMK_BLE=y
|
||||
CONFIG_LOG=y
|
||||
CONFIG_LOG_BACKEND_SHOW_COLOR=n
|
||||
CONFIG_ZMK_LOG_LEVEL_DBG=y
|
||||
@@ -1,6 +0,0 @@
|
||||
CONFIG_ZMK_DISPLAY=y
|
||||
CONFIG_LV_FONT_UNSCII_8=n
|
||||
CONFIG_ZMK_USB=y
|
||||
CONFIG_I2C=y
|
||||
CONFIG_I2C_DW=y
|
||||
CONFIG_LV_Z_VDB_SIZE=50
|
||||
@@ -1,7 +0,0 @@
|
||||
/*
|
||||
* Copyright (c) 2023 The ZMK Contributors
|
||||
*
|
||||
* SPDX-License-Identifier: MIT
|
||||
*/
|
||||
|
||||
&xiao_serial { status = "disabled"; };
|
||||
@@ -1,16 +0,0 @@
|
||||
CONFIG_CONSOLE=n
|
||||
CONFIG_SERIAL=n
|
||||
CONFIG_UART_CONSOLE=n
|
||||
CONFIG_UART_INTERRUPT_DRIVEN=n
|
||||
CONFIG_ZMK_USB=y
|
||||
|
||||
CONFIG_MPU_ALLOW_FLASH_WRITE=y
|
||||
CONFIG_NVS=y
|
||||
CONFIG_SETTINGS_NVS=y
|
||||
CONFIG_FLASH=y
|
||||
CONFIG_FLASH_PAGE_LAYOUT=y
|
||||
CONFIG_FLASH_MAP=y
|
||||
|
||||
CONFIG_RETAINED_MEM=y
|
||||
CONFIG_RETENTION=y
|
||||
CONFIG_RETENTION_BOOT_MODE=y
|
||||
@@ -1,5 +0,0 @@
|
||||
CONFIG_CONSOLE=n
|
||||
CONFIG_SERIAL=n
|
||||
CONFIG_UART_CONSOLE=n
|
||||
CONFIG_UART_INTERRUPT_DRIVEN=n
|
||||
CONFIG_ZMK_USB=y
|
||||
@@ -1,15 +0,0 @@
|
||||
CONFIG_CONSOLE=n
|
||||
CONFIG_SERIAL=n
|
||||
CONFIG_UART_CONSOLE=n
|
||||
CONFIG_ZMK_USB=y
|
||||
|
||||
CONFIG_MPU_ALLOW_FLASH_WRITE=y
|
||||
CONFIG_NVS=y
|
||||
CONFIG_SETTINGS_NVS=y
|
||||
CONFIG_FLASH=y
|
||||
CONFIG_FLASH_PAGE_LAYOUT=y
|
||||
CONFIG_FLASH_MAP=y
|
||||
|
||||
CONFIG_RETAINED_MEM=y
|
||||
CONFIG_RETENTION=y
|
||||
CONFIG_RETENTION_BOOT_MODE=y
|
||||
@@ -1,15 +0,0 @@
|
||||
CONFIG_CONSOLE=n
|
||||
CONFIG_SERIAL=n
|
||||
CONFIG_UART_CONSOLE=n
|
||||
CONFIG_ZMK_USB=y
|
||||
|
||||
CONFIG_MPU_ALLOW_FLASH_WRITE=y
|
||||
CONFIG_NVS=y
|
||||
CONFIG_SETTINGS_NVS=y
|
||||
CONFIG_FLASH=y
|
||||
CONFIG_FLASH_PAGE_LAYOUT=y
|
||||
CONFIG_FLASH_MAP=y
|
||||
|
||||
CONFIG_RETAINED_MEM=y
|
||||
CONFIG_RETENTION=y
|
||||
CONFIG_RETENTION_BOOT_MODE=y
|
||||
@@ -4,9 +4,9 @@
|
||||
# SPDX-License-Identifier: MIT
|
||||
|
||||
config BOARD_NRFMICRO
|
||||
select SOC_NRF52840_QIAA if BOARD_NRFMICRO_NRF52840
|
||||
select SOC_NRF52840_QIAA if BOARD_NRFMICRO_NRF52840_FLIPPED
|
||||
select SOC_NRF52833_QIAA if BOARD_NRFMICRO_NRF52833
|
||||
imply RETAINED_MEM
|
||||
imply RETENTION
|
||||
imply RETENTION_BOOT_MODE
|
||||
select SOC_NRF52840_QIAA if BOARD_NRFMICRO_NRF52840_ZMK
|
||||
select SOC_NRF52840_QIAA if BOARD_NRFMICRO_NRF52840_FLIPPED_ZMK
|
||||
select SOC_NRF52833_QIAA if BOARD_NRFMICRO_NRF52833_ZMK
|
||||
imply RETAINED_MEM if BOARD_NRFMICRO_NRF52840_ZMK || BOARD_NRFMICRO_NRF52840_FLIPPED_ZMK || BOARD_NRFMICRO_NRF52833_ZMK
|
||||
imply RETENTION if BOARD_NRFMICRO_NRF52840_ZMK || BOARD_NRFMICRO_NRF52840_FLIPPED_ZMK || BOARD_NRFMICRO_NRF52833_ZMK
|
||||
imply RETENTION_BOOT_MODE if BOARD_NRFMICRO_NRF52840_ZMK || BOARD_NRFMICRO_NRF52840_FLIPPED_ZMK || BOARD_NRFMICRO_NRF52833_ZMK
|
||||
|
||||
@@ -1,14 +1,9 @@
|
||||
board:
|
||||
name: nrfmicro
|
||||
vendor: joric
|
||||
socs:
|
||||
- name: nrf52840
|
||||
extend: nrfmicro
|
||||
variants:
|
||||
- name: flipped
|
||||
- name: nrf52833
|
||||
revision:
|
||||
format: major.minor.patch
|
||||
default: 1.3.0
|
||||
revisions:
|
||||
- name: 1.3.0
|
||||
- name: 1.1.0
|
||||
- name: zmk
|
||||
qualifier: nrf52840
|
||||
- name: flipped_zmk
|
||||
qualifier: nrf52840
|
||||
- name: zmk
|
||||
qualifier: nrf52833
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
file_format: "1"
|
||||
id: nrfmicro/nrf52833
|
||||
id: nrfmicro/nrf52833/zmk
|
||||
name: nRFMicro (nRF52833)
|
||||
type: board
|
||||
arch: arm
|
||||
|
||||
29
app/boards/joric/nrfmicro/nrfmicro_nrf52833_zmk.dts
Normal file
29
app/boards/joric/nrfmicro/nrfmicro_nrf52833_zmk.dts
Normal file
@@ -0,0 +1,29 @@
|
||||
/*
|
||||
* Copyright (c) 2026 The ZMK Contributors
|
||||
*
|
||||
* SPDX-License-Identifier: MIT
|
||||
*/
|
||||
|
||||
#include <../boards/joric/nrfmicro/nrfmicro_nrf52833.dts>
|
||||
#include <common/nordic/nrf52833_uf2_boot_mode.dtsi>
|
||||
|
||||
/ {
|
||||
chosen {
|
||||
zmk,battery = &vbatt;
|
||||
};
|
||||
|
||||
// Node name must match original "EXT_POWER" label to preserve user settings.
|
||||
EXT_POWER {
|
||||
compatible = "zmk,ext-power-generic";
|
||||
control-gpios = <&gpio1 9 GPIO_ACTIVE_LOW>;
|
||||
init-delay-ms = <50>;
|
||||
};
|
||||
|
||||
vbatt: vbatt {
|
||||
compatible = "zmk,battery-voltage-divider";
|
||||
io-channels = <&adc 2>;
|
||||
output-ohms = <2000000>;
|
||||
full-ohms = <(2000000 + 820000)>;
|
||||
};
|
||||
};
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
file_format: "1"
|
||||
id: nrfmicro/nrf52840
|
||||
id: nrfmicro/nrf52840/zmk
|
||||
name: nRFMicro (nRF52840) 1.1/1.2/1.3
|
||||
type: board
|
||||
arch: arm
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
file_format: "1"
|
||||
id: nrfmicro/nrf52840/flipped
|
||||
id: nrfmicro/nrf52840/flipped_zmk
|
||||
name: nRFMicro nRF52840 (flipped)
|
||||
type: board
|
||||
arch: arm
|
||||
|
||||
@@ -1,6 +0,0 @@
|
||||
/*
|
||||
* Copyright (c) 2020 The ZMK Contributors
|
||||
*
|
||||
* SPDX-License-Identifier: MIT
|
||||
*/
|
||||
|
||||
17
app/boards/joric/nrfmicro/nrfmicro_nrf52840_flipped_zmk.dts
Normal file
17
app/boards/joric/nrfmicro/nrfmicro_nrf52840_flipped_zmk.dts
Normal file
@@ -0,0 +1,17 @@
|
||||
/*
|
||||
* Copyright (c) 2026 The ZMK Contributors
|
||||
*
|
||||
* SPDX-License-Identifier: MIT
|
||||
*/
|
||||
|
||||
#include <../boards/joric/nrfmicro/nrfmicro_nrf52840_flipped.dts>
|
||||
#include <common/nordic/nrf52840_uf2_boot_mode.dtsi>
|
||||
|
||||
/ {
|
||||
// Node name must match original "EXT_POWER" label to preserve user settings.
|
||||
EXT_POWER {
|
||||
compatible = "zmk,ext-power-generic";
|
||||
control-gpios = <&gpio1 9 GPIO_ACTIVE_HIGH>;
|
||||
init-delay-ms = <50>;
|
||||
};
|
||||
};
|
||||
29
app/boards/joric/nrfmicro/nrfmicro_nrf52840_zmk.dts
Normal file
29
app/boards/joric/nrfmicro/nrfmicro_nrf52840_zmk.dts
Normal file
@@ -0,0 +1,29 @@
|
||||
/*
|
||||
* Copyright (c) 2026 The ZMK Contributors
|
||||
*
|
||||
* SPDX-License-Identifier: MIT
|
||||
*/
|
||||
|
||||
#include <../boards/joric/nrfmicro/nrfmicro_nrf52840.dts>
|
||||
#include <common/nordic/nrf52840_uf2_boot_mode.dtsi>
|
||||
|
||||
/ {
|
||||
|
||||
chosen {
|
||||
zmk,battery = &vbatt;
|
||||
};
|
||||
|
||||
// Node name must match original "EXT_POWER" label to preserve user settings.
|
||||
EXT_POWER {
|
||||
compatible = "zmk,ext-power-generic";
|
||||
control-gpios = <&gpio1 9 GPIO_ACTIVE_LOW>;
|
||||
init-delay-ms = <50>;
|
||||
};
|
||||
|
||||
vbatt: vbatt {
|
||||
compatible = "zmk,battery-voltage-divider";
|
||||
io-channels = <&adc 2>;
|
||||
output-ohms = <2000000>;
|
||||
full-ohms = <(2000000 + 820000)>;
|
||||
};
|
||||
};
|
||||
@@ -1,8 +1,8 @@
|
||||
# Copyright (c) 2020 Pete Johanson, Derek Schmell
|
||||
# Copyright (c) 2026 Pete Johanson, Derek Schmell
|
||||
# SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
config BOARD_BLUEMICRO840
|
||||
select SOC_NRF52840_QIAA
|
||||
imply RETAINED_MEM
|
||||
imply RETENTION
|
||||
imply RETENTION_BOOT_MODE
|
||||
imply RETAINED_MEM if BOARD_BLUEMICRO840_NRF52840_ZMK
|
||||
imply RETENTION if BOARD_BLUEMICRO840_NRF52840_ZMK
|
||||
imply RETENTION_BOOT_MODE if BOARD_BLUEMICRO840_NRF52840_ZMK
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
file_format: "1"
|
||||
id: bluemicro840
|
||||
id: bluemicro840//zmk
|
||||
name: BlueMicro840 v1
|
||||
type: board
|
||||
arch: arm
|
||||
|
||||
@@ -0,0 +1,29 @@
|
||||
/*
|
||||
* Copyright (c) 2026 Pete Johanson, Derek Schmell
|
||||
*
|
||||
* SPDX-License-Identifier: MIT
|
||||
*/
|
||||
|
||||
#include <../boards/jpconstantineau/bluemicro840/bluemicro840.dts>
|
||||
#include <common/nordic/nrf52840_uf2_boot_mode.dtsi>
|
||||
|
||||
/ {
|
||||
chosen {
|
||||
zmk,battery = &vbatt;
|
||||
};
|
||||
|
||||
// Node name must match original "EXT_POWER" label to preserve user settings.
|
||||
EXT_POWER {
|
||||
compatible = "zmk,ext-power-generic";
|
||||
init-delay-ms = <20>;
|
||||
control-gpios = <&gpio0 12 GPIO_ACTIVE_HIGH>;
|
||||
};
|
||||
|
||||
vbatt: vbatt {
|
||||
compatible = "zmk,battery-voltage-divider";
|
||||
io-channels = <&adc 7>;
|
||||
output-ohms = <2000000>;
|
||||
full-ohms = <(2000000 + 806000)>;
|
||||
};
|
||||
|
||||
};
|
||||
@@ -1,5 +1,5 @@
|
||||
board:
|
||||
name: bluemicro840
|
||||
vendor: jpconstantineau
|
||||
socs:
|
||||
- name: nrf52840
|
||||
extend: bluemicro840
|
||||
variants:
|
||||
- name: zmk
|
||||
qualifier: nrf52840
|
||||
|
||||
@@ -3,3 +3,5 @@ board:
|
||||
vendor: kbdfans
|
||||
socs:
|
||||
- name: rp2040
|
||||
variants:
|
||||
- name: zmk
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
file_format: "1"
|
||||
id: tofu65
|
||||
id: tofu65//zmk
|
||||
name: KBDfans Tofu65 2.0
|
||||
type: board
|
||||
arch: arm
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
file_format: "1"
|
||||
id: bdn9
|
||||
id: bdn9//zmk
|
||||
name: BDN9 (Rev2)
|
||||
type: board
|
||||
arch: arm
|
||||
|
||||
@@ -3,6 +3,8 @@ board:
|
||||
vendor: keebio
|
||||
socs:
|
||||
- name: stm32f072xb
|
||||
variants:
|
||||
- name: zmk
|
||||
revision:
|
||||
format: major.minor.patch
|
||||
default: 2.0.0
|
||||
|
||||
@@ -3,9 +3,6 @@
|
||||
|
||||
if BOARD_PUCHI_BLE
|
||||
|
||||
config BOARD
|
||||
default "puchi_ble"
|
||||
|
||||
if USB_DEVICE_STACK
|
||||
|
||||
config USB_NRFX
|
||||
@@ -13,7 +10,4 @@ config USB_NRFX
|
||||
|
||||
endif # USB_DEVICE_STACK
|
||||
|
||||
config BT_CTLR
|
||||
default BT
|
||||
|
||||
endif # BOARD_PUCHI_BLE
|
||||
|
||||
@@ -5,6 +5,6 @@
|
||||
|
||||
config BOARD_PUCHI_BLE
|
||||
select SOC_NRF52840_QIAA
|
||||
imply RETAINED_MEM
|
||||
imply RETENTION
|
||||
imply RETENTION_BOOT_MODE
|
||||
imply RETAINED_MEM if BOARD_PUCHI_BLE_NRF52840_ZMK
|
||||
imply RETENTION if BOARD_PUCHI_BLE_NRF52840_ZMK
|
||||
imply RETENTION_BOOT_MODE if BOARD_PUCHI_BLE_NRF52840_ZMK
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
board:
|
||||
name: puchi_ble
|
||||
vendor: keycapsss
|
||||
socs:
|
||||
- name: nrf52840
|
||||
extend: puchi_ble
|
||||
variants:
|
||||
- name: zmk
|
||||
qualifier: nrf52840
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
file_format: "1"
|
||||
id: puchi_ble
|
||||
id: puchi_ble//zmk
|
||||
name: Puchi-BLE V1
|
||||
type: board
|
||||
arch: arm
|
||||
|
||||
29
app/boards/keycapsss/puchi_ble/puchi_ble_nrf52840_zmk.dts
Normal file
29
app/boards/keycapsss/puchi_ble/puchi_ble_nrf52840_zmk.dts
Normal file
@@ -0,0 +1,29 @@
|
||||
/*
|
||||
* Copyright (c) 2026 The ZMK Contributors
|
||||
*
|
||||
* SPDX-License-Identifier: MIT
|
||||
*/
|
||||
|
||||
#include <../boards/keycapsss/puchi_ble/puchi_ble.dts>
|
||||
#include <common/nordic/nrf52840_uf2_boot_mode.dtsi>
|
||||
|
||||
|
||||
/ {
|
||||
chosen {
|
||||
zmk,battery = &vbatt;
|
||||
};
|
||||
|
||||
// Node name must match original "EXT_POWER" label to preserve user settings.
|
||||
EXT_POWER {
|
||||
compatible = "zmk,ext-power-generic";
|
||||
control-gpios = <&gpio1 9 GPIO_ACTIVE_LOW>;
|
||||
};
|
||||
|
||||
vbatt: vbatt {
|
||||
compatible = "zmk,battery-voltage-divider";
|
||||
io-channels = <&adc 2>;
|
||||
output-ohms = <2000000>;
|
||||
full-ohms = <(2000000 + 820000)>;
|
||||
};
|
||||
};
|
||||
|
||||
@@ -13,5 +13,5 @@ outputs:
|
||||
- usb
|
||||
- ble
|
||||
siblings:
|
||||
- adv360pro_left
|
||||
- adv360pro_right
|
||||
- adv360pro_left//zmk
|
||||
- adv360pro_right//zmk
|
||||
|
||||
@@ -3,7 +3,11 @@ boards:
|
||||
vendor: kinesis
|
||||
socs:
|
||||
- name: nrf52840
|
||||
variants:
|
||||
- name: zmk
|
||||
- name: adv360pro_right
|
||||
vendor: kinesis
|
||||
socs:
|
||||
- name: nrf52840
|
||||
variants:
|
||||
- name: zmk
|
||||
|
||||
@@ -3,6 +3,8 @@ boards:
|
||||
vendor: lowprokb
|
||||
socs:
|
||||
- name: nrf52840
|
||||
variants:
|
||||
- name: zmk
|
||||
revision:
|
||||
format: major.minor.patch
|
||||
default: 2.0.0
|
||||
@@ -14,6 +16,8 @@ boards:
|
||||
vendor: lowprokb
|
||||
socs:
|
||||
- name: nrf52840
|
||||
variants:
|
||||
- name: zmk
|
||||
revision:
|
||||
format: major.minor.patch
|
||||
default: 2.0.0
|
||||
|
||||
@@ -15,5 +15,5 @@ revisions:
|
||||
- 2.0.0
|
||||
- 1.0.0
|
||||
siblings:
|
||||
- corneish_zen_left
|
||||
- corneish_zen_right
|
||||
- corneish_zen_left//zmk
|
||||
- corneish_zen_right//zmk
|
||||
|
||||
@@ -3,6 +3,6 @@
|
||||
|
||||
config BOARD_NRF52840_M2
|
||||
select SOC_NRF52840_QIAA
|
||||
imply RETAINED_MEM
|
||||
imply RETENTION
|
||||
imply RETENTION_BOOT_MODE
|
||||
imply RETAINED_MEM if BOARD_NRF52840_M2_NRF52840_ZMK
|
||||
imply RETENTION if BOARD_NRF52840_M2_NRF52840_ZMK
|
||||
imply RETENTION_BOOT_MODE if BOARD_NRF52840_M2_NRF52840_ZMK
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
board:
|
||||
name: nrf52840_m2
|
||||
vendor: makerdiary
|
||||
socs:
|
||||
- name: nrf52840
|
||||
extend: nrf52840_m2
|
||||
variants:
|
||||
- name: zmk
|
||||
qualifier: nrf52840
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
file_format: "1"
|
||||
id: nrf52840_m2
|
||||
id: nrf52840_m2//zmk
|
||||
name: nRF52840 M.2 Module
|
||||
type: board
|
||||
arch: arm
|
||||
|
||||
@@ -0,0 +1,25 @@
|
||||
/*
|
||||
* Copyright (c) 2026 The ZMK Contributors
|
||||
*
|
||||
* SPDX-License-Identifier: MIT
|
||||
*/
|
||||
|
||||
/dts-v1/;
|
||||
#include <../boards/makerdiary/nrf52840_m2/nrf52840_m2.dts>
|
||||
#include <common/nordic/nrf52840_uf2_boot_mode.dtsi>
|
||||
|
||||
/ {
|
||||
model = "Makerdiary nRF52840 M.2 module";
|
||||
compatible = "makerdiary,nrf52840_m2";
|
||||
|
||||
chosen {
|
||||
zmk,battery = &vbatt;
|
||||
};
|
||||
|
||||
vbatt: vbatt {
|
||||
compatible = "zmk,battery-voltage-divider";
|
||||
io-channels = <&adc 0>;
|
||||
output-ohms = <1000000>;
|
||||
full-ohms = <(1000000 + 1000000)>;
|
||||
};
|
||||
};
|
||||
@@ -3,6 +3,6 @@
|
||||
|
||||
config BOARD_PILLBUG
|
||||
select SOC_NRF52840_QIAA
|
||||
imply RETAINED_MEM
|
||||
imply RETENTION
|
||||
imply RETENTION_BOOT_MODE
|
||||
imply RETAINED_MEM if BOARD_PILLBUG_NRF52840_ZMK
|
||||
imply RETENTION if BOARD_PILLBUG_NRF52840_ZMK
|
||||
imply RETENTION_BOOT_MODE if BOARD_PILLBUG_NRF52840_ZMK
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
board:
|
||||
name: pillbug
|
||||
vendor: mechwild
|
||||
socs:
|
||||
- name: nrf52840
|
||||
variants:
|
||||
- name: zmk
|
||||
qualifier: nrf52840
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
file_format: "1"
|
||||
id: pillbug
|
||||
id: pillbug//zmk
|
||||
name: PillBug
|
||||
type: board
|
||||
arch: arm
|
||||
|
||||
32
app/boards/mechwild/pillbug/pillbug_nrf52840_zmk.dts
Normal file
32
app/boards/mechwild/pillbug/pillbug_nrf52840_zmk.dts
Normal file
@@ -0,0 +1,32 @@
|
||||
/*
|
||||
* Copyright (c) 2026 The ZMK Contributors
|
||||
*
|
||||
* SPDX-License-Identifier: MIT
|
||||
*/
|
||||
|
||||
/dts-v1/;
|
||||
|
||||
#include <../boards/mechwild/pillbug/pillbug.dts>
|
||||
#include <common/nordic/nrf52840_uf2_boot_mode.dtsi>
|
||||
|
||||
|
||||
/ {
|
||||
chosen {
|
||||
zmk,battery = &vbatt;
|
||||
};
|
||||
|
||||
|
||||
// Node name must match original "EXT_POWER" label to preserve user settings.
|
||||
EXT_POWER {
|
||||
compatible = "zmk,ext-power-generic";
|
||||
control-gpios = <&gpio1 7 GPIO_ACTIVE_LOW>;
|
||||
init-delay-ms = <50>;
|
||||
};
|
||||
|
||||
vbatt: vbatt {
|
||||
compatible = "zmk,battery-voltage-divider";
|
||||
io-channels = <&adc 2>;
|
||||
output-ohms = <2000000>;
|
||||
full-ohms = <(2000000 + 820000)>;
|
||||
};
|
||||
};
|
||||
@@ -3,3 +3,5 @@ board:
|
||||
vendor: mechwild
|
||||
socs:
|
||||
- name: nrf52840
|
||||
variants:
|
||||
- name: zmk
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
file_format: "1"
|
||||
id: s40nc
|
||||
id: s40nc//zmk
|
||||
name: S40NC
|
||||
type: board
|
||||
arch: arm
|
||||
|
||||
11
app/boards/native/native_sim/Kconfig
Normal file
11
app/boards/native/native_sim/Kconfig
Normal file
@@ -0,0 +1,11 @@
|
||||
|
||||
config BOARD_NATIVE_SIM
|
||||
bool
|
||||
select POSIX_ARCH_CONSOLE
|
||||
select NATIVE_LIBRARY
|
||||
select NATIVE_POSIX_TIMER
|
||||
select 64BIT if BOARD_NATIVE_SIM_NATIVE_ZMK_TEST_MOCK || BOARD_NATIVE_SIM_NATIVE_ZMK_DISPLAY_TESTING
|
||||
imply BOARD_NATIVE_POSIX if NATIVE_SIM_NATIVE_POSIX_COMPAT
|
||||
help
|
||||
Native simulator (Single Core)
|
||||
Will produce a console Linux process which can be executed natively.
|
||||
7
app/boards/native/native_sim/board.yml
Normal file
7
app/boards/native/native_sim/board.yml
Normal file
@@ -0,0 +1,7 @@
|
||||
board:
|
||||
extend: native_sim
|
||||
variants:
|
||||
- name: zmk_display_testing
|
||||
qualifier: native
|
||||
- name: zmk_test_mock
|
||||
qualifier: native
|
||||
@@ -0,0 +1,20 @@
|
||||
#include <dt-bindings/zmk/keys.h>
|
||||
#include <behaviors.dtsi>
|
||||
|
||||
/ {
|
||||
keymap {
|
||||
compatible = "zmk,keymap";
|
||||
|
||||
default_layer {
|
||||
bindings = <
|
||||
&none &mo 1
|
||||
&kp A &none>;
|
||||
};
|
||||
|
||||
lower_layer {
|
||||
bindings = <
|
||||
&none &trans
|
||||
&none &kp A>;
|
||||
};
|
||||
};
|
||||
};
|
||||
@@ -0,0 +1,12 @@
|
||||
# SPDX-License-Identifier: MIT
|
||||
|
||||
CONFIG_ZMK_DISPLAY=y
|
||||
|
||||
CONFIG_CONSOLE=y
|
||||
CONFIG_SYS_CLOCK_HW_CYCLES_PER_SEC=1000000
|
||||
|
||||
CONFIG_LOG=y
|
||||
CONFIG_LOG_BACKEND_SHOW_COLOR=n
|
||||
CONFIG_ZMK_LOG_LEVEL_DBG=y
|
||||
CONFIG_DEBUG=y
|
||||
CONFIG_SYS_CLOCK_TICKS_PER_SEC=1000
|
||||
@@ -1,6 +1,8 @@
|
||||
CONFIG_GPIO=n
|
||||
# Enable to have the native posix build expose USBIP device(s)
|
||||
# CONFIG_ZMK_USB=y
|
||||
# SPDX-License-Identifier: MIT
|
||||
|
||||
CONFIG_CONSOLE=y
|
||||
CONFIG_SYS_CLOCK_HW_CYCLES_PER_SEC=1000000
|
||||
|
||||
CONFIG_LOG=y
|
||||
CONFIG_LOG_BACKEND_SHOW_COLOR=n
|
||||
CONFIG_ZMK_LOG_LEVEL_DBG=y
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user