summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
-rw-r--r--ports/renesas-ra/boardctrl.h4
-rw-r--r--ports/renesas-ra/modmachine.c5
-rw-r--r--ports/renesas-ra/modmachine.h1
3 files changed, 9 insertions, 1 deletions
diff --git a/ports/renesas-ra/boardctrl.h b/ports/renesas-ra/boardctrl.h
index cc7918c35f..1fc572a34e 100644
--- a/ports/renesas-ra/boardctrl.h
+++ b/ports/renesas-ra/boardctrl.h
@@ -37,6 +37,10 @@
#define MICROPY_BOARD_STARTUP powerctrl_check_enter_bootloader
#endif
+#ifndef MICROPY_BOARD_ENTER_BOOTLOADER
+#define MICROPY_BOARD_ENTER_BOOTLOADER(nargs, args)
+#endif
+
#ifndef MICROPY_BOARD_EARLY_INIT
#define MICROPY_BOARD_EARLY_INIT()
#endif
diff --git a/ports/renesas-ra/modmachine.c b/ports/renesas-ra/modmachine.c
index cd6e750340..e6f78747fd 100644
--- a/ports/renesas-ra/modmachine.c
+++ b/ports/renesas-ra/modmachine.c
@@ -47,6 +47,7 @@
#include "gccollect.h"
#include "irq.h"
#include "powerctrl.h"
+#include "boardctrl.h"
#include "pybthread.h"
#include "storage.h"
#include "pin.h"
@@ -182,13 +183,15 @@ STATIC mp_obj_t machine_soft_reset(void) {
MP_DEFINE_CONST_FUN_OBJ_0(machine_soft_reset_obj, machine_soft_reset);
// Activate the bootloader without BOOT* pins.
-STATIC NORETURN mp_obj_t machine_bootloader(size_t n_args, const mp_obj_t *args) {
+NORETURN mp_obj_t machine_bootloader(size_t n_args, const mp_obj_t *args) {
#if MICROPY_HW_ENABLE_STORAGE
storage_flush();
#endif
__disable_irq();
+ MICROPY_BOARD_ENTER_BOOTLOADER(n_args, args);
+
#if MICROPY_HW_USES_BOOTLOADER
// ToDo: need to review how to implement
diff --git a/ports/renesas-ra/modmachine.h b/ports/renesas-ra/modmachine.h
index 65077220df..de421c5db8 100644
--- a/ports/renesas-ra/modmachine.h
+++ b/ports/renesas-ra/modmachine.h
@@ -49,6 +49,7 @@ void machine_deinit(void);
void machine_pin_init(void);
void machine_pin_deinit(void);
void machine_i2s_init0(void);
+NORETURN mp_obj_t machine_bootloader(size_t n_args, const mp_obj_t *args);
MP_DECLARE_CONST_FUN_OBJ_VAR_BETWEEN(machine_info_obj);
MP_DECLARE_CONST_FUN_OBJ_0(machine_unique_id_obj);