adc_cali: supported channel compensation of adc calibration on esp32c6

This commit is contained in:
laokaiyao
2023-05-05 19:56:44 +08:00
parent 3550a2d185
commit ffb40a89d9
32 changed files with 366 additions and 57 deletions

View File

@@ -1,5 +1,5 @@
/*
* SPDX-FileCopyrightText: 2019-2021 Espressif Systems (Shanghai) CO LTD
* SPDX-FileCopyrightText: 2019-2023 Espressif Systems (Shanghai) CO LTD
*
* SPDX-License-Identifier: Apache-2.0
*/
@@ -204,7 +204,6 @@ uint32_t adc_hal_self_calibration(adc_unit_t adc_n, adc_atten_t atten, bool inte
adc_ll_calibration_finish(adc_n);
return ret;
return 0;
}
#endif //#if SOC_ADC_SELF_HW_CALI_SUPPORTED
#endif //SOC_ADC_CALIBRATION_V1_SUPPORTED

View File

@@ -24,6 +24,11 @@ IRAM_ATTR uint32_t efuse_hal_chip_revision(void)
return efuse_hal_get_major_chip_version() * 100 + efuse_hal_get_minor_chip_version();
}
uint32_t efuse_hal_blk_version(void)
{
return efuse_ll_get_blk_version_major() * 100 + efuse_ll_get_blk_version_minor();
}
IRAM_ATTR bool efuse_hal_get_disable_wafer_version_major(void)
{
return efuse_ll_get_disable_wafer_version_major();

View File

@@ -119,6 +119,16 @@ __attribute__((always_inline)) static inline bool efuse_ll_get_disable_wafer_ver
return false;
}
__attribute__((always_inline)) static inline bool efuse_ll_get_blk_version_major(void)
{
return 0;
}
__attribute__((always_inline)) static inline uint32_t efuse_ll_get_blk_version_minor(void)
{
return 0;
}
__attribute__((always_inline)) static inline uint32_t efuse_ll_get_coding_scheme(void)
{
return EFUSE.blk0_rdata6.rd_coding_scheme;

View File

@@ -540,7 +540,7 @@ static inline void adc_ll_set_controller(adc_unit_t adc_n, adc_ll_controller_t c
__attribute__((always_inline))
static inline void adc_ll_calibration_init(adc_unit_t adc_n)
{
HAL_ASSERT(adc_n == ADC_UNIT_1);
(void)adc_n;
REGI2C_WRITE_MASK(I2C_SAR_ADC, ADC_SAR1_DREF_ADDR, 1);
}

View File

@@ -82,6 +82,11 @@ __attribute__((always_inline)) static inline uint32_t efuse_ll_get_chip_ver_pkg(
return EFUSE.rd_mac_spi_sys_3.pkg_version;
}
__attribute__((always_inline)) static inline uint32_t efuse_ll_get_ocode(void)
{
return EFUSE.rd_sys_part1_data4.ocode;
}
/******************* eFuse control functions *************************/
__attribute__((always_inline)) static inline bool efuse_ll_get_read_cmd(void)

View File

@@ -540,7 +540,7 @@ static inline void adc_ll_set_controller(adc_unit_t adc_n, adc_ll_controller_t c
__attribute__((always_inline))
static inline void adc_ll_calibration_init(adc_unit_t adc_n)
{
HAL_ASSERT(adc_n == ADC_UNIT_1);
(void)adc_n;
REGI2C_WRITE_MASK(I2C_SAR_ADC, ADC_SAR1_DREF_ADDR, 1);
}

View File

@@ -27,6 +27,13 @@ void efuse_hal_get_mac(uint8_t *mac);
*/
uint32_t efuse_hal_chip_revision(void);
/**
* @brief Return block version
*
* @return Block version in format: Major * 100 + Minor
*/
uint32_t efuse_hal_blk_version(void);
/**
* @brief Is flash encryption currently enabled in hardware?
*