diff options
-rw-r--r-- | ports/stm32/boards/PYBD_SF2/board_init.c | 10 | ||||
-rw-r--r-- | ports/stm32/boards/PYBD_SF2/mpconfigboard.h | 3 |
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 |