rmt: support esp32c6

This commit is contained in:
morris
2022-09-16 14:25:28 +08:00
parent c71bd0e4fa
commit b562754a2f
12 changed files with 1193 additions and 272 deletions

View File

@@ -90,7 +90,6 @@ static inline void rmt_ll_set_group_clock_src(rmt_dev_t *dev, uint32_t channel,
// Formula: rmt_sclk = module_clock_src / (1 + div_num + div_a / div_b)
(void)channel; // the source clock is set for all channels
HAL_ASSERT(divider_integral >= 1);
dev->sys_conf.sclk_active = 0;
HAL_FORCE_MODIFY_U32_REG_FIELD(dev->sys_conf, sclk_div_num, divider_integral - 1);
dev->sys_conf.sclk_div_a = divider_numerator;
dev->sys_conf.sclk_div_b = divider_denominator;
@@ -108,7 +107,17 @@ static inline void rmt_ll_set_group_clock_src(rmt_dev_t *dev, uint32_t channel,
HAL_ASSERT(false && "unsupported RMT clock source");
break;
}
dev->sys_conf.sclk_active = 1;
}
/**
* @brief Enable RMT peripheral source clock
*
* @param dev Peripheral instance address
* @param en True to enable, False to disable
*/
static inline void rmt_ll_enable_group_clock(rmt_dev_t *dev, bool en)
{
dev->sys_conf.sclk_active = en;
}
////////////////////////////////////////TX Channel Specific/////////////////////////////////////////////////////////////