summaryrefslogtreecommitdiff
path: root/keyboards/tzarc/djinn/rev2
diff options
context:
space:
mode:
authorNick Brassel <nick@tzarc.org>2022-06-20 14:20:56 +1000
committerGitHub <noreply@github.com>2022-06-20 14:20:56 +1000
commitaa06893b58ac3ed88e796968d237f60f4c156875 (patch)
treead4b3a637b7bba88de772dd50150262d2992603e /keyboards/tzarc/djinn/rev2
parentad2e85361128a2252798a7bb4c1cbc0bcd58e8ab (diff)
downloadqmk_firmware-aa06893b58ac3ed88e796968d237f60f4c156875.tar.gz
qmk_firmware-aa06893b58ac3ed88e796968d237f60f4c156875.zip
Add Djinn. (#17382)
* Add Djinn. * Review comments. * Further cleanup.
Diffstat (limited to 'keyboards/tzarc/djinn/rev2')
-rw-r--r--keyboards/tzarc/djinn/rev2/config.h47
-rw-r--r--keyboards/tzarc/djinn/rev2/info.json100
-rw-r--r--keyboards/tzarc/djinn/rev2/rev2.c3
-rw-r--r--keyboards/tzarc/djinn/rev2/rev2.h3
-rw-r--r--keyboards/tzarc/djinn/rev2/rules.mk1
5 files changed, 154 insertions, 0 deletions
diff --git a/keyboards/tzarc/djinn/rev2/config.h b/keyboards/tzarc/djinn/rev2/config.h
new file mode 100644
index 0000000000..52c909d442
--- /dev/null
+++ b/keyboards/tzarc/djinn/rev2/config.h
@@ -0,0 +1,47 @@
+// Copyright 2018-2022 Nick Brassel (@tzarc)
+// SPDX-License-Identifier: GPL-2.0-or-later
+#pragma once
+
+// Limit the backlight brightness
+#ifndef BACKLIGHT_LIMIT_VAL
+# define BACKLIGHT_LIMIT_VAL 144
+#endif // BACKLIGHT_LIMIT_VAL
+
+// Split configuration
+#define SPLIT_HAND_PIN B9
+#define USB_VBUS_PIN B12
+#define SERIAL_USART_DRIVER SD3
+#define SERIAL_USART_PIN_SWAP
+#define SERIAL_USART_TX_PIN B10
+#define SERIAL_USART_TX_PAL_MODE 7
+#define SERIAL_USART_RX_PIN B11
+#define SERIAL_USART_RX_PAL_MODE 7
+#ifndef SERIAL_USART_SPEED
+# define SERIAL_USART_SPEED 1200000
+#endif // SERIAL_USART_SPEED
+#define SERIAL_USART_FULL_DUPLEX
+
+// RGB configuration
+#define RGBLED_NUM 86
+#define DRIVER_LED_TOTAL 86
+#define RGB_MATRIX_SPLIT \
+ { 43, 43 }
+#define RGB_POWER_ENABLE_PIN B0
+#define RGB_CURR_1500mA_OK_PIN C5
+#define RGB_CURR_3000mA_OK_PIN C4
+
+// EEPROM configuration
+#define EXTERNAL_EEPROM_SPI_SLAVE_SELECT_PIN B5
+#define EXTERNAL_EEPROM_SPI_CLOCK_DIVISOR 8 // (160MHz/8) => 20MHz
+#define EXTERNAL_EEPROM_BYTE_COUNT 8192
+#define EXTERNAL_EEPROM_PAGE_SIZE 64 // it's FRAM, so it doesn't actually matter, this just sets the RAM buffer size
+
+// External flash config
+#define EXTERNAL_FLASH_SPI_MODE 3
+#define EXTERNAL_FLASH_SPI_SLAVE_SELECT_PIN A8
+#define EXTERNAL_FLASH_SPI_CLOCK_DIVISOR 4 // (160MHz/4) => 40MHz
+#define EXTERNAL_FLASH_SIZE (4 * 1024 * 1024) // 32Mb/4MB capacity
+
+// Fault indicators
+#define BOARD_POWER_FAULT_PIN C9
+#define RGB_POWER_FAULT_PIN C4
diff --git a/keyboards/tzarc/djinn/rev2/info.json b/keyboards/tzarc/djinn/rev2/info.json
new file mode 100644
index 0000000000..e9b151cb93
--- /dev/null
+++ b/keyboards/tzarc/djinn/rev2/info.json
@@ -0,0 +1,100 @@
+{
+ "usb": {
+ "device_version": "2.0.0"
+ },
+ "split": {
+ "usb_detect": {
+ "enabled": false
+ }
+ },
+ "rgb_matrix": {
+ "layout": [
+ { "flags": 2, "x": 110, "y": 30 },
+ { "flags": 2, "x": 110, "y": 80 },
+ { "flags": 2, "x": 110, "y": 130 },
+ { "flags": 2, "x": 95, "y": 180 },
+ { "flags": 2, "x": 75, "y": 195 },
+ { "flags": 2, "x": 60, "y": 210 },
+ { "flags": 2, "x": 45, "y": 190 },
+ { "flags": 2, "x": 35, "y": 175 },
+ { "flags": 2, "x": 20, "y": 160 },
+ { "flags": 2, "x": 5, "y": 160 },
+ { "flags": 2, "x": 5, "y": 160 },
+ { "flags": 4, "matrix": [4, 3], "x": 78, "y": 150 },
+ { "flags": 4, "matrix": [4, 4], "x": 104, "y": 150 },
+ { "flags": 4, "matrix": [4, 5], "x": 130, "y": 150 },
+ { "flags": 4, "matrix": [4, 6], "x": 156, "y": 150 },
+ { "flags": 4, "matrix": [3, 6], "x": 156, "y": 120 },
+ { "flags": 4, "matrix": [3, 5], "x": 130, "y": 120 },
+ { "flags": 4, "matrix": [3, 4], "x": 104, "y": 120 },
+ { "flags": 4, "matrix": [3, 3], "x": 78, "y": 120 },
+ { "flags": 4, "matrix": [3, 2], "x": 52, "y": 120 },
+ { "flags": 4, "matrix": [3, 1], "x": 26, "y": 120 },
+ { "flags": 4, "matrix": [3, 0], "x": 0, "y": 120 },
+ { "flags": 4, "matrix": [2, 0], "x": 0, "y": 90 },
+ { "flags": 4, "matrix": [2, 1], "x": 26, "y": 90 },
+ { "flags": 4, "matrix": [2, 2], "x": 52, "y": 90 },
+ { "flags": 4, "matrix": [2, 3], "x": 78, "y": 90 },
+ { "flags": 4, "matrix": [2, 4], "x": 104, "y": 90 },
+ { "flags": 4, "matrix": [2, 5], "x": 130, "y": 90 },
+ { "flags": 4, "matrix": [2, 6], "x": 156, "y": 90 },
+ { "flags": 4, "matrix": [1, 6], "x": 156, "y": 60 },
+ { "flags": 4, "matrix": [1, 5], "x": 130, "y": 60 },
+ { "flags": 4, "matrix": [1, 4], "x": 104, "y": 60 },
+ { "flags": 4, "matrix": [1, 3], "x": 78, "y": 60 },
+ { "flags": 4, "matrix": [1, 2], "x": 52, "y": 60 },
+ { "flags": 4, "matrix": [1, 1], "x": 26, "y": 60 },
+ { "flags": 4, "matrix": [1, 0], "x": 0, "y": 60 },
+ { "flags": 4, "matrix": [0, 0], "x": 0, "y": 30 },
+ { "flags": 4, "matrix": [0, 1], "x": 26, "y": 30 },
+ { "flags": 4, "matrix": [0, 2], "x": 52, "y": 30 },
+ { "flags": 4, "matrix": [0, 3], "x": 78, "y": 30 },
+ { "flags": 4, "matrix": [0, 4], "x": 104, "y": 30 },
+ { "flags": 4, "matrix": [0, 5], "x": 130, "y": 30 },
+ { "flags": 4, "matrix": [0, 6], "x": 156, "y": 30 },
+ { "flags": 2, "x": 114, "y": 30 },
+ { "flags": 2, "x": 114, "y": 80 },
+ { "flags": 2, "x": 114, "y": 130 },
+ { "flags": 2, "x": 129, "y": 180 },
+ { "flags": 2, "x": 149, "y": 195 },
+ { "flags": 2, "x": 164, "y": 210 },
+ { "flags": 2, "x": 179, "y": 190 },
+ { "flags": 2, "x": 189, "y": 175 },
+ { "flags": 2, "x": 24, "y": 160 },
+ { "flags": 2, "x": 219, "y": 160 },
+ { "flags": 2, "x": 219, "y": 160 },
+ { "flags": 4, "matrix": [10, 3], "x": 146, "y": 150 },
+ { "flags": 4, "matrix": [10, 4], "x": 120, "y": 150 },
+ { "flags": 4, "matrix": [10, 5], "x": 94, "y": 150 },
+ { "flags": 4, "matrix": [10, 6], "x": 68, "y": 150 },
+ { "flags": 4, "matrix": [9, 6], "x": 68, "y": 120 },
+ { "flags": 4, "matrix": [9, 5], "x": 94, "y": 120 },
+ { "flags": 4, "matrix": [9, 4], "x": 120, "y": 120 },
+ { "flags": 4, "matrix": [9, 3], "x": 146, "y": 120 },
+ { "flags": 4, "matrix": [9, 2], "x": 172, "y": 120 },
+ { "flags": 4, "matrix": [9, 1], "x": 198, "y": 120 },
+ { "flags": 4, "matrix": [9, 0], "x": 224, "y": 120 },
+ { "flags": 4, "matrix": [8, 0], "x": 224, "y": 90 },
+ { "flags": 4, "matrix": [8, 1], "x": 198, "y": 90 },
+ { "flags": 4, "matrix": [8, 2], "x": 172, "y": 90 },
+ { "flags": 4, "matrix": [8, 3], "x": 146, "y": 90 },
+ { "flags": 4, "matrix": [8, 4], "x": 120, "y": 90 },
+ { "flags": 4, "matrix": [8, 5], "x": 94, "y": 90 },
+ { "flags": 4, "matrix": [8, 6], "x": 68, "y": 90 },
+ { "flags": 4, "matrix": [7, 6], "x": 68, "y": 60 },
+ { "flags": 4, "matrix": [7, 5], "x": 94, "y": 60 },
+ { "flags": 4, "matrix": [7, 4], "x": 120, "y": 60 },
+ { "flags": 4, "matrix": [7, 3], "x": 146, "y": 60 },
+ { "flags": 4, "matrix": [7, 2], "x": 172, "y": 60 },
+ { "flags": 4, "matrix": [7, 1], "x": 198, "y": 60 },
+ { "flags": 4, "matrix": [7, 0], "x": 224, "y": 60 },
+ { "flags": 4, "matrix": [6, 0], "x": 224, "y": 30 },
+ { "flags": 4, "matrix": [6, 1], "x": 198, "y": 30 },
+ { "flags": 4, "matrix": [6, 2], "x": 172, "y": 30 },
+ { "flags": 4, "matrix": [6, 3], "x": 146, "y": 30 },
+ { "flags": 4, "matrix": [6, 4], "x": 120, "y": 30 },
+ { "flags": 4, "matrix": [6, 5], "x": 94, "y": 30 },
+ { "flags": 4, "matrix": [6, 6], "x": 68, "y": 30 }
+ ]
+ }
+}
diff --git a/keyboards/tzarc/djinn/rev2/rev2.c b/keyboards/tzarc/djinn/rev2/rev2.c
new file mode 100644
index 0000000000..f55e0c224a
--- /dev/null
+++ b/keyboards/tzarc/djinn/rev2/rev2.c
@@ -0,0 +1,3 @@
+// Copyright 2018-2022 Nick Brassel (@tzarc)
+// SPDX-License-Identifier: GPL-2.0-or-later
+#include "rev2.h"
diff --git a/keyboards/tzarc/djinn/rev2/rev2.h b/keyboards/tzarc/djinn/rev2/rev2.h
new file mode 100644
index 0000000000..1845cb8fdd
--- /dev/null
+++ b/keyboards/tzarc/djinn/rev2/rev2.h
@@ -0,0 +1,3 @@
+// Copyright 2018-2022 Nick Brassel (@tzarc)
+// SPDX-License-Identifier: GPL-2.0-or-later
+#pragma once
diff --git a/keyboards/tzarc/djinn/rev2/rules.mk b/keyboards/tzarc/djinn/rev2/rules.mk
new file mode 100644
index 0000000000..f468872849
--- /dev/null
+++ b/keyboards/tzarc/djinn/rev2/rules.mk
@@ -0,0 +1 @@
+# Placeholder to make the build system work.