feat(ledc): add support for ESP32S31

This commit is contained in:
Song Ruo Jing
2026-04-09 22:34:05 +08:00
parent e79d9f2567
commit f9b0736c93
31 changed files with 4831 additions and 236 deletions
@@ -56,6 +56,10 @@
extern "C" {
#endif
typedef enum {
LEDC_LL_MEM_LP_MODE_SHUT_DOWN, // power down memory during low power stage
} ledc_ll_mem_lp_mode_t;
/**
* @brief Enable peripheral register clock
*
@@ -99,11 +103,45 @@ static inline void ledc_ll_reset_register(int group_id)
} while(0)
/**
* @brief Enable the power for LEDC memory block
* @brief Force power on the LEDC memory block, regardless of the outside PMU logic
*
* @param dev Peripheral instance address
*/
static inline void ledc_ll_enable_mem_power(bool enable)
static inline void ledc_ll_mem_force_power_on(ledc_dev_t *dev)
{
// No LEDC mem block on S2
// No LEDC memory block on S2
}
/**
* @brief Force the LEDC memory block into low power mode, regardless of the outside PMU logic
*
* @param dev Peripheral instance address
*/
static inline void ledc_ll_mem_force_low_power(ledc_dev_t *dev)
{
// No LEDC memory block on S2
}
/**
* @brief Power control the LEDC memory block by the outside PMU logic
*
* @param dev Peripheral instance address
*/
static inline void ledc_ll_mem_power_by_pmu(ledc_dev_t *dev)
{
// No LEDC memory block on S2
}
/**
* @brief Set low power mode for LEDC memory block
*
* @param dev Peripheral instance address
* @param mode LEDC memory low power mode in low power stage
*/
static inline void ledc_ll_mem_set_low_power_mode(ledc_dev_t *dev, ledc_ll_mem_lp_mode_t mode)
{
(void)dev;
HAL_ASSERT(mode == LEDC_LL_MEM_LP_MODE_SHUT_DOWN);
}
/**