Merge branch 'bugfix/ledc_update_duty_wait_v5.2' into 'release/v5.2'

fix(ledc): duty_start bit should wait for its self-clear before next set on esp32 (v5.2)

See merge request espressif/esp-idf!41281
This commit is contained in:
Jiang Jiang Jian
2025-08-22 15:46:23 +08:00
11 changed files with 32 additions and 39 deletions
+3 -4
View File
@@ -1,5 +1,5 @@
/*
* SPDX-FileCopyrightText: 2022-2023 Espressif Systems (Shanghai) CO LTD
* SPDX-FileCopyrightText: 2022-2025 Espressif Systems (Shanghai) CO LTD
*
* SPDX-License-Identifier: Apache-2.0
*/
@@ -569,13 +569,12 @@ static inline void ledc_ll_set_sig_out_en(ledc_dev_t *hw, ledc_mode_t speed_mode
* @param hw Beginning address of the peripheral registers
* @param speed_mode LEDC speed_mode, low-speed mode only
* @param channel_num LEDC channel index (0-5), select from ledc_channel_t
* @param duty_start The duty start
*
* @return None
*/
static inline void ledc_ll_set_duty_start(ledc_dev_t *hw, ledc_mode_t speed_mode, ledc_channel_t channel_num, bool duty_start)
static inline void ledc_ll_set_duty_start(ledc_dev_t *hw, ledc_mode_t speed_mode, ledc_channel_t channel_num)
{
hw->channel_group[speed_mode].channel[channel_num].conf1.duty_start = duty_start;
hw->channel_group[speed_mode].channel[channel_num].conf1.duty_start = 1;
}
/**