summaryrefslogtreecommitdiffstats
path: root/platforms/chibios/bootloaders/uf2boot.c
diff options
context:
space:
mode:
Diffstat (limited to 'platforms/chibios/bootloaders/uf2boot.c')
-rw-r--r--platforms/chibios/bootloaders/uf2boot.c23
1 files changed, 23 insertions, 0 deletions
diff --git a/platforms/chibios/bootloaders/uf2boot.c b/platforms/chibios/bootloaders/uf2boot.c
new file mode 100644
index 0000000000..f5b1a64334
--- /dev/null
+++ b/platforms/chibios/bootloaders/uf2boot.c
@@ -0,0 +1,23 @@
+// Copyright 2023 QMK
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#include "bootloader.h"
+
+// From mmoskal/uf2-stm32f103's backup.c
+#define MAGIC_BOOT 0x544F4F42UL
+
+// defined by linker script
+extern uint32_t _board_magic_reg[];
+#define MAGIC_REG _board_magic_reg[0]
+
+void bootloader_jump(void) {
+ MAGIC_REG = MAGIC_BOOT;
+ NVIC_SystemReset();
+}
+
+void mcu_reset(void) {
+ NVIC_SystemReset();
+}
+
+/* not needed, no two-stage reset */
+void enter_bootloader_mode_if_requested(void) {}