stm32: Rework usb_reboot_for_dfu_bootloader() so it works on stm32h723
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
This commit is contained in:
parent
f6199ef613
commit
9d668d63a7
|
@ -208,7 +208,7 @@ clock_setup(void)
|
||||||
* Bootloader
|
* Bootloader
|
||||||
****************************************************************/
|
****************************************************************/
|
||||||
|
|
||||||
#define USB_BOOT_FLAG_ADDR (CONFIG_RAM_START + CONFIG_RAM_SIZE - 1024)
|
#define USB_BOOT_FLAG_ADDR (0x24000000 + 0x8000) // Place flag in "AXI SRAM"
|
||||||
#define USB_BOOT_FLAG 0x55534220424f4f54 // "USB BOOT"
|
#define USB_BOOT_FLAG 0x55534220424f4f54 // "USB BOOT"
|
||||||
|
|
||||||
// Flag that bootloader is desired and reboot
|
// Flag that bootloader is desired and reboot
|
||||||
|
@ -216,6 +216,7 @@ static void
|
||||||
usb_reboot_for_dfu_bootloader(void)
|
usb_reboot_for_dfu_bootloader(void)
|
||||||
{
|
{
|
||||||
irq_disable();
|
irq_disable();
|
||||||
|
SCB_DisableDCache();
|
||||||
*(uint64_t*)USB_BOOT_FLAG_ADDR = USB_BOOT_FLAG;
|
*(uint64_t*)USB_BOOT_FLAG_ADDR = USB_BOOT_FLAG;
|
||||||
NVIC_SystemReset();
|
NVIC_SystemReset();
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue