@@ -48,10 +48,14 @@ extern "C" void stopM2();
48
48
extern " C" void sched_enable ();
49
49
extern " C" uint64_t otPlatTimeGet (void );
50
50
extern " C" void vOptimizeConsumption (void );
51
+ extern " C" void BOARD_CheckPowerDownDcdcVoltage (void );
52
+ extern " C" void BOARD_CheckWakeUpDcdcVoltage (void );
51
53
52
54
WEAK void dm_switch_wakeupCallBack (void );
53
55
WEAK void dm_switch_preSleepCallBack (void );
54
56
WEAK void vOptimizeConsumption (void );
57
+ WEAK void BOARD_CheckPowerDownDcdcVoltage (void );
58
+ WEAK void BOARD_CheckWakeUpDcdcVoltage (void );
55
59
static void ThreadExitSleep ();
56
60
static void BOARD_SetClockForWakeup (void );
57
61
@@ -106,6 +110,10 @@ uint32_t dm_switch_get15_4InitWakeUpTime(void)
106
110
107
111
WEAK void dm_switch_wakeupCallBack (void )
108
112
{
113
+ /* Check VBAT voltage after wakeup and set DCDC voltage
114
+ according for K32W041A/AM variants */
115
+ BOARD_CheckWakeUpDcdcVoltage ();
116
+
109
117
BOARD_SetClockForWakeup ();
110
118
SHA_ClkInit (SHA_INSTANCE);
111
119
CLOCK_EnableClock (kCLOCK_Aes );
@@ -164,6 +172,16 @@ WEAK void vOptimizeConsumption(void)
164
172
/* Intentionally left empty, user needs to redefine it at application level */
165
173
}
166
174
175
+ WEAK void BOARD_CheckPowerDownDcdcVoltage (void )
176
+ {
177
+ /* Intentionally left empty, will be linked to board.c function */
178
+ }
179
+
180
+ WEAK void BOARD_CheckWakeUpDcdcVoltage (void )
181
+ {
182
+ /* Intentionally left empty, will be linked to board.c function */
183
+ }
184
+
167
185
WEAK void dm_switch_preSleepCallBack (void )
168
186
{
169
187
#if ENABLE_LOW_POWER_LOGS
@@ -198,6 +216,10 @@ WEAK void dm_switch_preSleepCallBack(void)
198
216
BOARD_DeInitAdc ();
199
217
/* DeInit the necessary clocks */
200
218
BOARD_SetClockForPowerMode ();
219
+
220
+ /* Check VBAT voltage before going to sleep and set DCDC voltage
221
+ according for K32W041A/AM variants */
222
+ BOARD_CheckPowerDownDcdcVoltage ();
201
223
}
202
224
203
225
void dm_switch_init15_4AfterWakeUp (void )
0 commit comments