summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ports/stm32/boards/PYBD_SF2/board_init.c10
-rw-r--r--ports/stm32/boards/PYBD_SF2/mpconfigboard.h3
2 files changed, 13 insertions, 0 deletions
diff --git a/ports/stm32/boards/PYBD_SF2/board_init.c b/ports/stm32/boards/PYBD_SF2/board_init.c
index b39da97c4..2f277d1cc 100644
--- a/ports/stm32/boards/PYBD_SF2/board_init.c
+++ b/ports/stm32/boards/PYBD_SF2/board_init.c
@@ -61,6 +61,16 @@ void board_early_init(void) {
#if !BUILDING_MBOOT
+#include "boardctrl.h"
+#include "qspi.h"
+
+int board_run_boot_py(boardctrl_state_t *state) {
+ // Due to errata 2.4.3, restart memory-mapped mode to deactivate the CS line and save power.
+ qspi_memory_map_restart();
+
+ return boardctrl_run_boot_py(state);
+}
+
void board_sleep(int value) {
mp_spiflash_deepsleep(&spi_bdev.spiflash, value);
mp_spiflash_deepsleep(&spi_bdev2.spiflash, value);
diff --git a/ports/stm32/boards/PYBD_SF2/mpconfigboard.h b/ports/stm32/boards/PYBD_SF2/mpconfigboard.h
index 3ae11125d..da5ab9e7f 100644
--- a/ports/stm32/boards/PYBD_SF2/mpconfigboard.h
+++ b/ports/stm32/boards/PYBD_SF2/mpconfigboard.h
@@ -43,11 +43,14 @@
#define MICROPY_HW_ENABLE_RF_SWITCH (1)
#define MICROPY_BOARD_EARLY_INIT board_early_init
+#define MICROPY_BOARD_RUN_BOOT_PY board_run_boot_py
#define MICROPY_BOARD_ENTER_STOP board_sleep(1);
#define MICROPY_BOARD_LEAVE_STOP board_sleep(0);
#define MICROPY_BOARD_ENTER_STANDBY board_sleep(1);
#define MICROPY_BOARD_SDCARD_POWER mp_hal_pin_high(pyb_pin_EN_3V3);
+struct _boardctrl_state_t;
void board_early_init(void);
+int board_run_boot_py(struct _boardctrl_state_t *state);
void board_sleep(int value);
// HSE is 25MHz, run SYS at 120MHz