feat(i2s): support TX FIFO sync on esp32s31

This commit is contained in:
Chen Chen
2026-06-26 09:36:16 +08:00
parent 2f73018450
commit c2c7ae0b3d
5 changed files with 74 additions and 23 deletions
+2
View File
@@ -1673,6 +1673,7 @@ esp_err_t i2s_sync_enable_hw_fifo_sync(i2s_chan_handle_t tx_handle, bool enable)
return ESP_ERR_NOT_SUPPORTED;
}
i2s_ll_tx_enable_hw_fifo_sync(tx_handle->controller->hal.dev, enable);
i2s_ll_tx_update(tx_handle->controller->hal.dev);
return ESP_OK;
}
@@ -1695,6 +1696,7 @@ esp_err_t i2s_sync_config_hw_fifo_sync(i2s_chan_handle_t tx_handle, const i2s_sy
if (config->suppl_mode == I2S_SYNC_SUPPL_MODE_STATIC_DATA) {
i2s_ll_tx_set_hw_fifo_sync_static_suppl_data(tx_handle->controller->hal.dev, config->suppl_data);
}
i2s_ll_tx_update(tx_handle->controller->hal.dev);
return ESP_OK;
}
#endif
+1 -1
View File
@@ -104,7 +104,7 @@ esp_err_t i2s_new_etm_task(i2s_chan_handle_t handle, const i2s_etm_task_config_t
if (config->task_type == I2S_ETM_TASK_START) {
// The i2s start will be controlled by etm
handle->is_etm_start = true;
} else {
} else if (config->task_type == I2S_ETM_TASK_STOP) {
// The i2s stop will be controlled by etm
handle->is_etm_stop = true;
}