Skip to content

Commit

Permalink
Fixup bootloaders. (#16256)
Browse files Browse the repository at this point in the history
  • Loading branch information
tzarc committed Feb 7, 2022
1 parent 53a7306 commit a86d6ff
Show file tree
Hide file tree
Showing 17 changed files with 70 additions and 0 deletions.
8 changes: 8 additions & 0 deletions keyboards/ducky/one2mini/1861st/1861st.c
Original file line number Diff line number Diff line change
@@ -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 changes: 3 additions & 0 deletions keyboards/ducky/one2mini/1861st/rules.mk
Original file line number Diff line number Diff line change
@@ -1,6 +1,9 @@
MCU_FAMILY = NUMICRO
MCU_SERIES = NUC123

# Bootloader selection
BOOTLOADER = custom

# linker script to use
MCU_LDSCRIPT = NUC123xD4xx0

Expand Down
5 changes: 5 additions & 0 deletions keyboards/ergodox_stm32/ergodox_stm32.c
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
3 changes: 3 additions & 0 deletions keyboards/ergodox_stm32/rules.mk
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
5 changes: 5 additions & 0 deletions keyboards/jm60/jm60.c
Original file line number Diff line number Diff line change
Expand Up @@ -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 changes: 3 additions & 0 deletions keyboards/jm60/rules.mk
Original file line number Diff line number Diff line change
Expand Up @@ -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
#
Expand Down
5 changes: 5 additions & 0 deletions keyboards/matrix/abelx/abelx.c
Original file line number Diff line number Diff line change
Expand Up @@ -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 changes: 3 additions & 0 deletions keyboards/matrix/abelx/rules.mk
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,9 @@ ARMV = 7

USE_FPU = yes

# Bootloader selection
BOOTLOADER = custom

# Build Options
# change yes to no to disable
#
Expand Down
5 changes: 5 additions & 0 deletions keyboards/matrix/m12og/rev1/rev1.c
Original file line number Diff line number Diff line change
Expand Up @@ -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);
Expand Down
3 changes: 3 additions & 0 deletions keyboards/matrix/m12og/rev1/rules.mk
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,9 @@ MCU_LDSCRIPT = m12og_v1

BOARD = m12og_v1

# Bootloader selection
BOOTLOADER = custom

# Build Options
# change yes to no to disable
#
Expand Down
5 changes: 5 additions & 0 deletions keyboards/matrix/m20add/m20add.c
Original file line number Diff line number Diff line change
Expand Up @@ -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 changes: 3 additions & 0 deletions keyboards/matrix/m20add/rules.mk
Original file line number Diff line number Diff line change
Expand Up @@ -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
#
Expand Down
5 changes: 5 additions & 0 deletions keyboards/matrix/noah/noah.c
Original file line number Diff line number Diff line change
Expand Up @@ -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"
Expand Down
3 changes: 3 additions & 0 deletions keyboards/matrix/noah/rules.mk
Original file line number Diff line number Diff line change
Expand Up @@ -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
#
Expand Down
3 changes: 3 additions & 0 deletions keyboards/wolfmarkclub/wm1/rules.mk
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
5 changes: 5 additions & 0 deletions keyboards/wolfmarkclub/wm1/wm1.c
Original file line number Diff line number Diff line change
@@ -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
Expand Down
3 changes: 3 additions & 0 deletions keyboards/xiaomi/mk02/rules.mk
Original file line number Diff line number Diff line change
Expand Up @@ -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

Expand Down

0 comments on commit a86d6ff

Please sign in to comment.