feat(rng): support P4 ECO5 TRNG

This commit is contained in:
gaoxu
2025-11-25 11:17:48 +08:00
committed by Gao Xu
parent 9126d8c485
commit dfef29c007
8 changed files with 179 additions and 18 deletions
@@ -8,11 +8,19 @@
#include "hal/regi2c_ctrl_ll.h"
#include "hal/adc_ll.h"
#include "hal/adc_types.h"
#include "hal/config.h"
#include "esp_private/periph_ctrl.h"
#include "esp_private/adc_share_hw_ctrl.h"
#define I2C_SAR_ADC_INIT_CODE_VAL 2166
#if HAL_CONFIG(CHIP_SUPPORT_MIN_REV) >= 300
#include "hal/trng_ll.h"
#endif
#define I2C_SAR_ADC_INIT_CODE_VAL 2166
#define ADC_RNG_CLKM_DIV_NUM 0
#define ADC_RNG_CLKM_DIV_B 0
#define ADC_RNG_CLKM_DIV_A 0
void bootloader_random_enable(void)
{
@@ -51,6 +59,9 @@ void bootloader_random_enable(void)
adc_ll_digi_set_clk_div(15);
adc_ll_digi_set_trigger_interval(100);
adc_ll_digi_trigger_enable();
#if HAL_CONFIG(CHIP_SUPPORT_MIN_REV) >= 300
trng_ll_enable();
#endif
}
void bootloader_random_disable(void)
@@ -69,4 +80,9 @@ void bootloader_random_disable(void)
ANALOG_CLOCK_DISABLE();
adc_ll_digi_controller_clk_div(4, 0, 0);
adc_ll_digi_clk_sel(ADC_DIGI_CLK_SRC_XTAL);
adc_ll_set_controller(ADC_UNIT_1, ADC_LL_CTRL_ULP);
#if HAL_CONFIG(CHIP_SUPPORT_MIN_REV) >= 300
trng_ll_disable();
#endif
}