@@ -154,6 +154,10 @@ const pmu_sleep_config_t* pmu_sleep_config_default(
154154
155155 if (dslp ) {
156156 config -> param .lp_sys .analog_wait_target_cycle = rtc_time_us_to_slowclk (PMU_LP_ANALOG_WAIT_TARGET_TIME_DSLP_US , slowclk_period );
157+
158+ pmu_sleep_digital_config_t digital_default = PMU_SLEEP_DIGITAL_DSLP_CONFIG_DEFAULT (pd_flags );
159+ config -> digital = digital_default ;
160+
157161 pmu_sleep_analog_config_t analog_default = PMU_SLEEP_ANALOG_DSLP_CONFIG_DEFAULT (pd_flags );
158162 config -> analog = analog_default ;
159163 } else {
@@ -200,6 +204,7 @@ static void pmu_sleep_power_init(pmu_context_t *ctx, const pmu_sleep_power_confi
200204static void pmu_sleep_digital_init (pmu_context_t * ctx , const pmu_sleep_digital_config_t * dig )
201205{
202206 pmu_ll_hp_set_dig_pad_slp_sel (ctx -> hal -> dev , HP (SLEEP ), dig -> syscntl .dig_pad_slp_sel );
207+ pmu_ll_hp_set_hold_all_lp_pad (ctx -> hal -> dev , HP (SLEEP ), dig -> syscntl .lp_pad_hold_all );
203208}
204209
205210static void pmu_sleep_analog_init (pmu_context_t * ctx , const pmu_sleep_analog_config_t * analog , bool dslp )
@@ -255,9 +260,7 @@ void pmu_sleep_init(const pmu_sleep_config_t *config, bool dslp)
255260{
256261 assert (PMU_instance ());
257262 pmu_sleep_power_init (PMU_instance (), & config -> power , dslp );
258- if (!dslp ){
259- pmu_sleep_digital_init (PMU_instance (), & config -> digital );
260- }
263+ pmu_sleep_digital_init (PMU_instance (), & config -> digital );
261264 pmu_sleep_analog_init (PMU_instance (), & config -> analog , dslp );
262265 pmu_sleep_param_init (PMU_instance (), & config -> param , dslp );
263266}
0 commit comments