Nick Brassel před 3 roky
rodič
revize
a86d6fffc9

+ 8 - 0
keyboards/ducky/one2mini/1861st/1861st.c

@@ -0,0 +1,8 @@
+// Copyright 2022 Nick Brassel (@tzarc)
+// SPDX-License-Identifier: GPL-2.0-or-later
+#include "1861st.h"
+
+void bootloader_jump(void) {
+    // TODO: Work out how to jump to LDROM, for now just reset the board.
+    NVIC_SystemReset();
+}

+ 3 - 0
keyboards/ducky/one2mini/1861st/rules.mk

@@ -1,6 +1,9 @@
 MCU_FAMILY = NUMICRO
 MCU_SERIES = NUC123
 
+# Bootloader selection
+BOOTLOADER = custom
+
 # linker script to use
 MCU_LDSCRIPT = NUC123xD4xx0
 

+ 5 - 0
keyboards/ergodox_stm32/ergodox_stm32.c

@@ -16,6 +16,11 @@ void board_init(void) {
     AFIO->MAPR |= AFIO_MAPR_SWJ_CFG_JTAGDISABLE;
 }
 
+void bootloader_jump(void) {
+    // This board doesn't use the "standard" stm32duino bootloader, and is resident in memory at the base location. All we can do here is reset.
+    NVIC_SystemReset();
+}
+
 void matrix_init_kb(void)
 {
     // Init LED Ports

+ 3 - 0
keyboards/ergodox_stm32/rules.mk

@@ -3,6 +3,9 @@ MCU = STM32F103
 MCU_LDSCRIPT = stm32f103_bootloader
 BOARD = ST_NUCLEO64_F103RB
 
+# Bootloader selection
+BOOTLOADER = custom
+
 BOOTMAGIC_ENABLE = no       # Enable Bootmagic Lite
 MOUSEKEY_ENABLE = no	# Mouse keys
 EXTRAKEY_ENABLE = yes	# Audio control and System control

+ 5 - 0
keyboards/jm60/jm60.c

@@ -20,3 +20,8 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 void board_init(void) {
 	AFIO->MAPR |= AFIO_MAPR_SWJ_CFG_JTAGDISABLE;
 }
+
+void bootloader_jump(void) {
+    // This board doesn't use the "standard" stm32duino bootloader. There's no information on how to jump to the custom bootloader, so all we can do here is reset.
+    NVIC_SystemReset();
+}

+ 3 - 0
keyboards/jm60/rules.mk

@@ -4,6 +4,9 @@ MCU = STM32F103
 MCU_LDSCRIPT = jm60_bootloader
 BOARD = ST_NUCLEO64_F103RB
 
+# Bootloader selection
+BOOTLOADER = custom
+
 # Build Options
 #   change yes to no to disable
 #

+ 5 - 0
keyboards/matrix/abelx/abelx.c

@@ -97,3 +97,8 @@ void shutdown_user(void)
     // set the magic number for resetting to the bootloader
     *(uint32_t *)(&(RTCD1.rtc->BKP0R)) = REBOOT_MAGIC;
 }
+
+void bootloader_jump(void) {
+    shutdown_user();
+    NVIC_SystemReset();
+}

+ 3 - 0
keyboards/matrix/abelx/rules.mk

@@ -25,6 +25,9 @@ ARMV = 7
 
 USE_FPU = yes
 
+# Bootloader selection
+BOOTLOADER = custom
+
 # Build Options
 #   change yes to no to disable
 #

+ 5 - 0
keyboards/matrix/m12og/rev1/rev1.c

@@ -20,6 +20,11 @@ void board_init(void) {
     writePinLow(A8);
 }
 
+void bootloader_jump(void) {
+    // This board doesn't use the standard DFU bootloader, and no information is available regarding how to enter bootloader mode. All we can do here is reset.
+    NVIC_SystemReset();
+}
+
 void keyboard_post_init_kb(void) {
     rgblight_enable_noeeprom();
     rgblight_sethsv_noeeprom(5, 255, 255);

+ 3 - 0
keyboards/matrix/m12og/rev1/rules.mk

@@ -5,6 +5,9 @@ MCU_LDSCRIPT = m12og_v1
 
 BOARD = m12og_v1
 
+# Bootloader selection
+BOOTLOADER = custom
+
 # Build Options
 #   change yes to no to disable
 #

+ 5 - 0
keyboards/matrix/m20add/m20add.c

@@ -59,3 +59,8 @@ void shutdown_user(void)
     // set the magic number for resetting to the bootloader
     *(uint32_t *)(&(RTCD1.rtc->BKP0R)) = REBOOT_MAGIC;
 }
+
+void bootloader_jump(void) {
+    shutdown_user();
+    NVIC_SystemReset();
+}

+ 3 - 0
keyboards/matrix/m20add/rules.mk

@@ -10,6 +10,9 @@ MCU_LDSCRIPT = m20add_boot
 #  or <this_dir>/boards
 BOARD = ST_NUCLEO64_F411RE
 
+# Bootloader selection
+BOOTLOADER = custom
+
 # Build Options
 #   change yes to no to disable
 #

+ 5 - 0
keyboards/matrix/noah/noah.c

@@ -4,6 +4,11 @@
 
 #include "noah.h"
 
+void bootloader_jump(void) {
+    // This board doesn't use the standard DFU bootloader, and no information is available regarding how to enter bootloader mode. All we can do here is reset.
+    NVIC_SystemReset();
+}
+
 #ifdef RGBLIGHT_ENABLE
 #include <string.h>
 #include "rgblight.h"

+ 3 - 0
keyboards/matrix/noah/rules.mk

@@ -10,6 +10,9 @@ MCU_LDSCRIPT = noah_boot
 #  or <this_dir>/boards
 BOARD = ST_NUCLEO64_F411RE
 
+# Bootloader selection
+BOOTLOADER = custom
+
 # Build Options
 #   change yes to no to disable
 #

+ 3 - 0
keyboards/wolfmarkclub/wm1/rules.mk

@@ -5,6 +5,9 @@ MCU = STM32F103
 MCU_LDSCRIPT = wm1_f103
 BOARD = STM32_F103_STM32DUINO
 
+# Bootloader selection
+BOOTLOADER = custom
+
 PROGRAM_CMD = echo 'CLI flashing not supported' >&2
 
 # Build Options

+ 5 - 0
keyboards/wolfmarkclub/wm1/wm1.c

@@ -1,5 +1,10 @@
 #include "wm1.h"
 
+void bootloader_jump(void) {
+    // This board doesn't use the "standard" stm32duino bootloader, and no information is available regarding how to enter bootloader mode. All we can do here is reset.
+    NVIC_SystemReset();
+}
+
 void matrix_init_kb(void) {
   setPinOutput(B1); // Top Indicator LED
   setPinOutput(B0); // Middle Indicator LED

+ 3 - 0
keyboards/xiaomi/mk02/rules.mk

@@ -3,6 +3,9 @@ MCU = STM32F072
 BOARD = ST_STM32F072B_DISCOVERY
 MCU_LDSCRIPT = STM32F072_0x2000_bootloader
 
+# Bootloader selection
+BOOTLOADER = custom
+
 DFU_ARGS = -d 0483:df11 -a 0 -s 0x08002000:leave
 DFU_SUFFIX_ARGS = -v 0483 -p DF11