mirror of
https://github.com/espressif/esp-idf.git
synced 2025-11-15 17:36:38 +00:00
fix(tsens): fix temp_sensor affect by adc reset
This commit is contained in:
@@ -9,6 +9,8 @@
|
||||
#include "hal/adc_ll.h"
|
||||
#include "hal/adc_types.h"
|
||||
#include "esp_private/regi2c_ctrl.h"
|
||||
#include "hal/temperature_sensor_ll.h"
|
||||
#include "esp_private/sar_periph_ctrl.h"
|
||||
|
||||
#define I2C_SAR_ADC_INIT_CODE_VAL 2150
|
||||
#define ADC_RNG_CLKM_DIV_NUM 0
|
||||
@@ -17,7 +19,17 @@
|
||||
|
||||
void bootloader_random_enable(void)
|
||||
{
|
||||
#ifndef BOOTLOADER_BUILD
|
||||
sar_periph_ctrl_adc_reset();
|
||||
#else
|
||||
tsens_ll_reg_values_t saved_tsens_regs = {};
|
||||
tsens_ll_backup_registers(&saved_tsens_regs);
|
||||
adc_ll_reset_register();
|
||||
// Restore temperature sensor related register values after ADC reset
|
||||
temperature_sensor_ll_reset_module();
|
||||
tsens_ll_restore_registers(&saved_tsens_regs);
|
||||
#endif
|
||||
|
||||
adc_ll_enable_bus_clock(true);
|
||||
adc_ll_enable_func_clock(true);
|
||||
adc_ll_digi_clk_sel(ADC_DIGI_CLK_SRC_XTAL);
|
||||
|
||||
Reference in New Issue
Block a user