summaryrefslogtreecommitdiffstats
path: root/keyboards/k_type/rules.mk
diff options
context:
space:
mode:
authorKaleb Elwert <belak@coded.io>2017-12-14 06:25:47 +0100
committerJack Humbert <jack.humb@gmail.com>2017-12-14 06:25:47 +0100
commitab197af2ead7c764aa48ee4a5aa7b1b9633ce5b7 (patch)
tree93dd00bda2f6c22083deca501d70940744a26a37 /keyboards/k_type/rules.mk
parent1226c69f4f9fd4a573c314116439d884e5d4647c (diff)
downloadqmk_firmware-ab197af2ead7c764aa48ee4a5aa7b1b9633ce5b7.tar.gz
qmk_firmware-ab197af2ead7c764aa48ee4a5aa7b1b9633ce5b7.tar.xz
Initial K-Type support (#1963)
* Initial K-Type support * Copy PJRC_TEENSY_3_1 to work around watchdog issues * K-Type: Remove bootloader offset in rules.mk * Ensure matrix and scan quantum functions are called when needed This is porting a fix from f5422a70b62e2b8cc75a87434a9901069ab953d4
Diffstat (limited to 'keyboards/k_type/rules.mk')
-rw-r--r--keyboards/k_type/rules.mk73
1 files changed, 73 insertions, 0 deletions
diff --git a/keyboards/k_type/rules.mk b/keyboards/k_type/rules.mk
new file mode 100644
index 000000000..ca6c844fb
--- /dev/null
+++ b/keyboards/k_type/rules.mk
@@ -0,0 +1,73 @@
+# project specific files
+SRC = matrix.c
+
+## chip/board settings
+# - the next two should match the directories in
+# <chibios>/os/hal/ports/$(MCU_FAMILY)/$(MCU_SERIES)
+# - For Teensies, FAMILY = KINETIS and SERIES is either
+# KL2x (LC) or K20x (3.0,3.1,3.2).
+# - For Infinity KB, SERIES = K20x
+MCU_FAMILY = KINETIS
+MCU_SERIES = K20x
+
+# Linker script to use
+# - it should exist either in <chibios>/os/common/ports/ARMCMx/compilers/GCC/ld/
+# or <this_dir>/ld/
+# - NOTE: a custom ld script is needed for EEPROM on Teensy LC
+# - LDSCRIPT =
+# - MKL26Z64 for Teensy LC
+# - MK20DX128 for Teensy 3.0
+# - MK20DX256 for Teensy 3.1 and 3.2
+# - MK20DX128BLDR4 for Infinity with Kiibohd bootloader
+# - MK20DX256BLDR8 for Infinity ErgoDox with Kiibohd bootloader
+MCU_LDSCRIPT = MK20DX256BLDR8
+
+# Startup code to use
+# - it should exist in <chibios>/os/common/ports/ARMCMx/compilers/GCC/mk/
+# - STARTUP =
+# - kl2x for Teensy LC
+# - k20x5 for Teensy 3.0 and Infinity KB
+# - k20x7 for Teensy 3.1 and 3.2
+MCU_STARTUP = k20x7
+
+# Board: it should exist either in <chibios>/os/hal/boards/
+# or <this_dir>/boards
+# - BOARD =
+# - PJRC_TEENSY_LC for Teensy LC
+# - PJRC_TEENSY_3 for Teensy 3.0
+# - PJRC_TEENSY_3_1 for Teensy 3.1 or 3.2
+# - MCHCK_K20 for Infinity KB
+
+# This board was copied from PJRC_TEENSY_3_1. The only difference should be a
+# hack to ensure the watchdog has started before trying to disable it.
+BOARD = K_TYPE_TEENSY_3_1
+
+# Cortex version
+# Teensy LC is cortex-m0; Teensy 3.x are cortex-m4
+MCU = cortex-m4
+
+# ARM version, CORTEX-M0/M1 are 6, CORTEX-M3/M4/M7 are 7
+# I.e. 6 for Teensy LC; 7 for Teensy 3.x
+ARMV = 7
+
+# Vector table for application
+# 0x00000000-0x00001000 area is occupied by bootloader.*/
+# The CORTEX_VTOR... is needed only for MCHCK/Infinity KB
+#OPT_DEFS += -DCORTEX_VTOR_INIT=0x00002000
+OPT_DEFS =
+
+DFU_ARGS = -d 1c11:b007
+
+# Build Options
+# comment out to disable the options.
+#
+BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration
+## (Note that for BOOTMAGIC on Teensy LC you have to use a custom .ld script.)
+MOUSEKEY_ENABLE = yes # Mouse keys
+EXTRAKEY_ENABLE = yes # Audio control and System control
+CONSOLE_ENABLE = yes # Console for debug
+COMMAND_ENABLE = yes # Commands for debug and configuration
+SLEEP_LED_ENABLE = yes # Breathing sleep LED during USB suspend
+NKRO_ENABLE = yes # USB Nkey Rollover
+CUSTOM_MATRIX = yes # Custom matrix file
+DEBUG_ENABLE = yes