Skip to content

Commit 6858b37

Browse files
fix(ulp-riscv): Fixed ADC oneshot initialization for ULP RISC-V
This commit fixes a bug in the ADC oneshot driver initialization for the ULP RISC-V.
1 parent 2d1c99e commit 6858b37

File tree

1 file changed

+21
-3
lines changed

1 file changed

+21
-3
lines changed

components/esp_adc/adc_oneshot.c

+21-3
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/*
2-
* SPDX-FileCopyrightText: 2019-2024 Espressif Systems (Shanghai) CO LTD
2+
* SPDX-FileCopyrightText: 2019-2025 Espressif Systems (Shanghai) CO LTD
33
*
44
* SPDX-License-Identifier: Apache-2.0
55
*/
@@ -107,7 +107,7 @@ esp_err_t adc_oneshot_new_unit(const adc_oneshot_unit_init_cfg_t *init_config, a
107107
if (init_config->ulp_mode != ADC_ULP_MODE_DISABLE) {
108108
clk_src = LP_ADC_CLK_SRC_LP_DYN_FAST;
109109
} else
110-
#endif /* CONFIG_SOC_LP_ADC_SUPPORTED */
110+
#endif /* SOC_LP_ADC_SUPPORTED */
111111
{
112112
clk_src = ADC_DIGI_CLK_SRC_DEFAULT;
113113
if (init_config->clk_src) {
@@ -119,10 +119,28 @@ esp_err_t adc_oneshot_new_unit(const adc_oneshot_unit_init_cfg_t *init_config, a
119119

120120
adc_oneshot_hal_cfg_t config = {
121121
.unit = init_config->unit_id,
122-
.work_mode = (init_config->ulp_mode != ADC_ULP_MODE_DISABLE) ? ADC_HAL_LP_MODE : ADC_HAL_SINGLE_READ_MODE,
123122
.clk_src = clk_src,
124123
.clk_src_freq_hz = clk_src_freq_hz,
125124
};
125+
126+
switch (init_config->ulp_mode) {
127+
case ADC_ULP_MODE_FSM:
128+
config.work_mode = ADC_HAL_LP_MODE; // esp32 ulp-fsm mode
129+
break;
130+
case ADC_ULP_MODE_RISCV:
131+
config.work_mode = ADC_HAL_SINGLE_READ_MODE; // esp32s2, esp32s3 ulp-riscv mode
132+
break;
133+
#if SOC_LP_ADC_SUPPORTED
134+
case ADC_ULP_MODE_LP_CORE:
135+
config.work_mode = ADC_HAL_LP_MODE; // lp core mode
136+
break;
137+
#endif /* SOC_LP_ADC_SUPPORTED */
138+
case ADC_ULP_MODE_DISABLE:
139+
default:
140+
config.work_mode = ADC_HAL_SINGLE_READ_MODE; // oneshot read mode
141+
break;
142+
}
143+
126144
adc_oneshot_hal_init(&(unit->hal), &config);
127145

128146
#if SOC_ADC_DIG_CTRL_SUPPORTED && !SOC_ADC_RTC_CTRL_SUPPORTED

0 commit comments

Comments
 (0)