mirror of
https://github.com/Klipper3d/klipper.git
synced 2025-07-12 09:17:54 -06:00
stm32: Move usb_request_bootloader() to chip specific code
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
This commit is contained in:
parent
fce98c5519
commit
8cb3d09484
4 changed files with 24 additions and 20 deletions
|
@ -5,6 +5,8 @@
|
|||
// This file may be distributed under the terms of the GNU GPLv3 license.
|
||||
|
||||
#include "autoconf.h" // CONFIG_CLOCK_REF_8M
|
||||
#include "board/irq.h" // irq_disable
|
||||
#include "board/usb_cdc.h" // usb_request_bootloader
|
||||
#include "internal.h" // enable_pclock
|
||||
|
||||
#define FREQ_PERIPH (CONFIG_CLOCK_FREQ / 2)
|
||||
|
@ -104,6 +106,21 @@ gpio_peripheral(uint32_t gpio, uint32_t mode, int pullup)
|
|||
AFIO->MAPR = AFIO_MAPR_SWJ_CFG_DISABLE;
|
||||
}
|
||||
|
||||
// Handle USB reboot requests
|
||||
void
|
||||
usb_request_bootloader(void)
|
||||
{
|
||||
if (!CONFIG_STM32_FLASH_START_2000)
|
||||
return;
|
||||
// Enter "stm32duino" bootloader
|
||||
irq_disable();
|
||||
RCC->APB1ENR |= RCC_APB1ENR_PWREN | RCC_APB1ENR_BKPEN;
|
||||
PWR->CR |= PWR_CR_DBP;
|
||||
BKP->DR10 = 0x01;
|
||||
PWR->CR &=~ PWR_CR_DBP;
|
||||
NVIC_SystemReset();
|
||||
}
|
||||
|
||||
// Main clock setup called at chip startup
|
||||
void
|
||||
clock_setup(void)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue