mirror of
https://github.com/espressif/esp-idf
synced 2025-03-09 17:19:09 -04:00
change(vad): wakeup driver maitain necessary power domain
This commit is contained in:
parent
37d8e97a9d
commit
22f36bea53
@ -1669,8 +1669,27 @@ esp_err_t esp_sleep_enable_timer_wakeup(uint64_t time_in_us)
|
||||
#if SOC_LP_VAD_SUPPORTED
|
||||
esp_err_t esp_sleep_enable_vad_wakeup(void)
|
||||
{
|
||||
esp_err_t ret = ESP_FAIL;
|
||||
|
||||
ret = esp_sleep_pd_config(ESP_PD_DOMAIN_RTC_PERIPH, ESP_PD_OPTION_ON);
|
||||
if (ret != ESP_OK) {
|
||||
ESP_LOGE(TAG, "fail to keep rtc periph power on");
|
||||
return ret;
|
||||
}
|
||||
|
||||
ret = esp_sleep_pd_config(ESP_PD_DOMAIN_XTAL, ESP_PD_OPTION_ON);
|
||||
if (ret != ESP_OK) {
|
||||
ESP_LOGE(TAG, "fail to keep xtal power on");
|
||||
return ret;
|
||||
}
|
||||
ret = esp_sleep_sub_mode_config(ESP_SLEEP_LP_USE_XTAL_MODE, true);
|
||||
if (ret != ESP_OK) {
|
||||
ESP_LOGE(TAG, "fail to set to ESP_SLEEP_LP_USE_XTAL_MODE mode");
|
||||
return ret;
|
||||
}
|
||||
s_config.wakeup_triggers |= RTC_LP_VAD_TRIG_EN;
|
||||
return esp_sleep_sub_mode_config(ESP_SLEEP_LP_USE_XTAL_MODE, true);
|
||||
|
||||
return ESP_OK;
|
||||
}
|
||||
#endif
|
||||
|
||||
|
@ -1,3 +1,4 @@
|
||||
| Supported Targets | ESP32-P4 |
|
||||
| ----------------- | -------- |
|
||||
|
||||
Slave side (LP I2S) should use default (UART0) console, as the USJ isn't working well under sleep modes.
|
@ -98,8 +98,6 @@ static void s_hp_i2s_config(void)
|
||||
static void s_lp_vad_config(void)
|
||||
{
|
||||
ESP_ERROR_CHECK(esp_sleep_enable_vad_wakeup());
|
||||
ESP_ERROR_CHECK(esp_sleep_pd_config(ESP_PD_DOMAIN_RTC_PERIPH, ESP_PD_OPTION_ON));
|
||||
ESP_ERROR_CHECK(esp_sleep_pd_config(ESP_PD_DOMAIN_XTAL, ESP_PD_OPTION_ON));
|
||||
|
||||
lp_i2s_chan_handle_t rx_handle = NULL;
|
||||
lp_i2s_chan_config_t config = {
|
||||
|
Loading…
x
Reference in New Issue
Block a user