From 6bc870d899c474bce82457699ec4b753d1538123 Mon Sep 17 00:00:00 2001 From: Ryan Date: Mon, 27 Dec 2021 21:10:07 +1100 Subject: Refactor `bootloader_jump()` implementations (#15450) * Refactor `bootloader_jump()` implementations * Fix tests? * Rename `atmel-samba` to `md-boot` --- platforms/chibios/bootloaders/kiibohd.c | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100644 platforms/chibios/bootloaders/kiibohd.c (limited to 'platforms/chibios/bootloaders/kiibohd.c') diff --git a/platforms/chibios/bootloaders/kiibohd.c b/platforms/chibios/bootloaders/kiibohd.c new file mode 100644 index 0000000000..f4bb18f058 --- /dev/null +++ b/platforms/chibios/bootloaders/kiibohd.c @@ -0,0 +1,33 @@ +/* Copyright 2021 QMK + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#include "bootloader.h" + +#include + +/* 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\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"; + +__attribute__((weak)) +void bootloader_jump(void) { + void *volatile vbat = (void *)VBAT; + __builtin_memcpy(vbat, (const void *)sys_reset_to_loader_magic, sizeof(sys_reset_to_loader_magic)); + + // request reset + SCB->AIRCR = SCB_AIRCR_VECTKEY_WRITEMAGIC | SCB_AIRCR_SYSRESETREQ_Msk; +} -- cgit v1.2.1 From be2265d0d173ac347f0ee9ed809c2a689bf835a2 Mon Sep 17 00:00:00 2001 From: QMK Bot Date: Mon, 27 Dec 2021 02:20:52 -0800 Subject: Format code according to conventions (#15593) --- platforms/chibios/bootloaders/kiibohd.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) (limited to 'platforms/chibios/bootloaders/kiibohd.c') diff --git a/platforms/chibios/bootloaders/kiibohd.c b/platforms/chibios/bootloaders/kiibohd.c index f4bb18f058..911e807092 100644 --- a/platforms/chibios/bootloaders/kiibohd.c +++ b/platforms/chibios/bootloaders/kiibohd.c @@ -23,8 +23,7 @@ const uint8_t sys_reset_to_loader_magic[] = "\xff\x00\x7fRESET TO LOADER\x7f\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"; -__attribute__((weak)) -void bootloader_jump(void) { +__attribute__((weak)) void bootloader_jump(void) { void *volatile vbat = (void *)VBAT; __builtin_memcpy(vbat, (const void *)sys_reset_to_loader_magic, sizeof(sys_reset_to_loader_magic)); -- cgit v1.2.1 From 787a68948fa0d5e251e22a623071082c8c0561b1 Mon Sep 17 00:00:00 2001 From: Drashna Jaelre Date: Fri, 13 May 2022 20:35:49 -0700 Subject: [Core] Add Reboot keycode to core (#15990) --- platforms/chibios/bootloaders/kiibohd.c | 1 + 1 file changed, 1 insertion(+) (limited to 'platforms/chibios/bootloaders/kiibohd.c') diff --git a/platforms/chibios/bootloaders/kiibohd.c b/platforms/chibios/bootloaders/kiibohd.c index 911e807092..09a4d49b78 100644 --- a/platforms/chibios/bootloaders/kiibohd.c +++ b/platforms/chibios/bootloaders/kiibohd.c @@ -30,3 +30,4 @@ __attribute__((weak)) void bootloader_jump(void) { // request reset SCB->AIRCR = SCB_AIRCR_VECTKEY_WRITEMAGIC | SCB_AIRCR_SYSRESETREQ_Msk; } +__attribute__((weak)) void mcu_reset(void) {} -- cgit v1.2.1