create bluehand keyboard
This commit is contained in:
parent
d7ea270775
commit
8c22dc3b6a
9 changed files with 254 additions and 14 deletions
8
app/boards/arm/bluehand/Kconfig
Normal file
8
app/boards/arm/bluehand/Kconfig
Normal file
|
@ -0,0 +1,8 @@
|
||||||
|
# SPDX-License-Identifier: MIT
|
||||||
|
|
||||||
|
config BOARD_ENABLE_DCDC
|
||||||
|
bool "Enable DCDC mode"
|
||||||
|
select SOC_DCDC_NRF52X
|
||||||
|
default y
|
||||||
|
depends on BOARD_BLUEHAND
|
||||||
|
|
8
app/boards/arm/bluehand/Kconfig.board
Normal file
8
app/boards/arm/bluehand/Kconfig.board
Normal file
|
@ -0,0 +1,8 @@
|
||||||
|
# BlueHand board configuration
|
||||||
|
|
||||||
|
# Copyright (c) 2022 The ZMK Contributors
|
||||||
|
# SPDX-License-Identifier: MIT
|
||||||
|
|
||||||
|
config BOARD_BLUEHAND
|
||||||
|
bool "BlueHand"
|
||||||
|
depends on SOC_NRF52840_QIAA
|
27
app/boards/arm/bluehand/Kconfig.defconfig
Normal file
27
app/boards/arm/bluehand/Kconfig.defconfig
Normal file
|
@ -0,0 +1,27 @@
|
||||||
|
# Copyright (c) 2022 The ZMK Contributors
|
||||||
|
# SPDX-License-Identifier: MIT
|
||||||
|
|
||||||
|
# BlueHand keyboard configuration
|
||||||
|
|
||||||
|
if BOARD_BLUEHAND
|
||||||
|
|
||||||
|
config ZMK_KEYBOARD_NAME
|
||||||
|
default "bluehand"
|
||||||
|
|
||||||
|
if USB_DEVICE_STACK
|
||||||
|
|
||||||
|
config USB_NRFX
|
||||||
|
default y
|
||||||
|
|
||||||
|
endif # USB_DEVICE_STACK
|
||||||
|
|
||||||
|
config BT_CTLR
|
||||||
|
default BT
|
||||||
|
|
||||||
|
config ZMK_BLE
|
||||||
|
default y
|
||||||
|
|
||||||
|
config ZMK_USB
|
||||||
|
default y
|
||||||
|
|
||||||
|
endif # BOARD_BLUEHAND
|
57
app/boards/arm/bluehand/arduino_pro_micro_pins.dtsi
Normal file
57
app/boards/arm/bluehand/arduino_pro_micro_pins.dtsi
Normal file
|
@ -0,0 +1,57 @@
|
||||||
|
/*
|
||||||
|
* 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: &spi0 {};
|
||||||
|
pro_micro_serial: &uart0 {};
|
128
app/boards/arm/bluehand/bluehand.dts
Normal file
128
app/boards/arm/bluehand/bluehand.dts
Normal file
|
@ -0,0 +1,128 @@
|
||||||
|
/*
|
||||||
|
* Copyright (c) 2022 The ZMK Contributors
|
||||||
|
*
|
||||||
|
* SPDX-License-Identifier: MIT
|
||||||
|
*/
|
||||||
|
|
||||||
|
/dts-v1/;
|
||||||
|
#include <nordic/nrf52840_qiaa.dtsi>
|
||||||
|
#include "arduino_pro_micro_pins.dtsi"
|
||||||
|
|
||||||
|
/ {
|
||||||
|
model = "BlueHand";
|
||||||
|
compatible = "blue,hand";
|
||||||
|
|
||||||
|
chosen {
|
||||||
|
zephyr,code-partition = &code_partition;
|
||||||
|
zephyr,sram = &sram0;
|
||||||
|
zephyr,flash = &flash0;
|
||||||
|
zephyr,console = &cdc_acm_uart;
|
||||||
|
zmk,kscan = &kscan0;
|
||||||
|
zmk,matrix_transform = &layout_grid_transform;
|
||||||
|
};
|
||||||
|
|
||||||
|
kscan0: kscan_0 {
|
||||||
|
compatible = "zmk,kscan-gpio-direct";
|
||||||
|
label = "KSCAN";
|
||||||
|
|
||||||
|
input-gpios
|
||||||
|
= <&gpio0 29 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>
|
||||||
|
, <&gpio0 2 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>
|
||||||
|
, <&gpio0 28 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>
|
||||||
|
, <&gpio0 3 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>
|
||||||
|
, <&gpio0 13 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>
|
||||||
|
, <&gpio0 24 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>
|
||||||
|
, <&gpio0 9 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>
|
||||||
|
, <&gpio0 10 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>
|
||||||
|
;
|
||||||
|
};
|
||||||
|
|
||||||
|
leds {
|
||||||
|
compatible = "gpio-leds";
|
||||||
|
powerled: led_r {
|
||||||
|
gpios = <&gpio1 4 GPIO_ACTIVE_HIGH>;
|
||||||
|
label = "PWR LED";
|
||||||
|
};
|
||||||
|
|
||||||
|
activityled: led_b {
|
||||||
|
gpios = <&gpio1 10 GPIO_ACTIVE_HIGH>;
|
||||||
|
label = "Blue LED";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
zephyr,user {
|
||||||
|
/* period cell corresponds to initial period */
|
||||||
|
pwms = <&sw_pwm 0 PWM_USEC(1500) PWM_POLARITY_NORMAL>;
|
||||||
|
};
|
||||||
|
|
||||||
|
};
|
||||||
|
&adc {
|
||||||
|
status = "okay";
|
||||||
|
};
|
||||||
|
|
||||||
|
&gpiote {
|
||||||
|
status = "okay";
|
||||||
|
};
|
||||||
|
|
||||||
|
&gpio0 {
|
||||||
|
status = "okay";
|
||||||
|
};
|
||||||
|
|
||||||
|
&gpio1 {
|
||||||
|
status = "okay";
|
||||||
|
};
|
||||||
|
|
||||||
|
&usbd {
|
||||||
|
status = "okay";
|
||||||
|
cdc_acm_uart: cdc_acm_uart {
|
||||||
|
compatible = "zephyr,cdc-acm-uart";
|
||||||
|
label = "CDC_ACM_0";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
&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 {
|
||||||
|
label = "softdevice";
|
||||||
|
reg = <0x00000000 0x00026000>;
|
||||||
|
};
|
||||||
|
code_partition: partition@26000 {
|
||||||
|
label = "code_partition";
|
||||||
|
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 {
|
||||||
|
label = "storage";
|
||||||
|
reg = <0x000ec000 0x00008000>;
|
||||||
|
};
|
||||||
|
|
||||||
|
boot_partition: partition@f4000 {
|
||||||
|
label = "adafruit_boot";
|
||||||
|
reg = <0x000f4000 0x0000c000>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
&sw_pwm {
|
||||||
|
status = "okay";
|
||||||
|
channel-gpios = <&gpio1 13 GPIO_ACTIVE_HIGH>;
|
||||||
|
};
|
||||||
|
|
21
app/boards/arm/bluehand/bluehand_defconfig
Normal file
21
app/boards/arm/bluehand/bluehand_defconfig
Normal file
|
@ -0,0 +1,21 @@
|
||||||
|
# SPDX-License-Identifier: MIT
|
||||||
|
|
||||||
|
CONFIG_SOC_SERIES_NRF52X=y
|
||||||
|
CONFIG_SOC_NRF52840_QIAA=y
|
||||||
|
CONFIG_BOARD_BLUEHAND=y
|
||||||
|
|
||||||
|
# Enable MPU
|
||||||
|
CONFIG_ARM_MPU=y
|
||||||
|
|
||||||
|
# enable GPIO
|
||||||
|
CONFIG_GPIO=y
|
||||||
|
|
||||||
|
CONFIG_USE_DT_CODE_PARTITION=y
|
||||||
|
CONFIG_BUILD_OUTPUT_UF2=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
|
5
app/boards/arm/bluehand/board.cmake
Normal file
5
app/boards/arm/bluehand/board.cmake
Normal file
|
@ -0,0 +1,5 @@
|
||||||
|
# SPDX-License-Identifier: MIT
|
||||||
|
|
||||||
|
board_runner_args(nrfjprog "--nrf-family=NRF52" "--softreset")
|
||||||
|
include(${ZEPHYR_BASE}/boards/common/blackmagicprobe.board.cmake)
|
||||||
|
include(${ZEPHYR_BASE}/boards/common/nrfjprog.board.cmake)
|
|
@ -1,9 +0,0 @@
|
||||||
# Copyright (c) 2022 The ZMK Contributors
|
|
||||||
# SPDX-License-Identifier: MIT
|
|
||||||
|
|
||||||
if SHIELD_BLUEHAND
|
|
||||||
|
|
||||||
config ZMK_KEYBOARD_NAME
|
|
||||||
default "BlueHand"
|
|
||||||
|
|
||||||
endif
|
|
|
@ -1,5 +0,0 @@
|
||||||
# Copyright (c) 2022 The ZMK Contributors
|
|
||||||
# SPDX-License-Identifier: MIT
|
|
||||||
|
|
||||||
config SHIELD_BLUEHAND
|
|
||||||
def_bool $(shields_list_contains,bluehand)
|
|
Loading…
Add table
Reference in a new issue