summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDamien George <damien@micropython.org>2025-09-17 11:41:59 +1000
committerDamien George <damien@micropython.org>2025-09-18 23:32:44 +1000
commitec1bfcfbb7944bb7bbf5048de0152867cf71817b (patch)
treeada4c5e91f9bec09aff4f3a8e73f40c9c3f8e85e
parent8d04f5da7df99f105523c32ceaeb72113e09a18c (diff)
stm32/main: Use defined constants to enable N6 clocks during low power.
Use constants from the HAL instead of literal numbers to select which peripheral clocks are enabled during low power mode. Signed-off-by: Damien George <damien@micropython.org>
-rw-r--r--ports/stm32/main.c14
1 files changed, 8 insertions, 6 deletions
diff --git a/ports/stm32/main.c b/ports/stm32/main.c
index af4d7f8bb..8bce6b477 100644
--- a/ports/stm32/main.c
+++ b/ports/stm32/main.c
@@ -400,19 +400,21 @@ void stm32_main(uint32_t reset_mode) {
#if defined(STM32N6)
// SRAM, XSPI needs to remain awake during sleep, eg so DMA from flash works.
- LL_MEM_EnableClockLowPower(0xffffffff);
+ LL_MEM_EnableClockLowPower(LL_MEM_AXISRAM1 | LL_MEM_AXISRAM2 | LL_MEM_AXISRAM3
+ | LL_MEM_AXISRAM4 | LL_MEM_AXISRAM5 | LL_MEM_AXISRAM6 | LL_MEM_AHBSRAM1 | LL_MEM_AHBSRAM2
+ | LL_MEM_BKPSRAM | LL_MEM_FLEXRAM | LL_MEM_CACHEAXIRAM | LL_MEM_VENCRAM | LL_MEM_BOOTROM);
LL_AHB5_GRP1_EnableClockLowPower(LL_AHB5_GRP1_PERIPH_XSPI2 | LL_AHB5_GRP1_PERIPH_XSPIM);
LL_APB4_GRP1_EnableClock(LL_APB4_GRP1_PERIPH_RTC | LL_APB4_GRP1_PERIPH_RTCAPB);
LL_APB4_GRP1_EnableClockLowPower(LL_APB4_GRP1_PERIPH_RTC | LL_APB4_GRP1_PERIPH_RTCAPB);
// Enable some AHB peripherals during sleep.
- LL_AHB1_GRP1_EnableClockLowPower(0xffffffff); // GPDMA1, ADC12
- LL_AHB4_GRP1_EnableClockLowPower(0xffffffff); // GPIOA-Q, PWR, CRC
+ LL_AHB1_GRP1_EnableClockLowPower(LL_AHB1_GRP1_PERIPH_ALL); // GPDMA1, ADC12
+ LL_AHB4_GRP1_EnableClockLowPower(LL_AHB4_GRP1_PERIPH_ALL); // GPIOA-Q, PWR, CRC
// Enable some APB peripherals during sleep.
- LL_APB1_GRP1_EnableClockLowPower(0xffffffff); // I2C, I3C, LPTIM, SPI, TIM, UART, WWDG
- LL_APB2_GRP1_EnableClockLowPower(0xffffffff); // SAI, SPI, TIM, UART
- LL_APB4_GRP1_EnableClockLowPower(0xffffffff); // I2C, LPTIM, LPUART, RTC, SPI
+ LL_APB1_GRP1_EnableClockLowPower(LL_APB1_GRP1_PERIPH_ALL); // I2C, I3C, LPTIM, SPI, TIM, UART, WWDG
+ LL_APB2_GRP1_EnableClockLowPower(LL_APB2_GRP1_PERIPH_ALL); // SAI, SPI, TIM, UART
+ LL_APB4_GRP1_EnableClockLowPower(LL_APB4_GRP1_PERIPH_ALL); // I2C, LPTIM, LPUART, RTC, SPI
#endif
mpu_init();