From b589dd60d6405eea4d2477e76b0f6b945876af4c Mon Sep 17 00:00:00 2001 From: Peter Johanson Date: Wed, 14 Jan 2026 23:39:37 -0700 Subject: [PATCH] refactor(boards): Move mikoto to ZMK variant by default Make the standard mikoto board ID be `mikoto/nrf52840/zmk` or `mikoto//zmk` by shorthand. --- ...to.overlay => mikoto_nrf52840_zmk.overlay} | 0 app/boards/zhiayang/mikoto/Kconfig.mikoto | 6 +-- app/boards/zhiayang/mikoto/board.yml | 17 ++----- app/boards/zhiayang/mikoto/mikoto.zmk.yml | 2 +- .../zhiayang/mikoto/mikoto_nrf52840_zmk.dts | 28 +++++++++++ .../mikoto/mikoto_nrf52840_zmk_5_20_0.overlay | 8 ++++ .../mikoto/mikoto_nrf52840_zmk_6_1_0.overlay | 8 ++++ .../mikoto/mikoto_nrf52840_zmk_7_2_0.overlay | 47 +++++++++++++++++++ ...nf => mikoto_nrf52840_zmk_7_2_0_defconfig} | 0 ...efconfig => mikoto_nrf52840_zmk_defconfig} | 0 .../boards/zhiayang/mikoto/CMakeLists.txt | 0 .../boards/zhiayang/mikoto/Kconfig | 0 .../boards/zhiayang/mikoto/Kconfig.defconfig | 3 -- .../boards/zhiayang/mikoto/Kconfig.mikoto | 5 ++ .../mikoto/arduino_pro_micro_pins_v5.dtsi | 0 .../mikoto/arduino_pro_micro_pins_v6.dtsi | 0 app/module/boards/zhiayang/mikoto/board.cmake | 5 ++ app/module/boards/zhiayang/mikoto/board.yml | 14 ++++++ .../zhiayang/mikoto/mikoto-pinctrl.dtsi | 0 .../boards/zhiayang/mikoto/mikoto.dts | 15 ------ .../boards/zhiayang/mikoto/mikoto.yaml | 0 .../zhiayang/mikoto/mikoto_5_20_0.overlay | 0 .../zhiayang/mikoto/mikoto_6_1_0.overlay | 0 .../boards/zhiayang/mikoto/mikoto_7_2_0.conf | 2 + .../zhiayang/mikoto/mikoto_7_2_0.overlay | 0 .../boards/zhiayang/mikoto/mikoto_defconfig | 12 +++++ .../boards/zhiayang/mikoto/pinmux.c | 0 .../boards/zhiayang/mikoto/pre_dt_board.cmake | 8 ++++ 28 files changed, 145 insertions(+), 35 deletions(-) rename app/boards/shields/nice_view_adapter/boards/{mikoto.overlay => mikoto_nrf52840_zmk.overlay} (100%) create mode 100644 app/boards/zhiayang/mikoto/mikoto_nrf52840_zmk.dts create mode 100644 app/boards/zhiayang/mikoto/mikoto_nrf52840_zmk_5_20_0.overlay create mode 100644 app/boards/zhiayang/mikoto/mikoto_nrf52840_zmk_6_1_0.overlay create mode 100644 app/boards/zhiayang/mikoto/mikoto_nrf52840_zmk_7_2_0.overlay rename app/boards/zhiayang/mikoto/{mikoto_7_2_0.conf => mikoto_nrf52840_zmk_7_2_0_defconfig} (100%) rename app/boards/zhiayang/mikoto/{mikoto_defconfig => mikoto_nrf52840_zmk_defconfig} (100%) rename app/{ => module}/boards/zhiayang/mikoto/CMakeLists.txt (100%) rename app/{ => module}/boards/zhiayang/mikoto/Kconfig (100%) rename app/{ => module}/boards/zhiayang/mikoto/Kconfig.defconfig (91%) create mode 100644 app/module/boards/zhiayang/mikoto/Kconfig.mikoto rename app/{ => module}/boards/zhiayang/mikoto/arduino_pro_micro_pins_v5.dtsi (100%) rename app/{ => module}/boards/zhiayang/mikoto/arduino_pro_micro_pins_v6.dtsi (100%) create mode 100644 app/module/boards/zhiayang/mikoto/board.cmake create mode 100644 app/module/boards/zhiayang/mikoto/board.yml rename app/{ => module}/boards/zhiayang/mikoto/mikoto-pinctrl.dtsi (100%) rename app/{ => module}/boards/zhiayang/mikoto/mikoto.dts (82%) rename app/{ => module}/boards/zhiayang/mikoto/mikoto.yaml (100%) rename app/{ => module}/boards/zhiayang/mikoto/mikoto_5_20_0.overlay (100%) rename app/{ => module}/boards/zhiayang/mikoto/mikoto_6_1_0.overlay (100%) create mode 100644 app/module/boards/zhiayang/mikoto/mikoto_7_2_0.conf rename app/{ => module}/boards/zhiayang/mikoto/mikoto_7_2_0.overlay (100%) create mode 100644 app/module/boards/zhiayang/mikoto/mikoto_defconfig rename app/{ => module}/boards/zhiayang/mikoto/pinmux.c (100%) create mode 100644 app/module/boards/zhiayang/mikoto/pre_dt_board.cmake diff --git a/app/boards/shields/nice_view_adapter/boards/mikoto.overlay b/app/boards/shields/nice_view_adapter/boards/mikoto_nrf52840_zmk.overlay similarity index 100% rename from app/boards/shields/nice_view_adapter/boards/mikoto.overlay rename to app/boards/shields/nice_view_adapter/boards/mikoto_nrf52840_zmk.overlay diff --git a/app/boards/zhiayang/mikoto/Kconfig.mikoto b/app/boards/zhiayang/mikoto/Kconfig.mikoto index 69ca49c0e..171227bd2 100644 --- a/app/boards/zhiayang/mikoto/Kconfig.mikoto +++ b/app/boards/zhiayang/mikoto/Kconfig.mikoto @@ -3,7 +3,7 @@ config BOARD_MIKOTO select SOC_NRF52840_QIAA - imply RETAINED_MEM - imply RETENTION - imply RETENTION_BOOT_MODE + imply RETAINED_MEM if BOARD_MIKOTO_NRF52840_ZMK + imply RETENTION if BOARD_MIKOTO_NRF52840_ZMK + imply RETENTION_BOOT_MODE if BOARD_MIKOTO_NRF52840_ZMK imply I2C if BOARD_REVISION="7.2.0" diff --git a/app/boards/zhiayang/mikoto/board.yml b/app/boards/zhiayang/mikoto/board.yml index d1f715576..745ed1c33 100644 --- a/app/boards/zhiayang/mikoto/board.yml +++ b/app/boards/zhiayang/mikoto/board.yml @@ -1,14 +1,5 @@ board: - name: mikoto - vendor: zhiayang - revision: - format: major.minor.patch - default: 5.20.0 - exact: false - revisions: - - name: 5.20.0 - - name: 6.1.0 - - name: 6.3.0 - - name: 7.2.0 - socs: - - name: nrf52840 + extend: mikoto + variants: + - name: zmk + qualifier: nrf52840 diff --git a/app/boards/zhiayang/mikoto/mikoto.zmk.yml b/app/boards/zhiayang/mikoto/mikoto.zmk.yml index 6e073410f..7726e82bd 100644 --- a/app/boards/zhiayang/mikoto/mikoto.zmk.yml +++ b/app/boards/zhiayang/mikoto/mikoto.zmk.yml @@ -1,5 +1,5 @@ file_format: "1" -id: mikoto +id: mikoto//zmk name: Mikoto type: board arch: arm diff --git a/app/boards/zhiayang/mikoto/mikoto_nrf52840_zmk.dts b/app/boards/zhiayang/mikoto/mikoto_nrf52840_zmk.dts new file mode 100644 index 000000000..7363967a4 --- /dev/null +++ b/app/boards/zhiayang/mikoto/mikoto_nrf52840_zmk.dts @@ -0,0 +1,28 @@ +/* + * Copyright (c) 2026 The ZMK Contributors + * + * SPDX-License-Identifier: MIT + */ + +#include <../boards/zhiayang/mikoto/mikoto.dts> +#include + +/ { + 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 = <&gpio0 13 GPIO_ACTIVE_HIGH>; + init-delay-ms = <50>; + }; + + vbatt: vbatt { + compatible = "zmk,battery-voltage-divider"; + io-channels = <&adc 1>; + output-ohms = <10000000>; + full-ohms = <(10000000 + 4000000)>; + }; +}; diff --git a/app/boards/zhiayang/mikoto/mikoto_nrf52840_zmk_5_20_0.overlay b/app/boards/zhiayang/mikoto/mikoto_nrf52840_zmk_5_20_0.overlay new file mode 100644 index 000000000..e5ea48646 --- /dev/null +++ b/app/boards/zhiayang/mikoto/mikoto_nrf52840_zmk_5_20_0.overlay @@ -0,0 +1,8 @@ +/* + * Copyright (c) 2026 The ZMK Contributors + * + * SPDX-License-Identifier: MIT + */ + +#include <../boards/zhiayang/mikoto/mikoto-pinctrl.dtsi> +#include <../boards/zhiayang/mikoto/arduino_pro_micro_pins_v5.dtsi> diff --git a/app/boards/zhiayang/mikoto/mikoto_nrf52840_zmk_6_1_0.overlay b/app/boards/zhiayang/mikoto/mikoto_nrf52840_zmk_6_1_0.overlay new file mode 100644 index 000000000..e5ea48646 --- /dev/null +++ b/app/boards/zhiayang/mikoto/mikoto_nrf52840_zmk_6_1_0.overlay @@ -0,0 +1,8 @@ +/* + * Copyright (c) 2026 The ZMK Contributors + * + * SPDX-License-Identifier: MIT + */ + +#include <../boards/zhiayang/mikoto/mikoto-pinctrl.dtsi> +#include <../boards/zhiayang/mikoto/arduino_pro_micro_pins_v5.dtsi> diff --git a/app/boards/zhiayang/mikoto/mikoto_nrf52840_zmk_7_2_0.overlay b/app/boards/zhiayang/mikoto/mikoto_nrf52840_zmk_7_2_0.overlay new file mode 100644 index 000000000..06db3f9ca --- /dev/null +++ b/app/boards/zhiayang/mikoto/mikoto_nrf52840_zmk_7_2_0.overlay @@ -0,0 +1,47 @@ +/* + * Copyright (c) 2026 The ZMK Contributors + * + * SPDX-License-Identifier: MIT + */ + +#include <../boards/zhiayang/mikoto/mikoto-pinctrl.dtsi> +#include <../boards/zhiayang/mikoto/arduino_pro_micro_pins_v6.dtsi> + +&pinctrl { + i2c1_default: i2c1_default { + group1 { + psels = , + ; + bias-pull-up; + }; + }; + + i2c1_sleep: i2c1_sleep { + group1 { + psels = , + ; + low-power-enable; + bias-pull-up; + }; + }; +}; + +&i2c1 { + status = "okay"; + compatible = "nordic,nrf-twi"; + pinctrl-0 = <&i2c1_default>; + pinctrl-1 = <&i2c1_sleep>; + pinctrl-names = "default", "sleep"; + + builtin_fuel_gauge: max17048@36 { + compatible = "zmk,maxim-max17048"; + status = "okay"; + reg = <0x36>; + }; +}; + +/ { + chosen { + zmk,battery = &builtin_fuel_gauge; + }; +}; diff --git a/app/boards/zhiayang/mikoto/mikoto_7_2_0.conf b/app/boards/zhiayang/mikoto/mikoto_nrf52840_zmk_7_2_0_defconfig similarity index 100% rename from app/boards/zhiayang/mikoto/mikoto_7_2_0.conf rename to app/boards/zhiayang/mikoto/mikoto_nrf52840_zmk_7_2_0_defconfig diff --git a/app/boards/zhiayang/mikoto/mikoto_defconfig b/app/boards/zhiayang/mikoto/mikoto_nrf52840_zmk_defconfig similarity index 100% rename from app/boards/zhiayang/mikoto/mikoto_defconfig rename to app/boards/zhiayang/mikoto/mikoto_nrf52840_zmk_defconfig diff --git a/app/boards/zhiayang/mikoto/CMakeLists.txt b/app/module/boards/zhiayang/mikoto/CMakeLists.txt similarity index 100% rename from app/boards/zhiayang/mikoto/CMakeLists.txt rename to app/module/boards/zhiayang/mikoto/CMakeLists.txt diff --git a/app/boards/zhiayang/mikoto/Kconfig b/app/module/boards/zhiayang/mikoto/Kconfig similarity index 100% rename from app/boards/zhiayang/mikoto/Kconfig rename to app/module/boards/zhiayang/mikoto/Kconfig diff --git a/app/boards/zhiayang/mikoto/Kconfig.defconfig b/app/module/boards/zhiayang/mikoto/Kconfig.defconfig similarity index 91% rename from app/boards/zhiayang/mikoto/Kconfig.defconfig rename to app/module/boards/zhiayang/mikoto/Kconfig.defconfig index ec6ee532d..730cc0059 100644 --- a/app/boards/zhiayang/mikoto/Kconfig.defconfig +++ b/app/module/boards/zhiayang/mikoto/Kconfig.defconfig @@ -15,9 +15,6 @@ config USB_DEVICE_STACK endif # USB -config BT_CTLR - default BT - choice BOARD_MIKOTO_CHARGER_CURRENT default BOARD_MIKOTO_CHARGER_CURRENT_100MA endchoice diff --git a/app/module/boards/zhiayang/mikoto/Kconfig.mikoto b/app/module/boards/zhiayang/mikoto/Kconfig.mikoto new file mode 100644 index 000000000..2190c382f --- /dev/null +++ b/app/module/boards/zhiayang/mikoto/Kconfig.mikoto @@ -0,0 +1,5 @@ +# Copyright (c) 2026 The ZMK Contributors +# SPDX-License-Identifier: Apache-2.0 + +config BOARD_MIKOTO + select SOC_NRF52840_QIAA diff --git a/app/boards/zhiayang/mikoto/arduino_pro_micro_pins_v5.dtsi b/app/module/boards/zhiayang/mikoto/arduino_pro_micro_pins_v5.dtsi similarity index 100% rename from app/boards/zhiayang/mikoto/arduino_pro_micro_pins_v5.dtsi rename to app/module/boards/zhiayang/mikoto/arduino_pro_micro_pins_v5.dtsi diff --git a/app/boards/zhiayang/mikoto/arduino_pro_micro_pins_v6.dtsi b/app/module/boards/zhiayang/mikoto/arduino_pro_micro_pins_v6.dtsi similarity index 100% rename from app/boards/zhiayang/mikoto/arduino_pro_micro_pins_v6.dtsi rename to app/module/boards/zhiayang/mikoto/arduino_pro_micro_pins_v6.dtsi diff --git a/app/module/boards/zhiayang/mikoto/board.cmake b/app/module/boards/zhiayang/mikoto/board.cmake new file mode 100644 index 000000000..73fa64a9a --- /dev/null +++ b/app/module/boards/zhiayang/mikoto/board.cmake @@ -0,0 +1,5 @@ +# 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) diff --git a/app/module/boards/zhiayang/mikoto/board.yml b/app/module/boards/zhiayang/mikoto/board.yml new file mode 100644 index 000000000..d1f715576 --- /dev/null +++ b/app/module/boards/zhiayang/mikoto/board.yml @@ -0,0 +1,14 @@ +board: + name: mikoto + vendor: zhiayang + revision: + format: major.minor.patch + default: 5.20.0 + exact: false + revisions: + - name: 5.20.0 + - name: 6.1.0 + - name: 6.3.0 + - name: 7.2.0 + socs: + - name: nrf52840 diff --git a/app/boards/zhiayang/mikoto/mikoto-pinctrl.dtsi b/app/module/boards/zhiayang/mikoto/mikoto-pinctrl.dtsi similarity index 100% rename from app/boards/zhiayang/mikoto/mikoto-pinctrl.dtsi rename to app/module/boards/zhiayang/mikoto/mikoto-pinctrl.dtsi diff --git a/app/boards/zhiayang/mikoto/mikoto.dts b/app/module/boards/zhiayang/mikoto/mikoto.dts similarity index 82% rename from app/boards/zhiayang/mikoto/mikoto.dts rename to app/module/boards/zhiayang/mikoto/mikoto.dts index c2a82a47c..e0ce24aa5 100644 --- a/app/boards/zhiayang/mikoto/mikoto.dts +++ b/app/module/boards/zhiayang/mikoto/mikoto.dts @@ -16,7 +16,6 @@ zephyr,code-partition = &code_partition; zephyr,sram = &sram0; zephyr,flash = &flash0; - zmk,battery = &vbatt; }; leds { @@ -25,20 +24,6 @@ gpios = <&gpio0 15 GPIO_ACTIVE_HIGH>; }; }; - - // Node name must match original "EXT_POWER" label to preserve user settings. - EXT_POWER { - compatible = "zmk,ext-power-generic"; - control-gpios = <&gpio0 13 GPIO_ACTIVE_HIGH>; - init-delay-ms = <50>; - }; - - vbatt: vbatt { - compatible = "zmk,battery-voltage-divider"; - io-channels = <&adc 1>; - output-ohms = <10000000>; - full-ohms = <(10000000 + 4000000)>; - }; }; ®1 { diff --git a/app/boards/zhiayang/mikoto/mikoto.yaml b/app/module/boards/zhiayang/mikoto/mikoto.yaml similarity index 100% rename from app/boards/zhiayang/mikoto/mikoto.yaml rename to app/module/boards/zhiayang/mikoto/mikoto.yaml diff --git a/app/boards/zhiayang/mikoto/mikoto_5_20_0.overlay b/app/module/boards/zhiayang/mikoto/mikoto_5_20_0.overlay similarity index 100% rename from app/boards/zhiayang/mikoto/mikoto_5_20_0.overlay rename to app/module/boards/zhiayang/mikoto/mikoto_5_20_0.overlay diff --git a/app/boards/zhiayang/mikoto/mikoto_6_1_0.overlay b/app/module/boards/zhiayang/mikoto/mikoto_6_1_0.overlay similarity index 100% rename from app/boards/zhiayang/mikoto/mikoto_6_1_0.overlay rename to app/module/boards/zhiayang/mikoto/mikoto_6_1_0.overlay diff --git a/app/module/boards/zhiayang/mikoto/mikoto_7_2_0.conf b/app/module/boards/zhiayang/mikoto/mikoto_7_2_0.conf new file mode 100644 index 000000000..8bf928868 --- /dev/null +++ b/app/module/boards/zhiayang/mikoto/mikoto_7_2_0.conf @@ -0,0 +1,2 @@ +CONFIG_I2C=y +CONFIG_ZMK_MAX17048=y diff --git a/app/boards/zhiayang/mikoto/mikoto_7_2_0.overlay b/app/module/boards/zhiayang/mikoto/mikoto_7_2_0.overlay similarity index 100% rename from app/boards/zhiayang/mikoto/mikoto_7_2_0.overlay rename to app/module/boards/zhiayang/mikoto/mikoto_7_2_0.overlay diff --git a/app/module/boards/zhiayang/mikoto/mikoto_defconfig b/app/module/boards/zhiayang/mikoto/mikoto_defconfig new file mode 100644 index 000000000..17ef2da47 --- /dev/null +++ b/app/module/boards/zhiayang/mikoto/mikoto_defconfig @@ -0,0 +1,12 @@ +# SPDX-License-Identifier: MIT + +# Enable MPU +CONFIG_ARM_MPU=y +CONFIG_PINCTRL=y + +# enable GPIO +CONFIG_GPIO=y + +CONFIG_USE_DT_CODE_PARTITION=y +CONFIG_BUILD_OUTPUT_UF2=y + diff --git a/app/boards/zhiayang/mikoto/pinmux.c b/app/module/boards/zhiayang/mikoto/pinmux.c similarity index 100% rename from app/boards/zhiayang/mikoto/pinmux.c rename to app/module/boards/zhiayang/mikoto/pinmux.c diff --git a/app/module/boards/zhiayang/mikoto/pre_dt_board.cmake b/app/module/boards/zhiayang/mikoto/pre_dt_board.cmake new file mode 100644 index 000000000..d2d492264 --- /dev/null +++ b/app/module/boards/zhiayang/mikoto/pre_dt_board.cmake @@ -0,0 +1,8 @@ +# Copyright (c) 2026 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")