forked from kofal.net/zmk
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,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
|
||||
@@ -1,3 +0,0 @@
|
||||
zephyr_library()
|
||||
zephyr_library_sources(pinmux.c)
|
||||
zephyr_library_include_directories(${ZEPHYR_BASE}/drivers)
|
||||
@@ -1,4 +0,0 @@
|
||||
config BOARD_NRFMICRO_CHARGER
|
||||
bool "Enable battery charger"
|
||||
default y
|
||||
depends on (BOARD_NRFMICRO && BOARD_REVISION = "1.3.0")
|
||||
@@ -1,29 +0,0 @@
|
||||
# Electronut Labs Papyr board configuration
|
||||
|
||||
# Copyright (c) 2020 The ZMK Contributors
|
||||
# SPDX-License-Identifier: MIT
|
||||
|
||||
if BOARD_NRFMICRO_NRF52840 || BOARD_NRFMICRO_NRF52840_FLIPPED || BOARD_NRFMICRO_NRF52833
|
||||
|
||||
config BOARD
|
||||
default "nrfmicro"
|
||||
|
||||
if USB_DEVICE_STACK
|
||||
|
||||
config USB_NRFX
|
||||
default y
|
||||
|
||||
endif # USB_DEVICE_STACK
|
||||
|
||||
config BT_CTLR
|
||||
default BT
|
||||
|
||||
if BOARD_REVISION = "1.3.0"
|
||||
|
||||
config BOARD_NRFMICRO_CHARGER
|
||||
default y
|
||||
|
||||
endif # BOARD_REVISION = "1.3.0"
|
||||
|
||||
|
||||
endif # BOARD_NRFMICRO_NRF52840 || BOARD_NRFMICRO_NRF52840_FLIPPED || BOARD_NRFMICRO_NRF52833
|
||||
@@ -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,59 +0,0 @@
|
||||
/*
|
||||
* Copyright (c) 2020 The ZMK Contributors
|
||||
*
|
||||
* SPDX-License-Identifier: MIT
|
||||
*/
|
||||
|
||||
|
||||
/ {
|
||||
pro_micro: connector {
|
||||
compatible = "arduino-pro-micro";
|
||||
#gpio-cells = <2>;
|
||||
gpio-map-mask = <0xffffffff 0xffffffc0>;
|
||||
gpio-map-pass-thru = <0 0x3f>;
|
||||
gpio-map
|
||||
= <0 0 &gpio0 8 0> /* D0 */
|
||||
, <1 0 &gpio0 6 0> /* D1 */
|
||||
, <2 0 &gpio0 15 0> /* D2 */
|
||||
, <3 0 &gpio0 17 0> /* D3 */
|
||||
, <4 0 &gpio0 20 0> /* D4/A6 */
|
||||
, <5 0 &gpio0 13 0> /* D5 */
|
||||
, <6 0 &gpio0 24 0> /* D6/A7 */
|
||||
, <7 0 &gpio0 9 0> /* D7 */
|
||||
, <8 0 &gpio0 10 0> /* D8/A8 */
|
||||
, <9 0 &gpio1 6 0> /* D9/A9 */
|
||||
, <10 0 &gpio1 11 0> /* D10/A10 */
|
||||
, <16 0 &gpio0 28 0> /* D16 */
|
||||
, <14 0 &gpio0 3 0> /* D14 */
|
||||
, <15 0 &gpio1 13 0> /* D15 */
|
||||
, <18 0 &gpio0 2 0> /* D18/A0 */
|
||||
, <19 0 &gpio0 29 0> /* D19/A1 */
|
||||
, <20 0 &gpio0 31 0> /* D20/A2 */
|
||||
, <21 0 &gpio0 30 0> /* D21/A3 */
|
||||
;
|
||||
};
|
||||
|
||||
pro_micro_a: connector_a {
|
||||
compatible = "arduino-pro-micro";
|
||||
#gpio-cells = <2>;
|
||||
gpio-map-mask = <0xffffffff 0xffffffc0>;
|
||||
gpio-map-pass-thru = <0 0x3f>;
|
||||
gpio-map
|
||||
= <0 0 &gpio0 2 0> /* D18/A0 */
|
||||
, <1 0 &gpio0 29 0> /* D19/A1 */
|
||||
, <2 0 &gpio0 31 0> /* D20/A2 */
|
||||
, <3 0 &gpio0 30 0> /* D21/A3 */
|
||||
, <6 0 &gpio0 20 0> /* D4/A6 */
|
||||
, <7 0 &gpio0 24 0> /* D6/A7 */
|
||||
, <8 0 &gpio0 10 0> /* D8/A8 */
|
||||
, <9 0 &gpio1 6 0> /* D9/A9 */
|
||||
, <10 0 &gpio1 11 0> /* D10/A10 */
|
||||
;
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
pro_micro_d: &pro_micro {};
|
||||
pro_micro_i2c: &i2c0 {};
|
||||
pro_micro_spi: &spi1 {};
|
||||
pro_micro_serial: &uart0 {};
|
||||
@@ -1,59 +0,0 @@
|
||||
/*
|
||||
* Copyright (c) 2020 The ZMK Contributors
|
||||
*
|
||||
* SPDX-License-Identifier: MIT
|
||||
*/
|
||||
|
||||
|
||||
/ {
|
||||
pro_micro: connector {
|
||||
compatible = "arduino-pro-micro";
|
||||
#gpio-cells = <2>;
|
||||
gpio-map-mask = <0xffffffff 0xffffffc0>;
|
||||
gpio-map-pass-thru = <0 0x3f>;
|
||||
gpio-map
|
||||
= <0 0 &gpio0 8 0> /* D0 */
|
||||
, <1 0 &gpio0 6 0> /* D1 */
|
||||
, <2 0 &gpio0 15 0> /* D2 */
|
||||
, <3 0 &gpio0 17 0> /* D3 */
|
||||
, <4 0 &gpio0 20 0> /* D4/A6 */
|
||||
, <5 0 &gpio0 13 0> /* D5 */
|
||||
, <6 0 &gpio0 24 0> /* D6/A7 */
|
||||
, <7 0 &gpio0 9 0> /* D7 */
|
||||
, <8 0 &gpio0 10 0> /* D8/A8 */
|
||||
, <9 0 &gpio1 6 0> /* D9/A9 */
|
||||
, <10 0 &gpio1 4 0> /* D10/A10 */
|
||||
, <16 0 &gpio0 28 0> /* D16 */
|
||||
, <14 0 &gpio0 3 0> /* D14 */
|
||||
, <15 0 &gpio1 5 0> /* D15 */
|
||||
, <18 0 &gpio0 2 0> /* D18/A0 */
|
||||
, <19 0 &gpio0 29 0> /* D19/A1 */
|
||||
, <20 0 &gpio0 31 0> /* D20/A2 */
|
||||
, <21 0 &gpio0 30 0> /* D21/A3 */
|
||||
;
|
||||
};
|
||||
|
||||
pro_micro_a: connector_a {
|
||||
compatible = "arduino-pro-micro";
|
||||
#gpio-cells = <2>;
|
||||
gpio-map-mask = <0xffffffff 0xffffffc0>;
|
||||
gpio-map-pass-thru = <0 0x3f>;
|
||||
gpio-map
|
||||
= <0 0 &gpio0 2 0> /* D18/A0 */
|
||||
, <1 0 &gpio0 29 0> /* D19/A1 */
|
||||
, <2 0 &gpio0 31 0> /* D20/A2 */
|
||||
, <3 0 &gpio0 30 0> /* D21/A3 */
|
||||
, <6 0 &gpio0 20 0> /* D4/A6 */
|
||||
, <7 0 &gpio0 24 0> /* D6/A7 */
|
||||
, <8 0 &gpio0 10 0> /* D8/A8 */
|
||||
, <9 0 &gpio1 6 0> /* D9/A9 */
|
||||
, <10 0 &gpio1 11 0> /* D10/A10 */
|
||||
;
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
pro_micro_d: &pro_micro {};
|
||||
pro_micro_i2c: &i2c0 {};
|
||||
pro_micro_spi: &spi1 {};
|
||||
pro_micro_serial: &uart0 {};
|
||||
@@ -1,57 +0,0 @@
|
||||
/*
|
||||
* Copyright (c) 2020 The ZMK Contributors
|
||||
*
|
||||
* SPDX-License-Identifier: MIT
|
||||
*/
|
||||
|
||||
/ {
|
||||
pro_micro: connector {
|
||||
compatible = "arduino-pro-micro";
|
||||
#gpio-cells = <2>;
|
||||
gpio-map-mask = <0xffffffff 0xffffffc0>;
|
||||
gpio-map-pass-thru = <0 0x3f>;
|
||||
gpio-map
|
||||
= <0 0 &gpio0 8 0> /* D0 */
|
||||
, <1 0 &gpio0 6 0> /* D1 */
|
||||
, <2 0 &gpio0 30 0> /* D2 */
|
||||
, <3 0 &gpio0 31 0> /* D3 */
|
||||
, <4 0 &gpio0 29 0> /* D4/A6 */
|
||||
, <5 0 &gpio0 2 0> /* D5 */
|
||||
, <6 0 &gpio1 13 0> /* D6/A7 */
|
||||
, <7 0 &gpio0 3 0> /* D7 */
|
||||
, <8 0 &gpio0 28 0> /* D8/A8 */
|
||||
, <9 0 &gpio1 11 0> /* D9/A9 */
|
||||
, <10 0 &gpio1 6 0> /* D10/A10 */
|
||||
, <16 0 &gpio0 10 0> /* D16 */
|
||||
, <14 0 &gpio0 9 0> /* D14 */
|
||||
, <15 0 &gpio0 24 0> /* D15 */
|
||||
, <18 0 &gpio0 13 0> /* D18/A0 */
|
||||
, <19 0 &gpio0 20 0> /* D19/A1 */
|
||||
, <20 0 &gpio0 17 0> /* D20/A2 */
|
||||
, <21 0 &gpio0 15 0> /* D21/A3 */
|
||||
;
|
||||
};
|
||||
|
||||
pro_micro_a: connector_a {
|
||||
compatible = "arduino-pro-micro";
|
||||
#gpio-cells = <2>;
|
||||
gpio-map-mask = <0xffffffff 0xffffffc0>;
|
||||
gpio-map-pass-thru = <0 0x3f>;
|
||||
gpio-map
|
||||
= <0 0 &gpio0 13 0> /* D18/A0 */
|
||||
, <1 0 &gpio0 20 0> /* D19/A1 */
|
||||
, <2 0 &gpio0 17 0> /* D20/A2 */
|
||||
, <3 0 &gpio0 15 0> /* D21/A3 */
|
||||
, <6 0 &gpio0 29 0> /* D4/A6 */
|
||||
, <7 0 &gpio1 13 0> /* D6/A7 */
|
||||
, <8 0 &gpio0 28 0> /* D8/A8 */
|
||||
, <9 0 &gpio1 11 0> /* D9/A9 */
|
||||
, <10 0 &gpio1 6 0> /* D10/A10 */
|
||||
;
|
||||
};
|
||||
};
|
||||
|
||||
pro_micro_d: &pro_micro {};
|
||||
pro_micro_i2c: &i2c0 {};
|
||||
pro_micro_spi: &spi1 {};
|
||||
pro_micro_serial: &uart0 {};
|
||||
@@ -1,5 +0,0 @@
|
||||
# SPDX-License-Identifier: MIT
|
||||
|
||||
board_runner_args(nrfjprog "--nrf-family=NRF52" "--softreset")
|
||||
include(${ZEPHYR_BASE}/boards/common/uf2.board.cmake)
|
||||
include(${ZEPHYR_BASE}/boards/common/nrfjprog.board.cmake)
|
||||
@@ -1,14 +1,9 @@
|
||||
board:
|
||||
name: nrfmicro
|
||||
vendor: joric
|
||||
socs:
|
||||
- name: nrf52840
|
||||
variants:
|
||||
- name: flipped
|
||||
- name: nrf52833
|
||||
revision:
|
||||
format: major.minor.patch
|
||||
default: 1.3.0
|
||||
revisions:
|
||||
- name: 1.3.0
|
||||
- name: 1.1.0
|
||||
extend: nrfmicro
|
||||
variants:
|
||||
- name: zmk
|
||||
qualifier: nrf52840
|
||||
- name: flipped_zmk
|
||||
qualifier: nrf52840
|
||||
- name: zmk
|
||||
qualifier: nrf52833
|
||||
|
||||
@@ -1,56 +0,0 @@
|
||||
/*
|
||||
* Copyright (c) 2022 The ZMK Contributors
|
||||
* SPDX-License-Identifier: MIT
|
||||
*/
|
||||
|
||||
&pinctrl {
|
||||
uart0_default: uart0_default {
|
||||
group1 {
|
||||
psels = <NRF_PSEL(UART_RX, 0, 8)>;
|
||||
bias-pull-up;
|
||||
};
|
||||
group2 {
|
||||
psels = <NRF_PSEL(UART_TX, 0, 6)>;
|
||||
};
|
||||
};
|
||||
|
||||
uart0_sleep: uart0_sleep {
|
||||
group1 {
|
||||
psels = <NRF_PSEL(UART_RX, 0, 8)>,
|
||||
<NRF_PSEL(UART_TX, 0, 6)>;
|
||||
low-power-enable;
|
||||
};
|
||||
};
|
||||
|
||||
i2c0_default: i2c0_default {
|
||||
group1 {
|
||||
psels = <NRF_PSEL(TWIM_SDA, 0, 30)>,
|
||||
<NRF_PSEL(TWIM_SCL, 0, 31)>;
|
||||
};
|
||||
};
|
||||
|
||||
i2c0_sleep: i2c0_sleep {
|
||||
group1 {
|
||||
psels = <NRF_PSEL(TWIM_SDA, 0, 30)>,
|
||||
<NRF_PSEL(TWIM_SCL, 0, 31)>;
|
||||
low-power-enable;
|
||||
};
|
||||
};
|
||||
|
||||
spi1_default: spi1_default {
|
||||
group1 {
|
||||
psels = <NRF_PSEL(SPIM_SCK, 0, 9)>,
|
||||
<NRF_PSEL(SPIM_MOSI, 0, 10)>,
|
||||
<NRF_PSEL(SPIM_MISO, 1, 6)>;
|
||||
};
|
||||
};
|
||||
|
||||
spi1_sleep: spi1_sleep {
|
||||
group1 {
|
||||
psels = <NRF_PSEL(SPIM_SCK, 0, 9)>,
|
||||
<NRF_PSEL(SPIM_MOSI, 0, 10)>,
|
||||
<NRF_PSEL(SPIM_MISO, 1, 6)>;
|
||||
low-power-enable;
|
||||
};
|
||||
};
|
||||
};
|
||||
@@ -1,56 +0,0 @@
|
||||
/*
|
||||
* Copyright (c) 2022 The ZMK Contributors
|
||||
* SPDX-License-Identifier: MIT
|
||||
*/
|
||||
|
||||
&pinctrl {
|
||||
uart0_default: uart0_default {
|
||||
group1 {
|
||||
psels = <NRF_PSEL(UART_RX, 0, 8)>;
|
||||
bias-pull-up;
|
||||
};
|
||||
group2 {
|
||||
psels = <NRF_PSEL(UART_TX, 0, 6)>;
|
||||
};
|
||||
};
|
||||
|
||||
uart0_sleep: uart0_sleep {
|
||||
group1 {
|
||||
psels = <NRF_PSEL(UART_RX, 0, 8)>,
|
||||
<NRF_PSEL(UART_TX, 0, 6)>;
|
||||
low-power-enable;
|
||||
};
|
||||
};
|
||||
|
||||
i2c0_default: i2c0_default {
|
||||
group1 {
|
||||
psels = <NRF_PSEL(TWIM_SDA, 0, 15)>,
|
||||
<NRF_PSEL(TWIM_SCL, 0, 17)>;
|
||||
};
|
||||
};
|
||||
|
||||
i2c0_sleep: i2c0_sleep {
|
||||
group1 {
|
||||
psels = <NRF_PSEL(TWIM_SDA, 0, 15)>,
|
||||
<NRF_PSEL(TWIM_SCL, 0, 17)>;
|
||||
low-power-enable;
|
||||
};
|
||||
};
|
||||
|
||||
spi1_default: spi1_default {
|
||||
group1 {
|
||||
psels = <NRF_PSEL(SPIM_SCK, 1, 13)>,
|
||||
<NRF_PSEL(SPIM_MOSI, 0, 28)>,
|
||||
<NRF_PSEL(SPIM_MISO, 0, 3)>;
|
||||
};
|
||||
};
|
||||
|
||||
spi1_sleep: spi1_sleep {
|
||||
group1 {
|
||||
psels = <NRF_PSEL(SPIM_SCK, 1, 13)>,
|
||||
<NRF_PSEL(SPIM_MOSI, 0, 28)>,
|
||||
<NRF_PSEL(SPIM_MISO, 0, 3)>;
|
||||
low-power-enable;
|
||||
};
|
||||
};
|
||||
};
|
||||
@@ -1,15 +0,0 @@
|
||||
identifier: nrfmicro_11
|
||||
name: nrfmicro_11
|
||||
type: mcu
|
||||
arch: arm
|
||||
toolchain:
|
||||
- zephyr
|
||||
- gnuarmemb
|
||||
- xtools
|
||||
supported:
|
||||
- adc
|
||||
- usb_device
|
||||
- ble
|
||||
- ieee802154
|
||||
- pwm
|
||||
- watchdog
|
||||
@@ -1,15 +0,0 @@
|
||||
identifier: nrfmicro_11_flipped
|
||||
name: nrfmicro_11_flipped
|
||||
type: mcu
|
||||
arch: arm
|
||||
toolchain:
|
||||
- zephyr
|
||||
- gnuarmemb
|
||||
- xtools
|
||||
supported:
|
||||
- adc
|
||||
- usb_device
|
||||
- ble
|
||||
- ieee802154
|
||||
- pwm
|
||||
- watchdog
|
||||
@@ -1,15 +0,0 @@
|
||||
identifier: nrfmicro_13
|
||||
name: nrfmicro_13
|
||||
type: mcu
|
||||
arch: arm
|
||||
toolchain:
|
||||
- zephyr
|
||||
- gnuarmemb
|
||||
- xtools
|
||||
supported:
|
||||
- adc
|
||||
- usb_device
|
||||
- ble
|
||||
- ieee802154
|
||||
- pwm
|
||||
- watchdog
|
||||
@@ -1,15 +0,0 @@
|
||||
identifier: nrfmicro_13_52833
|
||||
name: nrfmicro_13_52833
|
||||
type: mcu
|
||||
arch: arm
|
||||
toolchain:
|
||||
- zephyr
|
||||
- gnuarmemb
|
||||
- xtools
|
||||
supported:
|
||||
- adc
|
||||
- usb_device
|
||||
- ble
|
||||
- ieee802154
|
||||
- pwm
|
||||
- watchdog
|
||||
@@ -1,128 +0,0 @@
|
||||
/*
|
||||
* Copyright (c) 2020 The ZMK Contributors
|
||||
*
|
||||
* SPDX-License-Identifier: MIT
|
||||
*/
|
||||
|
||||
/dts-v1/;
|
||||
#include <nordic/nrf52833_qiaa.dtsi>
|
||||
#include <common/nordic/nrf52833_uf2_boot_mode.dtsi>
|
||||
|
||||
#include "arduino_pro_micro_pins_52833.dtsi"
|
||||
#include "nrfmicro-pinctrl.dtsi"
|
||||
|
||||
/ {
|
||||
model = "nrfmicro";
|
||||
compatible = "joric,nrfmicro";
|
||||
|
||||
chosen {
|
||||
zephyr,code-partition = &code_partition;
|
||||
zephyr,sram = &sram0;
|
||||
zephyr,flash = &flash0;
|
||||
zmk,battery = &vbatt;
|
||||
};
|
||||
|
||||
leds {
|
||||
compatible = "gpio-leds";
|
||||
blue_led: led_0 {
|
||||
gpios = <&gpio0 25 GPIO_ACTIVE_HIGH>;
|
||||
};
|
||||
};
|
||||
|
||||
// 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 {
|
||||
regulator-initial-mode = <NRF5X_REG_MODE_DCDC>;
|
||||
};
|
||||
|
||||
&adc {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&gpiote {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&gpio0 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&gpio1 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&i2c0 {
|
||||
compatible = "nordic,nrf-twi";
|
||||
pinctrl-0 = <&i2c0_default>;
|
||||
pinctrl-1 = <&i2c0_sleep>;
|
||||
pinctrl-names = "default", "sleep";
|
||||
};
|
||||
|
||||
&spi1 {
|
||||
compatible = "nordic,nrf-spim";
|
||||
pinctrl-0 = <&spi1_default>;
|
||||
pinctrl-1 = <&spi1_sleep>;
|
||||
pinctrl-names = "default", "sleep";
|
||||
};
|
||||
|
||||
&uart0 {
|
||||
compatible = "nordic,nrf-uarte";
|
||||
current-speed = <115200>;
|
||||
pinctrl-0 = <&uart0_default>;
|
||||
pinctrl-1 = <&uart0_sleep>;
|
||||
pinctrl-names = "default", "sleep";
|
||||
};
|
||||
|
||||
zephyr_udc0: &usbd {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
|
||||
&flash0 {
|
||||
/*
|
||||
* For more information, see:
|
||||
* http://docs.zephyrproject.org/latest/devices/dts/flash_partitions.html
|
||||
*/
|
||||
partitions {
|
||||
compatible = "fixed-partitions";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
|
||||
sd_partition: partition@0 {
|
||||
reg = <0x00000000 0x00026000>;
|
||||
};
|
||||
code_partition: partition@26000 {
|
||||
reg = <0x00026000 0x00046000>;
|
||||
};
|
||||
|
||||
/*
|
||||
* The flash starting at 0x0006c000 and ending at
|
||||
* 0x00073fff is reserved for use by the application.
|
||||
*/
|
||||
|
||||
/*
|
||||
* Storage partition will be used by FCB/LittleFS/NVS
|
||||
* if enabled.
|
||||
*/
|
||||
storage_partition: partition@6c000 {
|
||||
reg = <0x0006c000 0x00008000>;
|
||||
};
|
||||
|
||||
boot_partition: partition@74000 {
|
||||
reg = <0x00074000 0x0000c000>;
|
||||
};
|
||||
};
|
||||
};
|
||||
@@ -1,5 +1,5 @@
|
||||
file_format: "1"
|
||||
id: nrfmicro/nrf52833
|
||||
id: nrfmicro/nrf52833/zmk
|
||||
name: nRFMicro (nRF52833)
|
||||
type: board
|
||||
arch: arm
|
||||
|
||||
@@ -1,6 +0,0 @@
|
||||
/*
|
||||
* Copyright (c) 2020 The ZMK Contributors
|
||||
*
|
||||
* SPDX-License-Identifier: MIT
|
||||
*/
|
||||
|
||||
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,128 +0,0 @@
|
||||
/*
|
||||
* Copyright (c) 2020 The ZMK Contributors
|
||||
*
|
||||
* SPDX-License-Identifier: MIT
|
||||
*/
|
||||
|
||||
/dts-v1/;
|
||||
#include <nordic/nrf52840_qiaa.dtsi>
|
||||
#include <common/nordic/nrf52840_uf2_boot_mode.dtsi>
|
||||
|
||||
#include "arduino_pro_micro_pins.dtsi"
|
||||
#include "nrfmicro-pinctrl.dtsi"
|
||||
|
||||
/ {
|
||||
model = "nrfmicro";
|
||||
compatible = "joric,nrfmicro";
|
||||
|
||||
chosen {
|
||||
zephyr,code-partition = &code_partition;
|
||||
zephyr,sram = &sram0;
|
||||
zephyr,flash = &flash0;
|
||||
zmk,battery = &vbatt;
|
||||
};
|
||||
|
||||
leds {
|
||||
compatible = "gpio-leds";
|
||||
blue_led: led_0 {
|
||||
gpios = <&gpio1 10 GPIO_ACTIVE_HIGH>;
|
||||
};
|
||||
};
|
||||
|
||||
// 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 {
|
||||
regulator-initial-mode = <NRF5X_REG_MODE_DCDC>;
|
||||
};
|
||||
|
||||
&adc {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&gpiote {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&gpio0 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&gpio1 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&i2c0 {
|
||||
compatible = "nordic,nrf-twi";
|
||||
pinctrl-0 = <&i2c0_default>;
|
||||
pinctrl-1 = <&i2c0_sleep>;
|
||||
pinctrl-names = "default", "sleep";
|
||||
};
|
||||
|
||||
&spi1 {
|
||||
compatible = "nordic,nrf-spim";
|
||||
pinctrl-0 = <&spi1_default>;
|
||||
pinctrl-1 = <&spi1_sleep>;
|
||||
pinctrl-names = "default", "sleep";
|
||||
};
|
||||
|
||||
&uart0 {
|
||||
compatible = "nordic,nrf-uarte";
|
||||
current-speed = <115200>;
|
||||
pinctrl-0 = <&uart0_default>;
|
||||
pinctrl-1 = <&uart0_sleep>;
|
||||
pinctrl-names = "default", "sleep";
|
||||
};
|
||||
|
||||
zephyr_udc0: &usbd {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
|
||||
&flash0 {
|
||||
/*
|
||||
* For more information, see:
|
||||
* http://docs.zephyrproject.org/latest/devices/dts/flash_partitions.html
|
||||
*/
|
||||
partitions {
|
||||
compatible = "fixed-partitions";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
|
||||
sd_partition: partition@0 {
|
||||
reg = <0x00000000 0x00026000>;
|
||||
};
|
||||
code_partition: partition@26000 {
|
||||
reg = <0x00026000 0x000c6000>;
|
||||
};
|
||||
|
||||
/*
|
||||
* The flash starting at 0x000ec000 and ending at
|
||||
* 0x000f3fff is reserved for use by the application.
|
||||
*/
|
||||
|
||||
/*
|
||||
* Storage partition will be used by FCB/LittleFS/NVS
|
||||
* if enabled.
|
||||
*/
|
||||
storage_partition: partition@ec000 {
|
||||
reg = <0x000ec000 0x00008000>;
|
||||
};
|
||||
|
||||
boot_partition: partition@f4000 {
|
||||
reg = <0x000f4000 0x0000c000>;
|
||||
};
|
||||
};
|
||||
};
|
||||
@@ -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,116 +0,0 @@
|
||||
/*
|
||||
* Copyright (c) 2020 The ZMK Contributors
|
||||
*
|
||||
* SPDX-License-Identifier: MIT
|
||||
*/
|
||||
|
||||
/dts-v1/;
|
||||
#include <nordic/nrf52840_qiaa.dtsi>
|
||||
#include <common/nordic/nrf52840_uf2_boot_mode.dtsi>
|
||||
|
||||
#include "arduino_pro_micro_pins_flipped.dtsi"
|
||||
#include "nrfmicro-flipped-pinctrl.dtsi"
|
||||
|
||||
/ {
|
||||
model = "nrfmicro";
|
||||
compatible = "joric,nrfmicro";
|
||||
|
||||
chosen {
|
||||
zephyr,code-partition = &code_partition;
|
||||
zephyr,sram = &sram0;
|
||||
zephyr,flash = &flash0;
|
||||
};
|
||||
|
||||
leds {
|
||||
compatible = "gpio-leds";
|
||||
blue_led: led_0 {
|
||||
gpios = <&gpio1 10 GPIO_ACTIVE_HIGH>;
|
||||
};
|
||||
};
|
||||
|
||||
// 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>;
|
||||
};
|
||||
};
|
||||
|
||||
®1 {
|
||||
regulator-initial-mode = <NRF5X_REG_MODE_DCDC>;
|
||||
};
|
||||
|
||||
&gpiote {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&gpio0 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&gpio1 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&i2c0 {
|
||||
compatible = "nordic,nrf-twi";
|
||||
pinctrl-0 = <&i2c0_default>;
|
||||
pinctrl-1 = <&i2c0_sleep>;
|
||||
pinctrl-names = "default", "sleep";
|
||||
};
|
||||
|
||||
&spi1 {
|
||||
compatible = "nordic,nrf-spim";
|
||||
pinctrl-0 = <&spi1_default>;
|
||||
pinctrl-1 = <&spi1_sleep>;
|
||||
pinctrl-names = "default", "sleep";
|
||||
};
|
||||
|
||||
&uart0 {
|
||||
compatible = "nordic,nrf-uarte";
|
||||
current-speed = <115200>;
|
||||
pinctrl-0 = <&uart0_default>;
|
||||
pinctrl-1 = <&uart0_sleep>;
|
||||
pinctrl-names = "default", "sleep";
|
||||
};
|
||||
|
||||
zephyr_udc0: &usbd {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
|
||||
&flash0 {
|
||||
/*
|
||||
* For more information, see:
|
||||
* http://docs.zephyrproject.org/latest/devices/dts/flash_partitions.html
|
||||
*/
|
||||
partitions {
|
||||
compatible = "fixed-partitions";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
|
||||
sd_partition: partition@0 {
|
||||
reg = <0x00000000 0x00026000>;
|
||||
};
|
||||
code_partition: partition@26000 {
|
||||
reg = <0x00026000 0x000c6000>;
|
||||
};
|
||||
|
||||
/*
|
||||
* The flash starting at 0x000ec000 and ending at
|
||||
* 0x000f3fff is reserved for use by the application.
|
||||
*/
|
||||
|
||||
/*
|
||||
* Storage partition will be used by FCB/LittleFS/NVS
|
||||
* if enabled.
|
||||
*/
|
||||
storage_partition: partition@ec000 {
|
||||
reg = <0x000ec000 0x00008000>;
|
||||
};
|
||||
|
||||
boot_partition: partition@f4000 {
|
||||
reg = <0x000f4000 0x0000c000>;
|
||||
};
|
||||
};
|
||||
};
|
||||
@@ -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
|
||||
*/
|
||||
|
||||
@@ -1,9 +1,12 @@
|
||||
/*
|
||||
* Copyright (c) 2020 The ZMK Contributors
|
||||
* 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 {
|
||||
@@ -12,4 +15,3 @@
|
||||
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,27 +0,0 @@
|
||||
/*
|
||||
* Copyright (c) 2020 The ZMK Contributors
|
||||
*
|
||||
* SPDX-License-Identifier: MIT
|
||||
*/
|
||||
|
||||
#include <zephyr/kernel.h>
|
||||
#include <zephyr/device.h>
|
||||
#include <zephyr/init.h>
|
||||
#include <zephyr/drivers/gpio.h>
|
||||
#include <zephyr/sys/sys_io.h>
|
||||
#include <zephyr/devicetree.h>
|
||||
|
||||
static int pinmux_nrfmicro_init(void) {
|
||||
#if (CONFIG_BOARD_NRFMICRO_13 || CONFIG_BOARD_NRFMICRO_13_52833)
|
||||
const struct device *p0 = DEVICE_DT_GET(DT_NODELABEL(gpio0));
|
||||
#if CONFIG_BOARD_NRFMICRO_CHARGER
|
||||
gpio_pin_configure(p0, 5, GPIO_OUTPUT);
|
||||
gpio_pin_set(p0, 5, 0);
|
||||
#else
|
||||
gpio_pin_configure(p0, 5, GPIO_INPUT);
|
||||
#endif
|
||||
#endif
|
||||
return 0;
|
||||
}
|
||||
|
||||
SYS_INIT(pinmux_nrfmicro_init, APPLICATION, CONFIG_APPLICATION_INIT_PRIORITY);
|
||||
@@ -1,9 +0,0 @@
|
||||
#
|
||||
# Copyright (c) 2024 The ZMK Contributors
|
||||
# SPDX-License-Identifier: MIT
|
||||
#
|
||||
|
||||
# Suppresses duplicate unit-address warning at build time for power, clock, acl and flash-controller
|
||||
# https://docs.zephyrproject.org/latest/build/dts/intro-input-output.html
|
||||
|
||||
list(APPEND EXTRA_DTC_FLAGS "-Wno-unique_unit_address_if_enabled")
|
||||
@@ -1,8 +0,0 @@
|
||||
# SPDX-License-Identifier: MIT
|
||||
|
||||
config BOARD_ENABLE_DCDC
|
||||
bool "Enable DCDC mode"
|
||||
select SOC_DCDC_NRF52X
|
||||
default y
|
||||
depends on BOARD_BLUEMICRO840
|
||||
|
||||
@@ -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,18 +0,0 @@
|
||||
# BlueMicro840 board configuration
|
||||
|
||||
# Copyright (c) 2020 Pete Johanson, Derek Schmell
|
||||
# SPDX-License-Identifier: MIT
|
||||
|
||||
if BOARD_BLUEMICRO840
|
||||
|
||||
if USB_DEVICE_STACK
|
||||
|
||||
config USB_NRFX
|
||||
default y
|
||||
|
||||
endif # USB_DEVICE_STACK
|
||||
|
||||
config BT_CTLR
|
||||
default BT
|
||||
|
||||
endif # BOARD_BLUEMICRO840
|
||||
@@ -1,57 +0,0 @@
|
||||
/*
|
||||
* Copyright (c) 2020 Derek Schmell
|
||||
*
|
||||
* SPDX-License-Identifier: MIT
|
||||
*/
|
||||
|
||||
/ {
|
||||
pro_micro: connector {
|
||||
compatible = "arduino-pro-micro";
|
||||
#gpio-cells = <2>;
|
||||
gpio-map-mask = <0xffffffff 0xffffffc0>;
|
||||
gpio-map-pass-thru = <0 0x3f>;
|
||||
gpio-map
|
||||
= <0 0 &gpio0 8 0> /* D0 D2 */
|
||||
, <1 0 &gpio0 6 0> /* D1 D3*/
|
||||
, <2 0 &gpio0 15 0> /* D2 D1*/
|
||||
, <3 0 &gpio0 17 0> /* D3 D0*/
|
||||
, <4 0 &gpio0 20 0> /* D4/A6 D4*/
|
||||
, <5 0 &gpio0 13 0> /* D5 C6*/
|
||||
, <6 0 &gpio0 24 0> /* D6/A7 D7*/
|
||||
, <7 0 &gpio0 9 0> /* D7 E6*/
|
||||
, <8 0 &gpio0 10 0> /* D8/A8 B4*/
|
||||
, <9 0 &gpio1 6 0> /* D9/A9 B5*/
|
||||
, <10 0 &gpio1 11 0> /* D10/A10 B6*/
|
||||
, <16 0 &gpio0 28 0> /* D16 B2*/
|
||||
, <14 0 &gpio0 3 0> /* D14 B3*/
|
||||
, <15 0 &gpio1 13 0> /* D15 B1*/
|
||||
, <18 0 &gpio0 2 0> /* D18/A0 F7*/
|
||||
, <19 0 &gpio0 29 0> /* D19/A1 F6*/
|
||||
, <20 0 &gpio0 26 0> /* D20/A2 F5*/
|
||||
, <21 0 &gpio0 30 0> /* D21/A3 F4*/
|
||||
;
|
||||
};
|
||||
|
||||
pro_micro_a: connector_a {
|
||||
compatible = "arduino-pro-micro";
|
||||
#gpio-cells = <2>;
|
||||
gpio-map-mask = <0xffffffff 0xffffffc0>;
|
||||
gpio-map-pass-thru = <0 0x3f>;
|
||||
gpio-map
|
||||
= <0 0 &gpio0 2 0> /* D18/A0 F7*/
|
||||
, <1 0 &gpio0 29 0> /* D19/A1 F6*/
|
||||
, <2 0 &gpio0 26 0> /* D20/A2 F5*/
|
||||
, <3 0 &gpio0 30 0> /* D21/A3 F4*/
|
||||
, <6 0 &gpio0 20 0> /* D4/A6 D4*/
|
||||
, <7 0 &gpio0 24 0> /* D6/A7 D7*/
|
||||
, <8 0 &gpio0 10 0> /* D8/A8 B4*/
|
||||
, <9 0 &gpio1 6 0> /* D9/A9 B5*/
|
||||
, <10 0 &gpio1 11 0> /* D10/A10 B6*/
|
||||
;
|
||||
};
|
||||
};
|
||||
|
||||
pro_micro_d: &pro_micro {};
|
||||
pro_micro_i2c: &i2c0 {};
|
||||
pro_micro_spi: &spi1 {};
|
||||
pro_micro_serial: &uart0 {};
|
||||
@@ -1,56 +0,0 @@
|
||||
/*
|
||||
* Copyright (c) 2022 The ZMK Contributors
|
||||
* SPDX-License-Identifier: MIT
|
||||
*/
|
||||
|
||||
&pinctrl {
|
||||
uart0_default: uart0_default {
|
||||
group1 {
|
||||
psels = <NRF_PSEL(UART_RX, 0, 8)>;
|
||||
bias-pull-up;
|
||||
};
|
||||
group2 {
|
||||
psels = <NRF_PSEL(UART_TX, 0, 6)>;
|
||||
};
|
||||
};
|
||||
|
||||
uart0_sleep: uart0_sleep {
|
||||
group1 {
|
||||
psels = <NRF_PSEL(UART_RX, 0, 8)>,
|
||||
<NRF_PSEL(UART_TX, 0, 6)>;
|
||||
low-power-enable;
|
||||
};
|
||||
};
|
||||
|
||||
i2c0_default: i2c0_default {
|
||||
group1 {
|
||||
psels = <NRF_PSEL(TWIM_SDA, 0, 15)>,
|
||||
<NRF_PSEL(TWIM_SCL, 0, 17)>;
|
||||
};
|
||||
};
|
||||
|
||||
i2c0_sleep: i2c0_sleep {
|
||||
group1 {
|
||||
psels = <NRF_PSEL(TWIM_SDA, 0, 15)>,
|
||||
<NRF_PSEL(TWIM_SCL, 0, 17)>;
|
||||
low-power-enable;
|
||||
};
|
||||
};
|
||||
|
||||
spi1_default: spi1_default {
|
||||
group1 {
|
||||
psels = <NRF_PSEL(SPIM_SCK, 1, 13)>,
|
||||
<NRF_PSEL(SPIM_MOSI, 0, 28)>,
|
||||
<NRF_PSEL(SPIM_MISO, 0, 3)>;
|
||||
};
|
||||
};
|
||||
|
||||
spi1_sleep: spi1_sleep {
|
||||
group1 {
|
||||
psels = <NRF_PSEL(SPIM_SCK, 1, 13)>,
|
||||
<NRF_PSEL(SPIM_MOSI, 0, 28)>,
|
||||
<NRF_PSEL(SPIM_MISO, 0, 3)>;
|
||||
low-power-enable;
|
||||
};
|
||||
};
|
||||
};
|
||||
@@ -1,125 +0,0 @@
|
||||
/*
|
||||
* Copyright (c) 2020 Pete Johanson, Derek Schmell
|
||||
*
|
||||
* SPDX-License-Identifier: MIT
|
||||
*/
|
||||
|
||||
/dts-v1/;
|
||||
#include <nordic/nrf52840_qiaa.dtsi>
|
||||
#include <common/nordic/nrf52840_uf2_boot_mode.dtsi>
|
||||
|
||||
#include "arduino_pro_micro_pins.dtsi"
|
||||
#include "bluemicro840-pinctrl.dtsi"
|
||||
|
||||
/ {
|
||||
model = "BlueMicro840_V1";
|
||||
compatible = "bluemicro840,v1";
|
||||
|
||||
chosen {
|
||||
zephyr,code-partition = &code_partition;
|
||||
zephyr,sram = &sram0;
|
||||
zephyr,flash = &flash0;
|
||||
zmk,battery = &vbatt;
|
||||
};
|
||||
|
||||
leds {
|
||||
compatible = "gpio-leds";
|
||||
blue_led: led_0 {
|
||||
gpios = <&gpio1 10 GPIO_ACTIVE_HIGH>;
|
||||
};
|
||||
};
|
||||
|
||||
// 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)>;
|
||||
};
|
||||
|
||||
};
|
||||
|
||||
&adc {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&gpiote {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&gpio0 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&gpio1 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&i2c0 {
|
||||
compatible = "nordic,nrf-twi";
|
||||
pinctrl-0 = <&i2c0_default>;
|
||||
pinctrl-1 = <&i2c0_sleep>;
|
||||
pinctrl-names = "default", "sleep";
|
||||
};
|
||||
|
||||
&spi1 {
|
||||
compatible = "nordic,nrf-spim";
|
||||
pinctrl-0 = <&spi1_default>;
|
||||
pinctrl-1 = <&spi1_sleep>;
|
||||
pinctrl-names = "default", "sleep";
|
||||
};
|
||||
|
||||
&uart0 {
|
||||
compatible = "nordic,nrf-uarte";
|
||||
current-speed = <115200>;
|
||||
pinctrl-0 = <&uart0_default>;
|
||||
pinctrl-1 = <&uart0_sleep>;
|
||||
pinctrl-names = "default", "sleep";
|
||||
};
|
||||
|
||||
zephyr_udc0: &usbd {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
|
||||
&flash0 {
|
||||
/*
|
||||
* For more information, see:
|
||||
* http://docs.zephyrproject.org/latest/devices/dts/flash_partitions.html
|
||||
*/
|
||||
partitions {
|
||||
compatible = "fixed-partitions";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
|
||||
sd_partition: partition@0 {
|
||||
reg = <0x00000000 0x00026000>;
|
||||
};
|
||||
code_partition: partition@26000 {
|
||||
reg = <0x00026000 0x000c6000>;
|
||||
};
|
||||
|
||||
/*
|
||||
* The flash starting at 0x000ec000 and ending at
|
||||
* 0x000f3fff is reserved for use by the application.
|
||||
*/
|
||||
|
||||
/*
|
||||
* Storage partition will be used by FCB/LittleFS/NVS
|
||||
* if enabled.
|
||||
*/
|
||||
storage_partition: partition@ec000 {
|
||||
reg = <0x000ec000 0x00008000>;
|
||||
};
|
||||
|
||||
boot_partition: partition@f4000 {
|
||||
reg = <0x000f4000 0x0000c000>;
|
||||
};
|
||||
};
|
||||
};
|
||||
@@ -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
|
||||
|
||||
@@ -1,3 +0,0 @@
|
||||
zephyr_library()
|
||||
zephyr_library_sources(pinmux.c)
|
||||
zephyr_library_include_directories(${ZEPHYR_BASE}/drivers)
|
||||
@@ -1,3 +0,0 @@
|
||||
# Copyright (c) 2022 The ZMK Contributors
|
||||
# SPDX-License-Identifier: MIT
|
||||
|
||||
@@ -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,59 +0,0 @@
|
||||
/*
|
||||
* Copyright (c) 2022 The ZMK Contributors
|
||||
*
|
||||
* SPDX-License-Identifier: MIT
|
||||
*/
|
||||
|
||||
|
||||
/ {
|
||||
pro_micro: connector {
|
||||
compatible = "arduino-pro-micro";
|
||||
#gpio-cells = <2>;
|
||||
gpio-map-mask = <0xffffffff 0xffffffc0>;
|
||||
gpio-map-pass-thru = <0 0x3f>;
|
||||
gpio-map
|
||||
= <0 0 &gpio0 8 0> /* D0 */
|
||||
, <1 0 &gpio0 6 0> /* D1 */
|
||||
, <2 0 &gpio0 15 0> /* D2 */
|
||||
, <3 0 &gpio0 17 0> /* D3 */
|
||||
, <4 0 &gpio0 20 0> /* D4/A6 */
|
||||
, <5 0 &gpio0 13 0> /* D5 */
|
||||
, <6 0 &gpio0 24 0> /* D6/A7 */
|
||||
, <7 0 &gpio0 9 0> /* D7 */
|
||||
, <8 0 &gpio0 10 0> /* D8/A8 */
|
||||
, <9 0 &gpio1 6 0> /* D9/A9 */
|
||||
, <10 0 &gpio1 11 0> /* D10/A10 */
|
||||
, <16 0 &gpio0 28 0> /* D16 */
|
||||
, <14 0 &gpio0 3 0> /* D14 */
|
||||
, <15 0 &gpio1 13 0> /* D15 */
|
||||
, <18 0 &gpio0 2 0> /* D18/A0 */
|
||||
, <19 0 &gpio0 29 0> /* D19/A1 */
|
||||
, <20 0 &gpio0 31 0> /* D20/A2 */
|
||||
, <21 0 &gpio0 30 0> /* D21/A3 */
|
||||
;
|
||||
};
|
||||
|
||||
pro_micro_a: connector_a {
|
||||
compatible = "arduino-pro-micro";
|
||||
#gpio-cells = <2>;
|
||||
gpio-map-mask = <0xffffffff 0xffffffc0>;
|
||||
gpio-map-pass-thru = <0 0x3f>;
|
||||
gpio-map
|
||||
= <0 0 &gpio0 2 0> /* D18/A0 */
|
||||
, <1 0 &gpio0 29 0> /* D19/A1 */
|
||||
, <2 0 &gpio0 31 0> /* D20/A2 */
|
||||
, <3 0 &gpio0 30 0> /* D21/A3 */
|
||||
, <6 0 &gpio0 20 0> /* D4/A6 */
|
||||
, <7 0 &gpio0 24 0> /* D6/A7 */
|
||||
, <8 0 &gpio0 10 0> /* D8/A8 */
|
||||
, <9 0 &gpio1 6 0> /* D9/A9 */
|
||||
, <10 0 &gpio1 11 0> /* D10/A10 */
|
||||
;
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
pro_micro_d: &pro_micro {};
|
||||
pro_micro_i2c: &i2c0 {};
|
||||
pro_micro_spi: &spi0 {};
|
||||
pro_micro_serial: &uart0 {};
|
||||
@@ -1,6 +0,0 @@
|
||||
# Copyright (c) 2022 The ZMK Contributors
|
||||
# SPDX-License-Identifier: MIT
|
||||
|
||||
board_runner_args(nrfjprog "--nrf-family=NRF52" "--softreset")
|
||||
include(${ZEPHYR_BASE}/boards/common/uf2.board.cmake)
|
||||
include(${ZEPHYR_BASE}/boards/common/nrfjprog.board.cmake)
|
||||
@@ -1,5 +1,5 @@
|
||||
board:
|
||||
name: puchi_ble
|
||||
vendor: keycapsss
|
||||
socs:
|
||||
- name: nrf52840
|
||||
extend: puchi_ble
|
||||
variants:
|
||||
- name: zmk
|
||||
qualifier: nrf52840
|
||||
|
||||
@@ -1,27 +0,0 @@
|
||||
/*
|
||||
* Copyright (c) 2022 The ZMK Contributors
|
||||
*
|
||||
* SPDX-License-Identifier: MIT
|
||||
*/
|
||||
|
||||
#include <zephyr/kernel.h>
|
||||
#include <zephyr/device.h>
|
||||
#include <zephyr/init.h>
|
||||
#include <zephyr/drivers/gpio.h>
|
||||
#include <zephyr/sys/sys_io.h>
|
||||
#include <zephyr/devicetree.h>
|
||||
|
||||
static int pinmux_puchi_ble_init(void) {
|
||||
#if CONFIG_BOARD_PUCHI_BLE
|
||||
const struct device *p0 = DEVICE_DT_GET(DT_NODELABEL(gpio0));
|
||||
#if CONFIG_BOARD_PUCHI_BLE_CHARGER
|
||||
gpio_pin_configure(p0, 5, GPIO_OUTPUT);
|
||||
gpio_pin_set(p0, 5, 0);
|
||||
#else
|
||||
gpio_pin_configure(p0, 5, GPIO_INPUT);
|
||||
#endif
|
||||
#endif
|
||||
return 0;
|
||||
}
|
||||
|
||||
SYS_INIT(pinmux_puchi_ble_init, APPLICATION, CONFIG_APPLICATION_INIT_PRIORITY);
|
||||
@@ -1,39 +0,0 @@
|
||||
/*
|
||||
* Copyright (c) 2022 The ZMK Contributors
|
||||
* SPDX-License-Identifier: MIT
|
||||
*/
|
||||
|
||||
&pinctrl {
|
||||
uart0_default: uart0_default {
|
||||
group1 {
|
||||
psels = <NRF_PSEL(UART_RX, 0, 8)>;
|
||||
bias-pull-up;
|
||||
};
|
||||
group2 {
|
||||
psels = <NRF_PSEL(UART_TX, 0, 6)>;
|
||||
};
|
||||
};
|
||||
|
||||
uart0_sleep: uart0_sleep {
|
||||
group1 {
|
||||
psels = <NRF_PSEL(UART_RX, 0, 8)>,
|
||||
<NRF_PSEL(UART_TX, 0, 6)>;
|
||||
low-power-enable;
|
||||
};
|
||||
};
|
||||
|
||||
i2c0_default: i2c0_default {
|
||||
group1 {
|
||||
psels = <NRF_PSEL(TWIM_SDA, 0, 15)>,
|
||||
<NRF_PSEL(TWIM_SCL, 0, 17)>;
|
||||
};
|
||||
};
|
||||
|
||||
i2c0_sleep: i2c0_sleep {
|
||||
group1 {
|
||||
psels = <NRF_PSEL(TWIM_SDA, 0, 15)>,
|
||||
<NRF_PSEL(TWIM_SCL, 0, 17)>;
|
||||
low-power-enable;
|
||||
};
|
||||
};
|
||||
};
|
||||
@@ -1,115 +0,0 @@
|
||||
/*
|
||||
* Copyright (c) 2022 The ZMK Contributors
|
||||
*
|
||||
* SPDX-License-Identifier: MIT
|
||||
*/
|
||||
|
||||
/dts-v1/;
|
||||
#include <nordic/nrf52840_qiaa.dtsi>
|
||||
#include <common/nordic/nrf52840_uf2_boot_mode.dtsi>
|
||||
|
||||
#include "arduino_pro_micro_pins.dtsi"
|
||||
#include "puchi_ble-pinctrl.dtsi"
|
||||
|
||||
/ {
|
||||
model = "puchi_ble";
|
||||
compatible = "puchi_ble";
|
||||
|
||||
chosen {
|
||||
zephyr,code-partition = &code_partition;
|
||||
zephyr,sram = &sram0;
|
||||
zephyr,flash = &flash0;
|
||||
zmk,battery = &vbatt;
|
||||
};
|
||||
|
||||
leds {
|
||||
compatible = "gpio-leds";
|
||||
blue_led: led_0 {
|
||||
gpios = <&gpio1 10 GPIO_ACTIVE_HIGH>;
|
||||
};
|
||||
};
|
||||
|
||||
// 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)>;
|
||||
};
|
||||
};
|
||||
|
||||
&adc {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&gpiote {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&gpio0 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&gpio1 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&i2c0 {
|
||||
compatible = "nordic,nrf-twi";
|
||||
pinctrl-0 = <&i2c0_default>;
|
||||
pinctrl-1 = <&i2c0_sleep>;
|
||||
pinctrl-names = "default", "sleep";
|
||||
};
|
||||
|
||||
&uart0 {
|
||||
compatible = "nordic,nrf-uarte";
|
||||
pinctrl-0 = <&uart0_default>;
|
||||
pinctrl-1 = <&uart0_sleep>;
|
||||
pinctrl-names = "default", "sleep";
|
||||
};
|
||||
|
||||
zephyr_udc0: &usbd {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
|
||||
&flash0 {
|
||||
/*
|
||||
* For more information, see:
|
||||
* http://docs.zephyrproject.org/latest/devices/dts/flash_partitions.html
|
||||
*/
|
||||
partitions {
|
||||
compatible = "fixed-partitions";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
|
||||
sd_partition: partition@0 {
|
||||
reg = <0x00000000 0x00026000>;
|
||||
};
|
||||
code_partition: partition@26000 {
|
||||
reg = <0x00026000 0x000c6000>;
|
||||
};
|
||||
|
||||
/*
|
||||
* The flash starting at 0x000ec000 and ending at
|
||||
* 0x000f3fff is reserved for use by the application.
|
||||
*/
|
||||
|
||||
/*
|
||||
* Storage partition will be used by FCB/LittleFS/NVS
|
||||
* if enabled.
|
||||
*/
|
||||
storage_partition: partition@ec000 {
|
||||
reg = <0x000ec000 0x00008000>;
|
||||
};
|
||||
|
||||
boot_partition: partition@f4000 {
|
||||
reg = <0x000f4000 0x0000c000>;
|
||||
};
|
||||
};
|
||||
};
|
||||
@@ -1,15 +0,0 @@
|
||||
identifier: puchi_ble
|
||||
name: puchi_ble
|
||||
type: mcu
|
||||
arch: arm
|
||||
toolchain:
|
||||
- zephyr
|
||||
- gnuarmemb
|
||||
- xtools
|
||||
supported:
|
||||
- adc
|
||||
- usb_device
|
||||
- ble
|
||||
- ieee802154
|
||||
- pwm
|
||||
- watchdog
|
||||
@@ -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
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user