summary refs log tree commit diff
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