forked from espressif/esp-idf
adc: fix adc digital not reset issue
This commit is contained in:
@@ -284,8 +284,10 @@ esp_err_t adc_digi_initialize(const adc_digi_init_config_t *init_config)
|
|||||||
};
|
};
|
||||||
adc_hal_context_config(&s_adc_digi_ctx->hal, &config);
|
adc_hal_context_config(&s_adc_digi_ctx->hal, &config);
|
||||||
|
|
||||||
//enable SARADC module clock
|
//enable ADC digital part
|
||||||
periph_module_enable(PERIPH_SARADC_MODULE);
|
periph_module_enable(PERIPH_SARADC_MODULE);
|
||||||
|
//reset ADC digital part
|
||||||
|
periph_module_reset(PERIPH_SARADC_MODULE);
|
||||||
|
|
||||||
#if SOC_ADC_CALIBRATION_V1_SUPPORTED
|
#if SOC_ADC_CALIBRATION_V1_SUPPORTED
|
||||||
adc_hal_calibration_init(ADC_NUM_1);
|
adc_hal_calibration_init(ADC_NUM_1);
|
||||||
|
@@ -1,16 +1,8 @@
|
|||||||
// Copyright 2015-2020 Espressif Systems (Shanghai) PTE LTD
|
/*
|
||||||
//
|
* SPDX-FileCopyrightText: 2015-2022 Espressif Systems (Shanghai) CO LTD
|
||||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
*
|
||||||
// you may not use this file except in compliance with the License.
|
* SPDX-License-Identifier: Apache-2.0
|
||||||
// You may obtain a copy of the License at
|
*/
|
||||||
//
|
|
||||||
// http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
//
|
|
||||||
// Unless required by applicable law or agreed to in writing, software
|
|
||||||
// distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
// See the License for the specific language governing permissions and
|
|
||||||
// limitations under the License.
|
|
||||||
|
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
@@ -29,6 +21,8 @@ extern "C" {
|
|||||||
static inline uint32_t periph_ll_get_clk_en_mask(periph_module_t periph)
|
static inline uint32_t periph_ll_get_clk_en_mask(periph_module_t periph)
|
||||||
{
|
{
|
||||||
switch (periph) {
|
switch (periph) {
|
||||||
|
case PERIPH_SARADC_MODULE:
|
||||||
|
return DPORT_APB_SARADC_CLK_EN;
|
||||||
case PERIPH_LEDC_MODULE:
|
case PERIPH_LEDC_MODULE:
|
||||||
return DPORT_LEDC_CLK_EN;
|
return DPORT_LEDC_CLK_EN;
|
||||||
case PERIPH_UART0_MODULE:
|
case PERIPH_UART0_MODULE:
|
||||||
@@ -99,6 +93,8 @@ static inline uint32_t periph_ll_get_rst_en_mask(periph_module_t periph, bool en
|
|||||||
(void)enable; // unused
|
(void)enable; // unused
|
||||||
|
|
||||||
switch (periph) {
|
switch (periph) {
|
||||||
|
case PERIPH_SARADC_MODULE:
|
||||||
|
return DPORT_APB_SARADC_RST;
|
||||||
case PERIPH_LEDC_MODULE:
|
case PERIPH_LEDC_MODULE:
|
||||||
return DPORT_LEDC_RST;
|
return DPORT_LEDC_RST;
|
||||||
case PERIPH_UART0_MODULE:
|
case PERIPH_UART0_MODULE:
|
||||||
|
@@ -21,6 +21,8 @@ extern "C" {
|
|||||||
static inline uint32_t periph_ll_get_clk_en_mask(periph_module_t periph)
|
static inline uint32_t periph_ll_get_clk_en_mask(periph_module_t periph)
|
||||||
{
|
{
|
||||||
switch (periph) {
|
switch (periph) {
|
||||||
|
case PERIPH_SARADC_MODULE:
|
||||||
|
return SYSTEM_APB_SARADC_CLK_EN;
|
||||||
case PERIPH_RMT_MODULE:
|
case PERIPH_RMT_MODULE:
|
||||||
return SYSTEM_RMT_CLK_EN;
|
return SYSTEM_RMT_CLK_EN;
|
||||||
case PERIPH_LEDC_MODULE:
|
case PERIPH_LEDC_MODULE:
|
||||||
@@ -103,6 +105,8 @@ static inline uint32_t periph_ll_get_clk_en_mask(periph_module_t periph)
|
|||||||
static inline uint32_t periph_ll_get_rst_en_mask(periph_module_t periph, bool enable)
|
static inline uint32_t periph_ll_get_rst_en_mask(periph_module_t periph, bool enable)
|
||||||
{
|
{
|
||||||
switch (periph) {
|
switch (periph) {
|
||||||
|
case PERIPH_SARADC_MODULE:
|
||||||
|
return SYSTEM_APB_SARADC_RST;
|
||||||
case PERIPH_RMT_MODULE:
|
case PERIPH_RMT_MODULE:
|
||||||
return SYSTEM_RMT_RST;
|
return SYSTEM_RMT_RST;
|
||||||
case PERIPH_LEDC_MODULE:
|
case PERIPH_LEDC_MODULE:
|
||||||
|
Reference in New Issue
Block a user