Merge 0d1ea70f7e
into 58ccc5970d
This commit is contained in:
commit
ac9e2067cf
21 changed files with 215 additions and 20 deletions
|
@ -2,11 +2,11 @@ config BOARD_ENABLE_DCDC
|
||||||
bool "Enable DCDC mode"
|
bool "Enable DCDC mode"
|
||||||
select SOC_DCDC_NRF52X
|
select SOC_DCDC_NRF52X
|
||||||
default y
|
default y
|
||||||
depends on (BOARD_MIKOTO_520)
|
depends on (BOARD_MIKOTO)
|
||||||
|
|
||||||
choice BOARD_MIKOTO_CHARGER_CURRENT
|
choice BOARD_MIKOTO_CHARGER_CURRENT
|
||||||
prompt "Charge current to supply to attached batteries"
|
prompt "Charge current to supply to attached batteries"
|
||||||
depends on (BOARD_MIKOTO_520)
|
depends on (BOARD_MIKOTO)
|
||||||
|
|
||||||
config BOARD_MIKOTO_CHARGER_CURRENT_40MA
|
config BOARD_MIKOTO_CHARGER_CURRENT_40MA
|
||||||
bool "40mA charge current, for battery capacity 40mAh or higher"
|
bool "40mA charge current, for battery capacity 40mAh or higher"
|
||||||
|
@ -26,4 +26,4 @@ config BOARD_MIKOTO_CHARGER_CURRENT_350MA
|
||||||
config BOARD_MIKOTO_CHARGER_CURRENT_NONE
|
config BOARD_MIKOTO_CHARGER_CURRENT_NONE
|
||||||
bool "Disable charge current"
|
bool "Disable charge current"
|
||||||
|
|
||||||
endchoice
|
endchoice
|
||||||
|
|
|
@ -3,6 +3,6 @@
|
||||||
# Copyright (c) 2020 The ZMK Contributors
|
# Copyright (c) 2020 The ZMK Contributors
|
||||||
# SPDX-License-Identifier: MIT
|
# SPDX-License-Identifier: MIT
|
||||||
|
|
||||||
config BOARD_MIKOTO_520
|
config BOARD_MIKOTO
|
||||||
bool "mikoto_520"
|
bool "mikoto"
|
||||||
depends on SOC_NRF52840_QIAA
|
depends on SOC_NRF52840_QIAA
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
# Copyright (c) 2020 The ZMK Contributors
|
# Copyright (c) 2020 The ZMK Contributors
|
||||||
# SPDX-License-Identifier: MIT
|
# SPDX-License-Identifier: MIT
|
||||||
|
|
||||||
if BOARD_MIKOTO_520
|
if BOARD_MIKOTO
|
||||||
|
|
||||||
config BOARD
|
config BOARD
|
||||||
default "mikoto"
|
default "mikoto"
|
||||||
|
@ -25,4 +25,4 @@ choice BOARD_MIKOTO_CHARGER_CURRENT
|
||||||
default BOARD_MIKOTO_CHARGER_CURRENT_100MA
|
default BOARD_MIKOTO_CHARGER_CURRENT_100MA
|
||||||
endchoice
|
endchoice
|
||||||
|
|
||||||
endif # BOARD_MIKOTO_520
|
endif # BOARD_MIKOTO
|
||||||
|
|
59
app/boards/arm/mikoto/arduino_pro_micro_pins_v6.dtsi
Normal file
59
app/boards/arm/mikoto/arduino_pro_micro_pins_v6.dtsi
Normal file
|
@ -0,0 +1,59 @@
|
||||||
|
/*
|
||||||
|
* 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 4 0> /* D0 */
|
||||||
|
, <1 0 &gpio0 8 0> /* D1 */
|
||||||
|
, <2 0 &gpio0 17 0> /* D2 */
|
||||||
|
, <3 0 &gpio0 20 0> /* D3 */
|
||||||
|
, <4 0 &gpio0 22 0> /* D4/A6 */
|
||||||
|
, <5 0 &gpio0 24 0> /* D5 */
|
||||||
|
, <6 0 &gpio1 8 0> /* D6/A7 */
|
||||||
|
, <7 0 &gpio1 2 0> /* D7 */
|
||||||
|
, <8 0 &gpio1 4 0> /* D8/A8 */
|
||||||
|
, <9 0 &gpio1 6 0> /* D9/A9 */
|
||||||
|
, <10 0 &gpio0 9 0> /* D10/A10 */
|
||||||
|
, <16 0 &gpio0 10 0> /* D16 */
|
||||||
|
, <14 0 &gpio1 13 0> /* D14 */
|
||||||
|
, <15 0 &gpio0 2 0> /* D15 */
|
||||||
|
, <18 0 &gpio0 29 0> /* D18/A0 */
|
||||||
|
, <19 0 &gpio0 31 0> /* D19/A1 */
|
||||||
|
, <20 0 &gpio0 25 0> /* D20/A2 */
|
||||||
|
, <21 0 &gpio0 11 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 29 0> /* D18/A0 */
|
||||||
|
, <1 0 &gpio0 31 0> /* D19/A1 */
|
||||||
|
, <2 0 &gpio0 25 0> /* D20/A2 */
|
||||||
|
, <3 0 &gpio0 11 0> /* D21/A3 */
|
||||||
|
, <6 0 &gpio0 22 0> /* D4/A6 */
|
||||||
|
, <7 0 &gpio1 8 0> /* D6/A7 */
|
||||||
|
, <8 0 &gpio1 4 0> /* D8/A8 */
|
||||||
|
, <9 0 &gpio1 6 0> /* D9/A9 */
|
||||||
|
, <10 0 &gpio0 9 0> /* D10/A10 */
|
||||||
|
;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
pro_micro_d: &pro_micro {};
|
||||||
|
pro_micro_i2c: &i2c0 {};
|
||||||
|
pro_micro_spi: &spi0 {};
|
||||||
|
pro_micro_serial: &uart0 {};
|
|
@ -17,7 +17,7 @@
|
||||||
uart0_sleep: uart0_sleep {
|
uart0_sleep: uart0_sleep {
|
||||||
group1 {
|
group1 {
|
||||||
psels = <NRF_PSEL(UART_RX, 0, 4)>,
|
psels = <NRF_PSEL(UART_RX, 0, 4)>,
|
||||||
<NRF_PSEL(UART_TX, 0, 8)>;
|
<NRF_PSEL(UART_TX, 0, 8)>;
|
||||||
low-power-enable;
|
low-power-enable;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
@ -25,14 +25,14 @@
|
||||||
i2c0_default: i2c0_default {
|
i2c0_default: i2c0_default {
|
||||||
group1 {
|
group1 {
|
||||||
psels = <NRF_PSEL(TWIM_SDA, 0, 17)>,
|
psels = <NRF_PSEL(TWIM_SDA, 0, 17)>,
|
||||||
<NRF_PSEL(TWIM_SCL, 0, 20)>;
|
<NRF_PSEL(TWIM_SCL, 0, 20)>;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
i2c0_sleep: i2c0_sleep {
|
i2c0_sleep: i2c0_sleep {
|
||||||
group1 {
|
group1 {
|
||||||
psels = <NRF_PSEL(TWIM_SDA, 0, 17)>,
|
psels = <NRF_PSEL(TWIM_SDA, 0, 17)>,
|
||||||
<NRF_PSEL(TWIM_SCL, 0, 20)>;
|
<NRF_PSEL(TWIM_SCL, 0, 20)>;
|
||||||
low-power-enable;
|
low-power-enable;
|
||||||
};
|
};
|
||||||
};
|
};
|
|
@ -6,8 +6,6 @@
|
||||||
|
|
||||||
/dts-v1/;
|
/dts-v1/;
|
||||||
#include <nordic/nrf52840_qiaa.dtsi>
|
#include <nordic/nrf52840_qiaa.dtsi>
|
||||||
#include "arduino_pro_micro_pins.dtsi"
|
|
||||||
#include "mikoto_520-pinctrl.dtsi"
|
|
||||||
|
|
||||||
/ {
|
/ {
|
||||||
model = "mikoto";
|
model = "mikoto";
|
|
@ -1,5 +1,5 @@
|
||||||
identifier: mikoto_520
|
identifier: mikoto
|
||||||
name: mikoto_520
|
name: mikoto
|
||||||
type: mcu
|
type: mcu
|
||||||
arch: arm
|
arch: arm
|
||||||
toolchain:
|
toolchain:
|
|
@ -1,6 +1,6 @@
|
||||||
file_format: "1"
|
file_format: "1"
|
||||||
id: mikoto_520
|
id: mikoto
|
||||||
name: Mikoto 5.20
|
name: Mikoto
|
||||||
type: board
|
type: board
|
||||||
arch: arm
|
arch: arm
|
||||||
outputs:
|
outputs:
|
||||||
|
@ -8,3 +8,8 @@ outputs:
|
||||||
- ble
|
- ble
|
||||||
url: https://github.com/zhiayang/mikoto
|
url: https://github.com/zhiayang/mikoto
|
||||||
exposes: [pro_micro]
|
exposes: [pro_micro]
|
||||||
|
revisions:
|
||||||
|
- "5.20"
|
||||||
|
- "7.1"
|
||||||
|
- "7.3"
|
||||||
|
default_revision: "5.20"
|
8
app/boards/arm/mikoto/mikoto_5_20_0.overlay
Normal file
8
app/boards/arm/mikoto/mikoto_5_20_0.overlay
Normal file
|
@ -0,0 +1,8 @@
|
||||||
|
/*
|
||||||
|
* Copyright (c) 2023 The ZMK Contributors
|
||||||
|
*
|
||||||
|
* SPDX-License-Identifier: MIT
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include "mikoto-pinctrl.dtsi"
|
||||||
|
#include "arduino_pro_micro_pins_v5.dtsi"
|
8
app/boards/arm/mikoto/mikoto_6_1_0.overlay
Normal file
8
app/boards/arm/mikoto/mikoto_6_1_0.overlay
Normal file
|
@ -0,0 +1,8 @@
|
||||||
|
/*
|
||||||
|
* Copyright (c) 2023 The ZMK Contributors
|
||||||
|
*
|
||||||
|
* SPDX-License-Identifier: MIT
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include "mikoto-pinctrl.dtsi"
|
||||||
|
#include "arduino_pro_micro_pins_v6.dtsi"
|
2
app/boards/arm/mikoto/mikoto_7_1_0.conf
Normal file
2
app/boards/arm/mikoto/mikoto_7_1_0.conf
Normal file
|
@ -0,0 +1,2 @@
|
||||||
|
CONFIG_I2C=y
|
||||||
|
CONFIG_ZMK_MAX17048=y
|
45
app/boards/arm/mikoto/mikoto_7_1_0.overlay
Normal file
45
app/boards/arm/mikoto/mikoto_7_1_0.overlay
Normal file
|
@ -0,0 +1,45 @@
|
||||||
|
/*
|
||||||
|
* Copyright (c) 2023 The ZMK Contributors
|
||||||
|
*
|
||||||
|
* SPDX-License-Identifier: MIT
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include "mikoto-pinctrl.dtsi"
|
||||||
|
#include "arduino_pro_micro_pins_v6.dtsi"
|
||||||
|
|
||||||
|
&pinctrl {
|
||||||
|
i2c1_default: i2c1_default {
|
||||||
|
group1 {
|
||||||
|
psels = <NRF_PSEL(TWIM_SDA, 0, 23)>,
|
||||||
|
<NRF_PSEL(TWIM_SCL, 0, 19)>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
i2c1_sleep: i2c1_sleep {
|
||||||
|
group1 {
|
||||||
|
psels = <NRF_PSEL(TWIM_SDA, 0, 23)>,
|
||||||
|
<NRF_PSEL(TWIM_SCL, 0, 19)>;
|
||||||
|
low-power-enable;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
&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;
|
||||||
|
};
|
||||||
|
};
|
|
@ -2,11 +2,10 @@
|
||||||
|
|
||||||
CONFIG_SOC_SERIES_NRF52X=y
|
CONFIG_SOC_SERIES_NRF52X=y
|
||||||
CONFIG_SOC_NRF52840_QIAA=y
|
CONFIG_SOC_NRF52840_QIAA=y
|
||||||
CONFIG_BOARD_MIKOTO_520=y
|
CONFIG_BOARD_MIKOTO=y
|
||||||
|
|
||||||
# Enable MPU
|
# Enable MPU
|
||||||
CONFIG_ARM_MPU=y
|
CONFIG_ARM_MPU=y
|
||||||
|
|
||||||
CONFIG_PINCTRL=y
|
CONFIG_PINCTRL=y
|
||||||
|
|
||||||
# enable GPIO
|
# enable GPIO
|
|
@ -13,7 +13,7 @@
|
||||||
|
|
||||||
static int pinmux_mikoto_init(void) {
|
static int pinmux_mikoto_init(void) {
|
||||||
|
|
||||||
#if CONFIG_BOARD_MIKOTO_520
|
#if CONFIG_BOARD_MIKOTO
|
||||||
const struct device *p0 = DEVICE_DT_GET(DT_NODELABEL(gpio0));
|
const struct device *p0 = DEVICE_DT_GET(DT_NODELABEL(gpio0));
|
||||||
const struct device *p1 = DEVICE_DT_GET(DT_NODELABEL(gpio1));
|
const struct device *p1 = DEVICE_DT_GET(DT_NODELABEL(gpio1));
|
||||||
#if CONFIG_BOARD_MIKOTO_CHARGER_CURRENT_40MA
|
#if CONFIG_BOARD_MIKOTO_CHARGER_CURRENT_40MA
|
||||||
|
|
7
app/boards/arm/mikoto/revision.cmake
Normal file
7
app/boards/arm/mikoto/revision.cmake
Normal file
|
@ -0,0 +1,7 @@
|
||||||
|
board_check_revision(FORMAT MAJOR.MINOR.PATCH
|
||||||
|
DEFAULT_REVISION 5.20.0
|
||||||
|
VALID_REVISIONS
|
||||||
|
5.20.0 # first public release
|
||||||
|
6.1.0 6.3.0 # incompatible pinout change from v5+
|
||||||
|
7.1.0 # addition of MAX17048; compatible pinout with v6+
|
||||||
|
)
|
20
app/build.sh
Executable file
20
app/build.sh
Executable file
|
@ -0,0 +1,20 @@
|
||||||
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
pristine=""
|
||||||
|
if [ $# -gt 0 ] && [ "$1" = "-p" -o "$1" = "--pristine" ]; then
|
||||||
|
pristine="--pristine"
|
||||||
|
fi
|
||||||
|
|
||||||
|
COMMON_ARGS=(
|
||||||
|
"-DZEPHYR_TOOLCHAIN_VARIANT=zephyr"
|
||||||
|
"-DZEPHYR_SDK_INSTALL_DIR=/opt/pacman/opt/zephyr-sdk"
|
||||||
|
"-DZMK_CONFIG=$(pwd)/../../zmk-config/config"
|
||||||
|
"-Wno-dev"
|
||||||
|
)
|
||||||
|
|
||||||
|
set -x
|
||||||
|
|
||||||
|
west build -d build/left -b mikoto_520 ${pristine} -- -DSHIELD=misaka_left "${COMMON_ARGS[@]}" && mv build/left/zephyr/zmk.uf2 ./left.uf2
|
||||||
|
west build -d build/right -b mikoto_520 ${pristine} -- -DSHIELD=misaka_right "${COMMON_ARGS[@]}" && mv build/right/zephyr/zmk.uf2 ./right.uf2
|
||||||
|
|
||||||
|
|
BIN
app/left.uf2
Normal file
BIN
app/left.uf2
Normal file
Binary file not shown.
BIN
app/right.uf2
Normal file
BIN
app/right.uf2
Normal file
Binary file not shown.
|
@ -122,6 +122,9 @@ if [ "$keyboard_shield" == "y" ]; then
|
||||||
board_ids=({{#boards}}"{{id}}" {{/boards}})
|
board_ids=({{#boards}}"{{id}}" {{/boards}})
|
||||||
boards_usb_only=({{#boards}}"{{#usb_only}}y{{/usb_only}}{{^usb_only}}n{{/usb_only}}" {{/boards}})
|
boards_usb_only=({{#boards}}"{{#usb_only}}y{{/usb_only}}{{^usb_only}}n{{/usb_only}}" {{/boards}})
|
||||||
|
|
||||||
|
boards_revisions=({{#boards}}"{{#revisions}}{{.}} {{/revisions}}" {{/boards}})
|
||||||
|
boards_default_revision=({{#boards}}"{{{default_revision}}}" {{/boards}})
|
||||||
|
|
||||||
echo ""
|
echo ""
|
||||||
echo "MCU Board Selection:"
|
echo "MCU Board Selection:"
|
||||||
PS3="$prompt "
|
PS3="$prompt "
|
||||||
|
@ -151,6 +154,34 @@ if [ "$keyboard_shield" == "y" ]; then
|
||||||
|
|
||||||
esac
|
esac
|
||||||
done
|
done
|
||||||
|
|
||||||
|
if [ -n "${boards_revisions[$board_index]}" ]; then
|
||||||
|
read -a _valid_revisions <<< "${boards_revisions[$board_index]}"
|
||||||
|
for (( _i=0; _i<${#_valid_revisions}; _i++ )); do
|
||||||
|
if [ "${boards_default_revision[board_index]}" = "${_valid_revisions[_i]}" ]; then
|
||||||
|
_valid_revisions[_i]+=" (default)"
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
|
||||||
|
echo ""
|
||||||
|
echo "MCU Board Revision:"
|
||||||
|
select opt in "${_valid_revisions[@]}" "Quit"; do
|
||||||
|
''|*[!0-9]*) echo "Invalid option. Try another one."; continue;;
|
||||||
|
|
||||||
|
$(( ${#_valid_revisions[@]}+1 )) ) echo "Goodbye!"; exit 1;;
|
||||||
|
*)
|
||||||
|
if [ $REPLY -gt $(( ${#_valid_revisions[@]}+1 )) ] || [ $REPLY -lt 0 ]; then
|
||||||
|
echo "Invalid option. Try another one."
|
||||||
|
continue
|
||||||
|
fi
|
||||||
|
|
||||||
|
_rev_index=$(( $REPLY-1 ))
|
||||||
|
board="${board_ids[$board_index]}@${_valid_revisions[_rev_index]}"
|
||||||
|
boards=( "${board}" )
|
||||||
|
break
|
||||||
|
;;
|
||||||
|
done
|
||||||
|
fi
|
||||||
else
|
else
|
||||||
board=${keyboard}
|
board=${keyboard}
|
||||||
boards=$keyboard_siblings
|
boards=$keyboard_siblings
|
||||||
|
|
|
@ -16,7 +16,11 @@
|
||||||
"$defs": {
|
"$defs": {
|
||||||
"id": {
|
"id": {
|
||||||
"type": "string",
|
"type": "string",
|
||||||
"pattern": "^[a-z0-9_]+$"
|
"pattern": "^[a-z0-9_]+(@([A-Z]|[0-9]+|([0-9]+(\\.[0-9]+){1,2})))?$"
|
||||||
|
},
|
||||||
|
"revision": {
|
||||||
|
"type": "string",
|
||||||
|
"pattern": "[A-Z]|[0-9]+|([0-9]+(\\.[0-9]+){1,2})"
|
||||||
},
|
},
|
||||||
"keyboard_siblings": {
|
"keyboard_siblings": {
|
||||||
"type": "array",
|
"type": "array",
|
||||||
|
@ -202,6 +206,15 @@
|
||||||
},
|
},
|
||||||
"exposes": {
|
"exposes": {
|
||||||
"$ref": "#/$defs/interconnects"
|
"$ref": "#/$defs/interconnects"
|
||||||
|
},
|
||||||
|
"revisions": {
|
||||||
|
"type": "array",
|
||||||
|
"items": {
|
||||||
|
"$ref": "#/$defs/revision"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"default_revision": {
|
||||||
|
"$ref": "#/$defs/revision"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
Loading…
Add table
Reference in a new issue