summary refs log tree commit diff
diff options
context:
space:
mode:
authorNick Brassel <nick@tzarc.org>2020-08-22 08:42:28 +1000
committerGitHub <noreply@github.com>2020-08-21 15:42:28 -0700
commit70ce4ba56f5d805e71c2b1de7334d6492b5e350a (patch)
treeb5ac7fc20ebae31861c24eeb56c7dc0acc4b7a19
parent1b0272e801d5ed5fb9af6012376e0d23ca678acd (diff)
Revert "Add Kiibohd bootloader type to bootloader.mk (#9908)" (#10126)
This reverts commit e2d4cd1a41c667da186891e3dbaf535c6b0717df.
-rw-r--r--bootloader.mk13
-rw-r--r--keyboards/ergodox_infinity/bootloader_defs.h1
-rw-r--r--keyboards/ergodox_infinity/rules.mk18
-rw-r--r--keyboards/infinity60/bootloader_defs.h1
-rw-r--r--keyboards/infinity60/rules.mk17
-rw-r--r--keyboards/k_type/bootloader_defs.h1
-rw-r--r--keyboards/k_type/rules.mk18
-rw-r--r--keyboards/whitefox/bootloader_defs.h1
-rw-r--r--keyboards/whitefox/rules.mk18
-rw-r--r--tmk_core/chibios.mk2
-rw-r--r--tmk_core/common/chibios/bootloader.c6
11 files changed, 71 insertions, 25 deletions
diff --git a/bootloader.mk b/bootloader.mk
index c22291e435..e516e9ff9f 100644
--- a/bootloader.mk
+++ b/bootloader.mk
@@ -27,7 +27,6 @@
 # qmk-dfu        QMK DFU (LUFA + blinkenlight)
 # bootloadHID    HIDBootFlash compatible (ATmega32A)
 # USBasp         USBaspLoader (ATmega328P)
-# kiibohd        Input:Club Kiibohd bootloader (only used on their boards)
 #
 # BOOTLOADER_SIZE can still be defined manually, but it's recommended
 # you add any possible configuration to this list
@@ -90,18 +89,6 @@ ifeq ($(strip $(BOOTLOADER)), lufa-ms)
     BOOTLOADER_SIZE = 6144
     FIRMWARE_FORMAT = bin
 endif
-ifeq ($(strip $(BOOTLOADER)), kiibohd)
-    OPT_DEFS += -DBOOTLOADER_KIIBOHD
-    ifeq ($(strip $(MCU)), MK20DX128)
-        MCU_LDSCRIPT = MK20DX128BLDR4
-    endif
-    ifeq ($(strip $(MCU)), MK20DX256)
-        MCU_LDSCRIPT = MK20DX256BLDR8
-    endif
-
-    DFU_ARGS = -d 1C11:B007
-    DFU_SUFFIX_ARGS = -v 1C11 -p B007
-endif
 
 ifdef BOOTLOADER_SIZE
     OPT_DEFS += -DBOOTLOADER_SIZE=$(strip $(BOOTLOADER_SIZE))
diff --git a/keyboards/ergodox_infinity/bootloader_defs.h b/keyboards/ergodox_infinity/bootloader_defs.h
new file mode 100644
index 0000000000..c67153be60
--- /dev/null
+++ b/keyboards/ergodox_infinity/bootloader_defs.h
@@ -0,0 +1 @@
+#define KIIBOHD_BOOTLOADER
diff --git a/keyboards/ergodox_infinity/rules.mk b/keyboards/ergodox_infinity/rules.mk
index 572bda2a97..31bc20454c 100644
--- a/keyboards/ergodox_infinity/rules.mk
+++ b/keyboards/ergodox_infinity/rules.mk
@@ -1,18 +1,32 @@
 # MCU name
 MCU = MK20DX256
 
+# 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 60% with Kiibohd bootloader
+#   - MK20DX256BLDR8 for Infinity ErgoDox with Kiibohd bootloader
+MCU_LDSCRIPT = MK20DX256BLDR8
+
 # Vector table for application
 # 0x00000000-0x00001000 area is occupied by bootlaoder.*/
 # The CORTEX_VTOR... is needed only for MCHCK/Infinity KB
 OPT_DEFS += -DCORTEX_VTOR_INIT=0x00002000
 
-# Bootloader selection
-BOOTLOADER = kiibohd
+BOOTLOADER = dfu
 
 # Build Options
 #   comment out to disable the options.
 #
 
+DFU_ARGS = -d 1c11:b007
+DFU_SUFFIX_ARGS = -p b007 -v 1c11
+
 BOOTMAGIC_ENABLE = no  # Virtual DIP switch configuration
 MOUSEKEY_ENABLE  = yes # Mouse keys
 EXTRAKEY_ENABLE  = yes # Audio control and System control
diff --git a/keyboards/infinity60/bootloader_defs.h b/keyboards/infinity60/bootloader_defs.h
new file mode 100644
index 0000000000..c67153be60
--- /dev/null
+++ b/keyboards/infinity60/bootloader_defs.h
@@ -0,0 +1 @@
+#define KIIBOHD_BOOTLOADER
diff --git a/keyboards/infinity60/rules.mk b/keyboards/infinity60/rules.mk
index 8fb4b499ea..579eab0f3f 100644
--- a/keyboards/infinity60/rules.mk
+++ b/keyboards/infinity60/rules.mk
@@ -1,6 +1,17 @@
 # MCU name
 MCU = MK20DX128
 
+# 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
+MCU_LDSCRIPT = MK20DX128BLDR4
+
 # Board: it should exist either in <chibios>/os/hal/boards/
 #  or <this_dir>/boards
 # - BOARD =
@@ -15,13 +26,15 @@ BOARD = MCHCK_K20
 # The CORTEX_VTOR... is needed only for MCHCK/Infinity KB
 OPT_DEFS = -DCORTEX_VTOR_INIT=0x00001000
 
-# Bootloader selection
-BOOTLOADER = kiibohd
+BOOTLOADER = dfu
 
 # Build Options
 #   comment out to disable the options.
 #
 
+DFU_ARGS = -d 1c11:b007
+DFU_SUFFIX_ARGS = -p b007 -v 1c11
+
 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
diff --git a/keyboards/k_type/bootloader_defs.h b/keyboards/k_type/bootloader_defs.h
new file mode 100644
index 0000000000..c67153be60
--- /dev/null
+++ b/keyboards/k_type/bootloader_defs.h
@@ -0,0 +1 @@
+#define KIIBOHD_BOOTLOADER
diff --git a/keyboards/k_type/rules.mk b/keyboards/k_type/rules.mk
index 176a28d868..56c4c606e3 100644
--- a/keyboards/k_type/rules.mk
+++ b/keyboards/k_type/rules.mk
@@ -1,14 +1,28 @@
 # MCU name
 MCU = MK20DX256
 
+# 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
+
 # Board: it should exist either in <chibios>/os/hal/boards/
 #  or <this_dir>/boards
 # 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 = IC_TEENSY_3_1
 
-# Bootloader selection
-BOOTLOADER = kiibohd
+DFU_ARGS = -d 1c11:b007
+DFU_SUFFIX_ARGS = -p b007 -v 1c11
+
+BOOTLOADER = dfu
 
 # Build Options
 #   comment out to disable the options.
diff --git a/keyboards/whitefox/bootloader_defs.h b/keyboards/whitefox/bootloader_defs.h
new file mode 100644
index 0000000000..c67153be60
--- /dev/null
+++ b/keyboards/whitefox/bootloader_defs.h
@@ -0,0 +1 @@
+#define KIIBOHD_BOOTLOADER
diff --git a/keyboards/whitefox/rules.mk b/keyboards/whitefox/rules.mk
index 568b33b464..14507e9dd2 100644
--- a/keyboards/whitefox/rules.mk
+++ b/keyboards/whitefox/rules.mk
@@ -1,6 +1,18 @@
 # MCU name
 MCU = MK20DX256
 
+# 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
+
 # Board: it should exist either in <chibios>/os/hal/boards/
 #  or <this_dir>/boards
 # - BOARD =
@@ -10,8 +22,10 @@ MCU = MK20DX256
 #   - MCHCK_K20 for Infinity KB
 BOARD = IC_TEENSY_3_1
 
-# Bootloader selection
-BOOTLOADER = kiibohd
+DFU_ARGS = -d 1c11:b007
+DFU_SUFFIX_ARGS = -p b007 -v 1c11
+
+BOOTLOADER = dfu
 
 # Build Options
 #   comment out to disable the options.
diff --git a/tmk_core/chibios.mk b/tmk_core/chibios.mk
index 4c288646e2..09aaddeef0 100644
--- a/tmk_core/chibios.mk
+++ b/tmk_core/chibios.mk
@@ -324,7 +324,7 @@ bin: $(BUILD_DIR)/$(TARGET).bin sizeafter
 flash: $(BUILD_DIR)/$(TARGET).bin cpfirmware sizeafter
 ifneq ($(strip $(PROGRAM_CMD)),)
 	$(PROGRAM_CMD)
-else ifeq ($(strip $(BOOTLOADER)),kiibohd)
+else ifeq ($(strip $(BOOTLOADER)),dfu)
 	$(call EXEC_DFU_UTIL)
 else ifeq ($(strip $(MCU_FAMILY)),KINETIS)
 	$(call EXEC_TEENSY)
diff --git a/tmk_core/common/chibios/bootloader.c b/tmk_core/common/chibios/bootloader.c
index 6833511c0e..4cf5dae7e6 100644
--- a/tmk_core/common/chibios/bootloader.c
+++ b/tmk_core/common/chibios/bootloader.c
@@ -44,7 +44,7 @@ void enter_bootloader_mode_if_requested(void) {
 #elif defined(KL2x) || defined(K20x) /* STM32_BOOTLOADER_ADDRESS */
 /* Kinetis */
 
-#    if defined(BOOTLOADER_KIIBOHD)
+#    if defined(KIIBOHD_BOOTLOADER)
 /* Kiibohd Bootloader (MCHCK and Infinity KB) */
 #        define SCB_AIRCR_VECTKEY_WRITEMAGIC 0x05FA0000
 const uint8_t sys_reset_to_loader_magic[] = "\xff\x00\x7fRESET TO LOADER\x7f\x00\xff";
@@ -54,14 +54,14 @@ void          bootloader_jump(void) {
     SCB->AIRCR = SCB_AIRCR_VECTKEY_WRITEMAGIC | SCB_AIRCR_SYSRESETREQ_Msk;
 }
 
-#    else /* defined(BOOTLOADER_KIIBOHD) */
+#    else /* defined(KIIBOHD_BOOTLOADER) */
 /* Default for Kinetis - expecting an ARM Teensy */
 #        include "wait.h"
 void bootloader_jump(void) {
     wait_ms(100);
     __BKPT(0);
 }
-#    endif /* defined(BOOTLOADER_KIIBOHD) */
+#    endif /* defined(KIIBOHD_BOOTLOADER) */
 
 #else /* neither STM32 nor KINETIS */
 __attribute__((weak)) void bootloader_jump(void) {}