summaryrefslogtreecommitdiff
path: root/builddefs
diff options
context:
space:
mode:
authorRyan <fauxpark@gmail.com>2022-07-03 00:12:45 +1000
committerGitHub <noreply@github.com>2022-07-03 00:12:45 +1000
commitac5e6b6a3bfad12ab7d9786a18fcc90f8bf4caf7 (patch)
treeb23670df16ae45dc629bd1c7c27a0032c0d80b07 /builddefs
parent11299b337b858c8312d16b93565a2fd18410786f (diff)
Tentative Teensy 3.5 support (#14420)
* Tentative Teensy 3.5 support * Set firmware format to .hex for ARM Teensys * Got to "device descriptor failed" by comparing with Teensy 3.6 code * Drop down to 96MHz... * Bump back up to 120MHz
Diffstat (limited to 'builddefs')
-rw-r--r--builddefs/bootloader.mk4
-rw-r--r--builddefs/mcu_selection.mk27
2 files changed, 29 insertions, 2 deletions
diff --git a/builddefs/bootloader.mk b/builddefs/bootloader.mk
index 3d4c03b01c..51e9b7d558 100644
--- a/builddefs/bootloader.mk
+++ b/builddefs/bootloader.mk
@@ -105,8 +105,8 @@ ifeq ($(strip $(BOOTLOADER)), halfkay)
ifeq ($(strip $(MCU)), at90usb1286)
BOOTLOADER_SIZE = 1024
endif
- # Teensy LC, 3.x
- ifneq (,$(filter $(MCU_ORIG), MKL26Z64 MK20DX128 MK20DX256 MK66FX1M0))
+ # Teensy LC, 3.0, 3.1/2, 3.5, 3.6
+ ifneq (,$(filter $(MCU_ORIG), MKL26Z64 MK20DX128 MK20DX256 MK64FX512 MK66FX1M0))
FIRMWARE_FORMAT = hex
endif
endif
diff --git a/builddefs/mcu_selection.mk b/builddefs/mcu_selection.mk
index 135f663c14..7528aa6842 100644
--- a/builddefs/mcu_selection.mk
+++ b/builddefs/mcu_selection.mk
@@ -87,6 +87,33 @@ ifneq ($(findstring MK20DX256, $(MCU)),)
BOARD ?= PJRC_TEENSY_3_1
endif
+ifneq ($(findstring MK64FX512, $(MCU)),)
+ # Cortex version
+ MCU = cortex-m4
+
+ # ARM version, CORTEX-M0/M1 are 6, CORTEX-M3/M4/M7 are 7
+ ARMV = 7
+
+ ## chip/board settings
+ # - the next two should match the directories in
+ # <chibios>/os/hal/ports/$(MCU_FAMILY)/$(MCU_SERIES)
+ MCU_FAMILY = KINETIS
+ MCU_SERIES = K60x
+
+ # Linker script to use
+ # - it should exist either in <chibios>/os/common/ports/ARMCMx/compilers/GCC/ld/
+ # or <keyboard_dir>/ld/
+ MCU_LDSCRIPT ?= MK64FX512
+
+ # Startup code to use
+ # - it should exist in <chibios>/os/common/startup/ARMCMx/compilers/GCC/mk/
+ MCU_STARTUP ?= k60x
+
+ # Board: it should exist either in <chibios>/os/hal/boards/,
+ # <keyboard_dir>/boards/, or drivers/boards/
+ BOARD ?= PJRC_TEENSY_3_5
+endif
+
ifneq ($(findstring MK66FX1M0, $(MCU)),)
# Cortex version
MCU = cortex-m4