Skip to content

Commit 479f7bf

Browse files
committed
fix(temperature_sensor): Fix temperature sensor sleep retention on p4
1 parent 75e0cc3 commit 479f7bf

File tree

1 file changed

+9
-0
lines changed

1 file changed

+9
-0
lines changed

components/esp_driver_tsens/src/temperature_sensor.c

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@
2929
#include "soc/temperature_sensor_periph.h"
3030
#include "esp_memory_utils.h"
3131
#include "esp_private/sar_periph_ctrl.h"
32+
#include "esp_sleep.h"
3233
#if TEMPERATURE_SENSOR_USE_RETENTION_LINK
3334
#include "esp_private/sleep_retention.h"
3435
#endif
@@ -137,6 +138,10 @@ esp_err_t temperature_sensor_install(const temperature_sensor_config_t *tsens_co
137138
ESP_RETURN_ON_FALSE(tsens_config->flags.allow_pd == 0, ESP_ERR_NOT_SUPPORTED, TAG, "not able to power down in light sleep");
138139
#endif // SOC_TEMPERATURE_SENSOR_SUPPORT_SLEEP_RETENTION
139140

141+
#if SOC_TEMPERATURE_SENSOR_SUPPORT_SLEEP_RETENTION && !SOC_TEMPERATURE_SENSOR_UNDER_PD_TOP_DOMAIN
142+
esp_sleep_pd_config(ESP_PD_DOMAIN_RTC_PERIPH, ESP_PD_OPTION_ON);
143+
#endif
144+
140145
#if TEMPERATURE_SENSOR_USE_RETENTION_LINK
141146
sleep_retention_module_init_param_t init_param = {
142147
.cbs = { .create = { .handle = s_temperature_sensor_sleep_retention_init, .arg = (void *)tsens } }
@@ -199,6 +204,10 @@ esp_err_t temperature_sensor_uninstall(temperature_sensor_handle_t tsens)
199204
}
200205
#endif // TEMPERATURE_SENSOR_USE_RETENTION_LINK
201206

207+
#if SOC_TEMPERATURE_SENSOR_SUPPORT_SLEEP_RETENTION && !SOC_TEMPERATURE_SENSOR_UNDER_PD_TOP_DOMAIN
208+
esp_sleep_pd_config(ESP_PD_DOMAIN_RTC_PERIPH, ESP_PD_OPTION_OFF);
209+
#endif
210+
202211
temperature_sensor_power_release();
203212

204213
free(tsens);

0 commit comments

Comments
 (0)