From 7202a71f3763c7e7a2f111d4d61dfd2f3569a55e Mon Sep 17 00:00:00 2001 From: Peter Johanson Date: Tue, 13 Jan 2026 19:51:07 -0700 Subject: [PATCH] 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. --- app/boards/qmk/proton_c/board.yml | 8 ++++---- app/boards/qmk/proton_c/proton_c.zmk.yml | 2 +- .../qmk/proton_c/proton_c_stm32f303xc_zmk.dts | 9 +++++++++ ...config => proton_c_stm32f303xc_zmk_defconfig} | 0 app/core-coverage.yml | 4 ++-- .../boards/qmk/proton_c/Kconfig.proton_c | 0 .../qmk/proton_c/arduino_pro_micro_pins.dtsi | 0 app/module/boards/qmk/proton_c/board.cmake | 7 +++++++ app/module/boards/qmk/proton_c/board.yml | 5 +++++ .../boards/qmk/proton_c/proton_c.dts | 0 .../boards/qmk/proton_c/proton_c.yaml | 0 app/module/boards/qmk/proton_c/proton_c.zmk.yml | 9 +++++++++ .../boards/qmk/proton_c/proton_c_defconfig | 16 ++++++++++++++++ 13 files changed, 53 insertions(+), 7 deletions(-) create mode 100644 app/boards/qmk/proton_c/proton_c_stm32f303xc_zmk.dts rename app/boards/qmk/proton_c/{proton_c_defconfig => proton_c_stm32f303xc_zmk_defconfig} (100%) rename app/{ => module}/boards/qmk/proton_c/Kconfig.proton_c (100%) rename app/{ => module}/boards/qmk/proton_c/arduino_pro_micro_pins.dtsi (100%) create mode 100644 app/module/boards/qmk/proton_c/board.cmake create mode 100644 app/module/boards/qmk/proton_c/board.yml rename app/{ => module}/boards/qmk/proton_c/proton_c.dts (100%) rename app/{ => module}/boards/qmk/proton_c/proton_c.yaml (100%) create mode 100644 app/module/boards/qmk/proton_c/proton_c.zmk.yml create mode 100644 app/module/boards/qmk/proton_c/proton_c_defconfig diff --git a/app/boards/qmk/proton_c/board.yml b/app/boards/qmk/proton_c/board.yml index 54ecb64bb..0b6a5d3ea 100644 --- a/app/boards/qmk/proton_c/board.yml +++ b/app/boards/qmk/proton_c/board.yml @@ -1,5 +1,5 @@ board: - name: proton_c - vendor: qmk - socs: - - name: stm32f303xc + extend: proton_c + variants: + - name: zmk + qualifier: stm32f303xc diff --git a/app/boards/qmk/proton_c/proton_c.zmk.yml b/app/boards/qmk/proton_c/proton_c.zmk.yml index 682783ce6..e89acf243 100644 --- a/app/boards/qmk/proton_c/proton_c.zmk.yml +++ b/app/boards/qmk/proton_c/proton_c.zmk.yml @@ -1,5 +1,5 @@ file_format: "1" -id: proton_c +id: proton_c//zmk name: QMK Proton-C type: board arch: arm diff --git a/app/boards/qmk/proton_c/proton_c_stm32f303xc_zmk.dts b/app/boards/qmk/proton_c/proton_c_stm32f303xc_zmk.dts new file mode 100644 index 000000000..dfee886e4 --- /dev/null +++ b/app/boards/qmk/proton_c/proton_c_stm32f303xc_zmk.dts @@ -0,0 +1,9 @@ +/* + * Copyright (c) 2026 The ZMK Contributors + * + * SPDX-License-Identifier: MIT + */ + +/dts-v1/; +#include <../boards/qmk/proton_c/proton_c.dts> + diff --git a/app/boards/qmk/proton_c/proton_c_defconfig b/app/boards/qmk/proton_c/proton_c_stm32f303xc_zmk_defconfig similarity index 100% rename from app/boards/qmk/proton_c/proton_c_defconfig rename to app/boards/qmk/proton_c/proton_c_stm32f303xc_zmk_defconfig diff --git a/app/core-coverage.yml b/app/core-coverage.yml index cec368f9c..6b66b3b02 100644 --- a/app/core-coverage.yml +++ b/app/core-coverage.yml @@ -1,7 +1,7 @@ board: - nice_nano - nrfmicro/nrf52840/zmk - - proton_c + - proton_c//zmk shield: - corne_left - corne_right @@ -16,7 +16,7 @@ include: - board: nrf52840_m2//zmk shield: m60 - board: planck//zmk - - board: proton_c + - board: proton_c//zmk shield: clueboard_california - board: nice_nano shield: kyria_left diff --git a/app/boards/qmk/proton_c/Kconfig.proton_c b/app/module/boards/qmk/proton_c/Kconfig.proton_c similarity index 100% rename from app/boards/qmk/proton_c/Kconfig.proton_c rename to app/module/boards/qmk/proton_c/Kconfig.proton_c diff --git a/app/boards/qmk/proton_c/arduino_pro_micro_pins.dtsi b/app/module/boards/qmk/proton_c/arduino_pro_micro_pins.dtsi similarity index 100% rename from app/boards/qmk/proton_c/arduino_pro_micro_pins.dtsi rename to app/module/boards/qmk/proton_c/arduino_pro_micro_pins.dtsi diff --git a/app/module/boards/qmk/proton_c/board.cmake b/app/module/boards/qmk/proton_c/board.cmake new file mode 100644 index 000000000..9da8ea911 --- /dev/null +++ b/app/module/boards/qmk/proton_c/board.cmake @@ -0,0 +1,7 @@ +# SPDX-License-Identifier: MIT + +board_runner_args(dfu-util "--pid=0483:df11" "--alt=0" "--dfuse") +board_runner_args(jlink "--device=STM32F303CC" "--speed=4000") + +include(${ZEPHYR_BASE}/boards/common/dfu-util.board.cmake) +include(${ZEPHYR_BASE}/boards/common/jlink.board.cmake) diff --git a/app/module/boards/qmk/proton_c/board.yml b/app/module/boards/qmk/proton_c/board.yml new file mode 100644 index 000000000..54ecb64bb --- /dev/null +++ b/app/module/boards/qmk/proton_c/board.yml @@ -0,0 +1,5 @@ +board: + name: proton_c + vendor: qmk + socs: + - name: stm32f303xc diff --git a/app/boards/qmk/proton_c/proton_c.dts b/app/module/boards/qmk/proton_c/proton_c.dts similarity index 100% rename from app/boards/qmk/proton_c/proton_c.dts rename to app/module/boards/qmk/proton_c/proton_c.dts diff --git a/app/boards/qmk/proton_c/proton_c.yaml b/app/module/boards/qmk/proton_c/proton_c.yaml similarity index 100% rename from app/boards/qmk/proton_c/proton_c.yaml rename to app/module/boards/qmk/proton_c/proton_c.yaml diff --git a/app/module/boards/qmk/proton_c/proton_c.zmk.yml b/app/module/boards/qmk/proton_c/proton_c.zmk.yml new file mode 100644 index 000000000..682783ce6 --- /dev/null +++ b/app/module/boards/qmk/proton_c/proton_c.zmk.yml @@ -0,0 +1,9 @@ +file_format: "1" +id: proton_c +name: QMK Proton-C +type: board +arch: arm +outputs: + - usb +url: https://qmk.fm/proton-c/ +exposes: [pro_micro] diff --git a/app/module/boards/qmk/proton_c/proton_c_defconfig b/app/module/boards/qmk/proton_c/proton_c_defconfig new file mode 100644 index 000000000..83dd1ee9e --- /dev/null +++ b/app/module/boards/qmk/proton_c/proton_c_defconfig @@ -0,0 +1,16 @@ +# SPDX-License-Identifier: MIT + +# 72MHz system clock +CONFIG_SYS_CLOCK_HW_CYCLES_PER_SEC=72000000 + +# Floating Point Options +CONFIG_FPU=y + +# enable pinctrl +CONFIG_PINCTRL=y + +# enable GPIO +CONFIG_GPIO=y + +# clock configuration +CONFIG_CLOCK_CONTROL=y