summaryrefslogtreecommitdiff
path: root/app/boards/shields
diff options
context:
space:
mode:
Diffstat (limited to 'app/boards/shields')
-rw-r--r--app/boards/shields/clueboard_california/Kconfig.defconfig14
-rw-r--r--app/boards/shields/clueboard_california/Kconfig.shield5
-rw-r--r--app/boards/shields/clueboard_california/clueboard_california.conf0
-rw-r--r--app/boards/shields/clueboard_california/clueboard_california.overlay34
-rw-r--r--app/boards/shields/clueboard_california/keymap/keymap.overlay24
-rw-r--r--app/boards/shields/clueboard_california/readme.md24
-rw-r--r--app/boards/shields/kyria/kyria.overlay4
-rw-r--r--app/boards/shields/petejohanson_handwire/petejohanson_handwire.overlay4
-rw-r--r--app/boards/shields/petejohanson_proton_handwire/petejohanson_proton_handwire.overlay2
9 files changed, 106 insertions, 5 deletions
diff --git a/app/boards/shields/clueboard_california/Kconfig.defconfig b/app/boards/shields/clueboard_california/Kconfig.defconfig
new file mode 100644
index 0000000..2408f9f
--- /dev/null
+++ b/app/boards/shields/clueboard_california/Kconfig.defconfig
@@ -0,0 +1,14 @@
+
+if SHIELD_CLUEBOARD_CALIFORNIA
+
+config ZMK_KEYBOARD_NAME
+ default "Clueboard California Macropad"
+
+# Unable to use interrupts as the same pin number is used
+# across A & B controllers, and STM32F303CCT6 can't enable
+# interrutps for multiple controllers for the same "line"
+# for the external interrupts.
+config ZMK_KSCAN_GPIO_POLLING
+ default y
+
+endif
diff --git a/app/boards/shields/clueboard_california/Kconfig.shield b/app/boards/shields/clueboard_california/Kconfig.shield
new file mode 100644
index 0000000..eca025d
--- /dev/null
+++ b/app/boards/shields/clueboard_california/Kconfig.shield
@@ -0,0 +1,5 @@
+# Copyright (c) 2020 Pete Johanson
+# SPDX-License-Identifier: MIT
+
+config SHIELD_CLUEBOARD_CALIFORNIA
+ def_bool $(shields_list_contains,clueboard_california)
diff --git a/app/boards/shields/clueboard_california/clueboard_california.conf b/app/boards/shields/clueboard_california/clueboard_california.conf
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/app/boards/shields/clueboard_california/clueboard_california.conf
diff --git a/app/boards/shields/clueboard_california/clueboard_california.overlay b/app/boards/shields/clueboard_california/clueboard_california.overlay
new file mode 100644
index 0000000..9f52d0d
--- /dev/null
+++ b/app/boards/shields/clueboard_california/clueboard_california.overlay
@@ -0,0 +1,34 @@
+/*
+ * Copyright (c) 2020 Pete Johanson
+ *
+ * SPDX-License-Identifier: MIT
+ */
+
+/ {
+ chosen {
+ zmk,kscan = &kscan0;
+ };
+
+ kscan0: kscan_0 {
+ compatible = "zmk,kscan-gpio-direct";
+
+ label = "KSCAN";
+
+ input-gpios
+ = <&gpioa 10 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>
+ , <&gpioa 9 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>
+ , <&gpioa 0 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>
+ , <&gpiob 8 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>
+ , <&gpiob 11 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>
+ , <&gpiob 9 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>
+ , <&gpioa 8 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>
+ , <&gpioa 7 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>
+ , <&gpiob 1 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>
+ , <&gpiob 2 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>
+ ;
+
+ };
+
+ // TODO: Per-key LED node(s)
+};
+
diff --git a/app/boards/shields/clueboard_california/keymap/keymap.overlay b/app/boards/shields/clueboard_california/keymap/keymap.overlay
new file mode 100644
index 0000000..f2f49ea
--- /dev/null
+++ b/app/boards/shields/clueboard_california/keymap/keymap.overlay
@@ -0,0 +1,24 @@
+#include <dt-bindings/zmk/keys.h>
+#include <dt-bindings/zmk/matrix-transform.h>
+#include <keymap.h>
+
+/ {
+ chosen {
+ zmk,keymap = &keymap0;
+ };
+
+ keymap0: keymap {
+ compatible = "zmk,keymap";
+ label ="Default Kyria Keymap";
+ layers = <&default>;
+ };
+
+ layers {
+ compatible = "zmk,layers";
+
+ default: layer_0 {
+ label = "DEFAULT";
+ keys = <KC_9 KC_8 KC_7 KC_6 KC_5 KC_4 KC_3 KC_2 KC_1 KC_0>;
+ };
+ };
+};
diff --git a/app/boards/shields/clueboard_california/readme.md b/app/boards/shields/clueboard_california/readme.md
new file mode 100644
index 0000000..17855e1
--- /dev/null
+++ b/app/boards/shields/clueboard_california/readme.md
@@ -0,0 +1,24 @@
+# Clueboard California Macropad
+
+A small 10-key macropad in the shape of the US state of California,
+
+## Features
+
+* Per key LED.
+* Proton-C compatible, including space for the piezo speaker.
+* Direct GPIO wiring, no GPIO matrix at all.
+
+Will need to set them to be PULL HIGH, and ACTIVE LOW
+
+| Switch | Switch Pin | LED Pin |
+| ------------ | ---------- | ------- |
+| shasta1 | a10 | a2 |
+| modoc1 | a9 | b5 |
+| mendocino1 | a0 | a1 |
+| lassen1 | b8 | b4 |
+| eldorado1 | b11 | b12 |
+| big_sur1 | b9 | b10 |
+| sierra1 | a8 | a15 |
+| los_padres1 | a7 | a6 |
+| mojave1 | b1 | b0 |
+| joshua_tree1 | b2 | b3 |
diff --git a/app/boards/shields/kyria/kyria.overlay b/app/boards/shields/kyria/kyria.overlay
index af4e591..e9074f6 100644
--- a/app/boards/shields/kyria/kyria.overlay
+++ b/app/boards/shields/kyria/kyria.overlay
@@ -29,7 +29,7 @@
};
kscan_left: kscan_left {
- compatible = "gpio-kscan";
+ compatible = "zmk,kscan-gpio-matrix";
label = "KSCAN_LEFT";
diode-direction = "row2col";
@@ -49,7 +49,7 @@
};
kscan_right: kscan_right {
- compatible = "gpio-kscan";
+ compatible = "zmk,kscan-gpio-matrix";
label = "KSCAN_RIGHT";
diode-direction = "row2col";
diff --git a/app/boards/shields/petejohanson_handwire/petejohanson_handwire.overlay b/app/boards/shields/petejohanson_handwire/petejohanson_handwire.overlay
index d65b3b1..95b0835 100644
--- a/app/boards/shields/petejohanson_handwire/petejohanson_handwire.overlay
+++ b/app/boards/shields/petejohanson_handwire/petejohanson_handwire.overlay
@@ -21,7 +21,7 @@
};
left_hand: kscan_1 {
- compatible = "gpio-kscan";
+ compatible = "zmk,kscan-gpio-matrix";
label = "KSCAN_LEFT";
diode-direction = "row2col";
@@ -32,7 +32,7 @@
};
right_hand: kscan_2 {
- compatible = "gpio-kscan";
+ compatible = "zmk,kscan-gpio-matrix";
label = "KSCAN_RIGHT";
diode-direction = "row2col";
diff --git a/app/boards/shields/petejohanson_proton_handwire/petejohanson_proton_handwire.overlay b/app/boards/shields/petejohanson_proton_handwire/petejohanson_proton_handwire.overlay
index 5deaa42..65753fd 100644
--- a/app/boards/shields/petejohanson_proton_handwire/petejohanson_proton_handwire.overlay
+++ b/app/boards/shields/petejohanson_proton_handwire/petejohanson_proton_handwire.overlay
@@ -5,7 +5,7 @@
};
kscan0: kscan {
- compatible = "gpio-kscan";
+ compatible = "zmk,kscan-gpio-matrix";
label = "KSCAN";
diode-direction = "row2col";