|
|
@@ -74,6 +74,7 @@ rmt_group_t *rmt_acquire_group_handle(int group_id)
|
|
|
void rmt_release_group_handle(rmt_group_t *group)
|
|
|
{
|
|
|
int group_id = group->group_id;
|
|
|
+ rmt_clock_source_t clk_src = group->clk_src;
|
|
|
bool do_deinitialize = false;
|
|
|
|
|
|
_lock_acquire(&s_platform.mutex);
|
|
|
@@ -88,6 +89,16 @@ void rmt_release_group_handle(rmt_group_t *group)
|
|
|
}
|
|
|
_lock_release(&s_platform.mutex);
|
|
|
|
|
|
+ switch (clk_src) {
|
|
|
+#if SOC_RMT_SUPPORT_RC_FAST
|
|
|
+ case RMT_CLK_SRC_RC_FAST:
|
|
|
+ periph_rtc_dig_clk8m_disable();
|
|
|
+ break;
|
|
|
+#endif // SOC_RMT_SUPPORT_RC_FAST
|
|
|
+ default:
|
|
|
+ break;
|
|
|
+ }
|
|
|
+
|
|
|
if (do_deinitialize) {
|
|
|
ESP_LOGD(TAG, "del group(%d)", group_id);
|
|
|
}
|