Skip to content

Commit 0f22c81

Browse files
feat(efuse): Adds calibration efuses for ESP32-P4 ECO5
1 parent 3ba0451 commit 0f22c81

File tree

10 files changed

+1977
-174
lines changed

10 files changed

+1977
-174
lines changed

components/efuse/esp32p4/esp_efuse_table_v3.0.c

Lines changed: 1076 additions & 23 deletions
Large diffs are not rendered by default.

components/efuse/esp32p4/esp_efuse_table_v3.0.csv

Lines changed: 118 additions & 1 deletion
Large diffs are not rendered by default.

components/efuse/esp32p4/include/esp_efuse_table_v3.0.h

Lines changed: 118 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ extern "C" {
1010

1111
#include "esp_efuse.h"
1212

13-
// md5_digest_table 546834ca62bf5546bc26447554d7a099
13+
// md5_digest_table d471a4221faaafb88f091d4549ecac55
1414
// This file was generated from the file esp_efuse_table_v3.0.csv. DO NOT CHANGE THIS FILE MANUALLY.
1515
// If you want to change some fields, you need to change esp_efuse_table_v3.0.csv file
1616
// then run `efuse_common_table` or `efuse_custom_table` command it will generate this file.
@@ -100,7 +100,37 @@ extern const esp_efuse_desc_t* ESP_EFUSE_WR_DIS_PSRAM_VENDOR[];
100100
extern const esp_efuse_desc_t* ESP_EFUSE_WR_DIS_PKG_VERSION[];
101101
extern const esp_efuse_desc_t* ESP_EFUSE_WR_DIS_SYS_DATA_PART1[];
102102
extern const esp_efuse_desc_t* ESP_EFUSE_WR_DIS_WAFER_VERSION_MAJOR_HI[];
103+
extern const esp_efuse_desc_t* ESP_EFUSE_WR_DIS_LDO_VO1_DREF[];
104+
extern const esp_efuse_desc_t* ESP_EFUSE_WR_DIS_LDO_VO2_DREF[];
105+
extern const esp_efuse_desc_t* ESP_EFUSE_WR_DIS_LDO_VO1_MUL[];
106+
extern const esp_efuse_desc_t* ESP_EFUSE_WR_DIS_LDO_VO2_MUL[];
107+
extern const esp_efuse_desc_t* ESP_EFUSE_WR_DIS_LDO_VO3_K[];
108+
extern const esp_efuse_desc_t* ESP_EFUSE_WR_DIS_LDO_VO3_VOS[];
109+
extern const esp_efuse_desc_t* ESP_EFUSE_WR_DIS_LDO_VO3_C[];
110+
extern const esp_efuse_desc_t* ESP_EFUSE_WR_DIS_LDO_VO4_K[];
111+
extern const esp_efuse_desc_t* ESP_EFUSE_WR_DIS_LDO_VO4_VOS[];
112+
extern const esp_efuse_desc_t* ESP_EFUSE_WR_DIS_LDO_VO4_C[];
113+
extern const esp_efuse_desc_t* ESP_EFUSE_WR_DIS_ACTIVE_HP_DBIAS[];
114+
extern const esp_efuse_desc_t* ESP_EFUSE_WR_DIS_ACTIVE_LP_DBIAS[];
115+
extern const esp_efuse_desc_t* ESP_EFUSE_WR_DIS_DSLP_DBG[];
116+
extern const esp_efuse_desc_t* ESP_EFUSE_WR_DIS_DSLP_LP_DBIAS[];
117+
extern const esp_efuse_desc_t* ESP_EFUSE_WR_DIS_LP_DCDC_DBIAS_VOL_GAP[];
118+
extern const esp_efuse_desc_t* ESP_EFUSE_WR_DIS_PVT_400M_BIAS[];
119+
extern const esp_efuse_desc_t* ESP_EFUSE_WR_DIS_PVT_40M_BIAS[];
120+
extern const esp_efuse_desc_t* ESP_EFUSE_WR_DIS_PVT_100M_BIAS[];
103121
extern const esp_efuse_desc_t* ESP_EFUSE_WR_DIS_OPTIONAL_UNIQUE_ID[];
122+
extern const esp_efuse_desc_t* ESP_EFUSE_WR_DIS_ADC1_AVE_INITCODE_ATTEN0[];
123+
extern const esp_efuse_desc_t* ESP_EFUSE_WR_DIS_ADC1_AVE_INITCODE_ATTEN1[];
124+
extern const esp_efuse_desc_t* ESP_EFUSE_WR_DIS_ADC1_AVE_INITCODE_ATTEN2[];
125+
extern const esp_efuse_desc_t* ESP_EFUSE_WR_DIS_ADC1_AVE_INITCODE_ATTEN3[];
126+
extern const esp_efuse_desc_t* ESP_EFUSE_WR_DIS_ADC2_AVE_INITCODE_ATTEN0[];
127+
extern const esp_efuse_desc_t* ESP_EFUSE_WR_DIS_ADC2_AVE_INITCODE_ATTEN1[];
128+
extern const esp_efuse_desc_t* ESP_EFUSE_WR_DIS_ADC2_AVE_INITCODE_ATTEN2[];
129+
extern const esp_efuse_desc_t* ESP_EFUSE_WR_DIS_ADC2_AVE_INITCODE_ATTEN3[];
130+
extern const esp_efuse_desc_t* ESP_EFUSE_WR_DIS_ADC1_HI_DOUT_ATTEN0[];
131+
extern const esp_efuse_desc_t* ESP_EFUSE_WR_DIS_ADC1_HI_DOUT_ATTEN1[];
132+
extern const esp_efuse_desc_t* ESP_EFUSE_WR_DIS_ADC1_HI_DOUT_ATTEN2[];
133+
extern const esp_efuse_desc_t* ESP_EFUSE_WR_DIS_ADC1_HI_DOUT_ATTEN3[];
104134
extern const esp_efuse_desc_t* ESP_EFUSE_WR_DIS_BLOCK_USR_DATA[];
105135
#define ESP_EFUSE_WR_DIS_USER_DATA ESP_EFUSE_WR_DIS_BLOCK_USR_DATA
106136
extern const esp_efuse_desc_t* ESP_EFUSE_WR_DIS_CUSTOM_MAC[];
@@ -120,6 +150,25 @@ extern const esp_efuse_desc_t* ESP_EFUSE_WR_DIS_BLOCK_KEY5[];
120150
#define ESP_EFUSE_WR_DIS_KEY5 ESP_EFUSE_WR_DIS_BLOCK_KEY5
121151
extern const esp_efuse_desc_t* ESP_EFUSE_WR_DIS_BLOCK_SYS_DATA2[];
122152
#define ESP_EFUSE_WR_DIS_SYS_DATA_PART2 ESP_EFUSE_WR_DIS_BLOCK_SYS_DATA2
153+
extern const esp_efuse_desc_t* ESP_EFUSE_WR_DIS_ADC2_HI_DOUT_ATTEN0[];
154+
extern const esp_efuse_desc_t* ESP_EFUSE_WR_DIS_ADC2_HI_DOUT_ATTEN1[];
155+
extern const esp_efuse_desc_t* ESP_EFUSE_WR_DIS_ADC2_HI_DOUT_ATTEN2[];
156+
extern const esp_efuse_desc_t* ESP_EFUSE_WR_DIS_ADC2_HI_DOUT_ATTEN3[];
157+
extern const esp_efuse_desc_t* ESP_EFUSE_WR_DIS_ADC1_CH0_ATTEN0_INITCODE_DIFF[];
158+
extern const esp_efuse_desc_t* ESP_EFUSE_WR_DIS_ADC1_CH1_ATTEN0_INITCODE_DIFF[];
159+
extern const esp_efuse_desc_t* ESP_EFUSE_WR_DIS_ADC1_CH2_ATTEN0_INITCODE_DIFF[];
160+
extern const esp_efuse_desc_t* ESP_EFUSE_WR_DIS_ADC1_CH3_ATTEN0_INITCODE_DIFF[];
161+
extern const esp_efuse_desc_t* ESP_EFUSE_WR_DIS_ADC1_CH4_ATTEN0_INITCODE_DIFF[];
162+
extern const esp_efuse_desc_t* ESP_EFUSE_WR_DIS_ADC1_CH5_ATTEN0_INITCODE_DIFF[];
163+
extern const esp_efuse_desc_t* ESP_EFUSE_WR_DIS_ADC1_CH6_ATTEN0_INITCODE_DIFF[];
164+
extern const esp_efuse_desc_t* ESP_EFUSE_WR_DIS_ADC1_CH7_ATTEN0_INITCODE_DIFF[];
165+
extern const esp_efuse_desc_t* ESP_EFUSE_WR_DIS_ADC2_CH0_ATTEN0_INITCODE_DIFF[];
166+
extern const esp_efuse_desc_t* ESP_EFUSE_WR_DIS_ADC2_CH1_ATTEN0_INITCODE_DIFF[];
167+
extern const esp_efuse_desc_t* ESP_EFUSE_WR_DIS_ADC2_CH2_ATTEN0_INITCODE_DIFF[];
168+
extern const esp_efuse_desc_t* ESP_EFUSE_WR_DIS_ADC2_CH3_ATTEN0_INITCODE_DIFF[];
169+
extern const esp_efuse_desc_t* ESP_EFUSE_WR_DIS_ADC2_CH4_ATTEN0_INITCODE_DIFF[];
170+
extern const esp_efuse_desc_t* ESP_EFUSE_WR_DIS_ADC2_CH5_ATTEN0_INITCODE_DIFF[];
171+
extern const esp_efuse_desc_t* ESP_EFUSE_WR_DIS_TEMPERATURE_SENSOR[];
123172
extern const esp_efuse_desc_t* ESP_EFUSE_WR_DIS_USB_DEVICE_EXCHG_PINS[];
124173
extern const esp_efuse_desc_t* ESP_EFUSE_WR_DIS_USB_OTG11_EXCHG_PINS[];
125174
extern const esp_efuse_desc_t* ESP_EFUSE_WR_DIS_SOFT_DIS_JTAG[];
@@ -138,6 +187,25 @@ extern const esp_efuse_desc_t* ESP_EFUSE_RD_DIS_BLOCK_KEY5[];
138187
#define ESP_EFUSE_RD_DIS_KEY5 ESP_EFUSE_RD_DIS_BLOCK_KEY5
139188
extern const esp_efuse_desc_t* ESP_EFUSE_RD_DIS_BLOCK_SYS_DATA2[];
140189
#define ESP_EFUSE_RD_DIS_SYS_DATA_PART2 ESP_EFUSE_RD_DIS_BLOCK_SYS_DATA2
190+
extern const esp_efuse_desc_t* ESP_EFUSE_RD_DIS_ADC2_HI_DOUT_ATTEN0[];
191+
extern const esp_efuse_desc_t* ESP_EFUSE_RD_DIS_ADC2_HI_DOUT_ATTEN1[];
192+
extern const esp_efuse_desc_t* ESP_EFUSE_RD_DIS_ADC2_HI_DOUT_ATTEN2[];
193+
extern const esp_efuse_desc_t* ESP_EFUSE_RD_DIS_ADC2_HI_DOUT_ATTEN3[];
194+
extern const esp_efuse_desc_t* ESP_EFUSE_RD_DIS_ADC1_CH0_ATTEN0_INITCODE_DIFF[];
195+
extern const esp_efuse_desc_t* ESP_EFUSE_RD_DIS_ADC1_CH1_ATTEN0_INITCODE_DIFF[];
196+
extern const esp_efuse_desc_t* ESP_EFUSE_RD_DIS_ADC1_CH2_ATTEN0_INITCODE_DIFF[];
197+
extern const esp_efuse_desc_t* ESP_EFUSE_RD_DIS_ADC1_CH3_ATTEN0_INITCODE_DIFF[];
198+
extern const esp_efuse_desc_t* ESP_EFUSE_RD_DIS_ADC1_CH4_ATTEN0_INITCODE_DIFF[];
199+
extern const esp_efuse_desc_t* ESP_EFUSE_RD_DIS_ADC1_CH5_ATTEN0_INITCODE_DIFF[];
200+
extern const esp_efuse_desc_t* ESP_EFUSE_RD_DIS_ADC1_CH6_ATTEN0_INITCODE_DIFF[];
201+
extern const esp_efuse_desc_t* ESP_EFUSE_RD_DIS_ADC1_CH7_ATTEN0_INITCODE_DIFF[];
202+
extern const esp_efuse_desc_t* ESP_EFUSE_RD_DIS_ADC2_CH0_ATTEN0_INITCODE_DIFF[];
203+
extern const esp_efuse_desc_t* ESP_EFUSE_RD_DIS_ADC2_CH1_ATTEN0_INITCODE_DIFF[];
204+
extern const esp_efuse_desc_t* ESP_EFUSE_RD_DIS_ADC2_CH2_ATTEN0_INITCODE_DIFF[];
205+
extern const esp_efuse_desc_t* ESP_EFUSE_RD_DIS_ADC2_CH3_ATTEN0_INITCODE_DIFF[];
206+
extern const esp_efuse_desc_t* ESP_EFUSE_RD_DIS_ADC2_CH4_ATTEN0_INITCODE_DIFF[];
207+
extern const esp_efuse_desc_t* ESP_EFUSE_RD_DIS_ADC2_CH5_ATTEN0_INITCODE_DIFF[];
208+
extern const esp_efuse_desc_t* ESP_EFUSE_RD_DIS_TEMPERATURE_SENSOR[];
141209
extern const esp_efuse_desc_t* ESP_EFUSE_RD_DIS_USB_DEVICE_EXCHG_PINS[];
142210
extern const esp_efuse_desc_t* ESP_EFUSE_RD_DIS_USB_OTG11_EXCHG_PINS[];
143211
extern const esp_efuse_desc_t* ESP_EFUSE_RECOVERY_BOOTLOADER_FLASH_SECTOR_0_1[];
@@ -218,7 +286,37 @@ extern const esp_efuse_desc_t* ESP_EFUSE_PSRAM_CAP[];
218286
extern const esp_efuse_desc_t* ESP_EFUSE_TEMP[];
219287
extern const esp_efuse_desc_t* ESP_EFUSE_PSRAM_VENDOR[];
220288
extern const esp_efuse_desc_t* ESP_EFUSE_PKG_VERSION[];
289+
extern const esp_efuse_desc_t* ESP_EFUSE_LDO_VO1_DREF[];
290+
extern const esp_efuse_desc_t* ESP_EFUSE_LDO_VO2_DREF[];
291+
extern const esp_efuse_desc_t* ESP_EFUSE_LDO_VO1_MUL[];
292+
extern const esp_efuse_desc_t* ESP_EFUSE_LDO_VO2_MUL[];
293+
extern const esp_efuse_desc_t* ESP_EFUSE_LDO_VO3_K[];
294+
extern const esp_efuse_desc_t* ESP_EFUSE_LDO_VO3_VOS[];
295+
extern const esp_efuse_desc_t* ESP_EFUSE_LDO_VO3_C[];
296+
extern const esp_efuse_desc_t* ESP_EFUSE_LDO_VO4_K[];
297+
extern const esp_efuse_desc_t* ESP_EFUSE_LDO_VO4_VOS[];
298+
extern const esp_efuse_desc_t* ESP_EFUSE_LDO_VO4_C[];
299+
extern const esp_efuse_desc_t* ESP_EFUSE_ACTIVE_HP_DBIAS[];
300+
extern const esp_efuse_desc_t* ESP_EFUSE_ACTIVE_LP_DBIAS[];
301+
extern const esp_efuse_desc_t* ESP_EFUSE_DSLP_DBG[];
302+
extern const esp_efuse_desc_t* ESP_EFUSE_DSLP_LP_DBIAS[];
303+
extern const esp_efuse_desc_t* ESP_EFUSE_LP_DCDC_DBIAS_VOL_GAP[];
304+
extern const esp_efuse_desc_t* ESP_EFUSE_PVT_400M_BIAS[];
305+
extern const esp_efuse_desc_t* ESP_EFUSE_PVT_40M_BIAS[];
306+
extern const esp_efuse_desc_t* ESP_EFUSE_PVT_100M_BIAS[];
221307
extern const esp_efuse_desc_t* ESP_EFUSE_OPTIONAL_UNIQUE_ID[];
308+
extern const esp_efuse_desc_t* ESP_EFUSE_ADC1_AVE_INITCODE_ATTEN0[];
309+
extern const esp_efuse_desc_t* ESP_EFUSE_ADC1_AVE_INITCODE_ATTEN1[];
310+
extern const esp_efuse_desc_t* ESP_EFUSE_ADC1_AVE_INITCODE_ATTEN2[];
311+
extern const esp_efuse_desc_t* ESP_EFUSE_ADC1_AVE_INITCODE_ATTEN3[];
312+
extern const esp_efuse_desc_t* ESP_EFUSE_ADC2_AVE_INITCODE_ATTEN0[];
313+
extern const esp_efuse_desc_t* ESP_EFUSE_ADC2_AVE_INITCODE_ATTEN1[];
314+
extern const esp_efuse_desc_t* ESP_EFUSE_ADC2_AVE_INITCODE_ATTEN2[];
315+
extern const esp_efuse_desc_t* ESP_EFUSE_ADC2_AVE_INITCODE_ATTEN3[];
316+
extern const esp_efuse_desc_t* ESP_EFUSE_ADC1_HI_DOUT_ATTEN0[];
317+
extern const esp_efuse_desc_t* ESP_EFUSE_ADC1_HI_DOUT_ATTEN1[];
318+
extern const esp_efuse_desc_t* ESP_EFUSE_ADC1_HI_DOUT_ATTEN2[];
319+
extern const esp_efuse_desc_t* ESP_EFUSE_ADC1_HI_DOUT_ATTEN3[];
222320
extern const esp_efuse_desc_t* ESP_EFUSE_USER_DATA[];
223321
#define ESP_EFUSE_BLOCK_USR_DATA ESP_EFUSE_USER_DATA
224322
extern const esp_efuse_desc_t* ESP_EFUSE_USER_DATA_MAC_CUSTOM[];
@@ -236,6 +334,25 @@ extern const esp_efuse_desc_t* ESP_EFUSE_KEY4[];
236334
#define ESP_EFUSE_BLOCK_KEY4 ESP_EFUSE_KEY4
237335
extern const esp_efuse_desc_t* ESP_EFUSE_KEY5[];
238336
#define ESP_EFUSE_BLOCK_KEY5 ESP_EFUSE_KEY5
337+
extern const esp_efuse_desc_t* ESP_EFUSE_ADC2_HI_DOUT_ATTEN0[];
338+
extern const esp_efuse_desc_t* ESP_EFUSE_ADC2_HI_DOUT_ATTEN1[];
339+
extern const esp_efuse_desc_t* ESP_EFUSE_ADC2_HI_DOUT_ATTEN2[];
340+
extern const esp_efuse_desc_t* ESP_EFUSE_ADC2_HI_DOUT_ATTEN3[];
341+
extern const esp_efuse_desc_t* ESP_EFUSE_ADC1_CH0_ATTEN0_INITCODE_DIFF[];
342+
extern const esp_efuse_desc_t* ESP_EFUSE_ADC1_CH1_ATTEN0_INITCODE_DIFF[];
343+
extern const esp_efuse_desc_t* ESP_EFUSE_ADC1_CH2_ATTEN0_INITCODE_DIFF[];
344+
extern const esp_efuse_desc_t* ESP_EFUSE_ADC1_CH3_ATTEN0_INITCODE_DIFF[];
345+
extern const esp_efuse_desc_t* ESP_EFUSE_ADC1_CH4_ATTEN0_INITCODE_DIFF[];
346+
extern const esp_efuse_desc_t* ESP_EFUSE_ADC1_CH5_ATTEN0_INITCODE_DIFF[];
347+
extern const esp_efuse_desc_t* ESP_EFUSE_ADC1_CH6_ATTEN0_INITCODE_DIFF[];
348+
extern const esp_efuse_desc_t* ESP_EFUSE_ADC1_CH7_ATTEN0_INITCODE_DIFF[];
349+
extern const esp_efuse_desc_t* ESP_EFUSE_ADC2_CH0_ATTEN0_INITCODE_DIFF[];
350+
extern const esp_efuse_desc_t* ESP_EFUSE_ADC2_CH1_ATTEN0_INITCODE_DIFF[];
351+
extern const esp_efuse_desc_t* ESP_EFUSE_ADC2_CH2_ATTEN0_INITCODE_DIFF[];
352+
extern const esp_efuse_desc_t* ESP_EFUSE_ADC2_CH3_ATTEN0_INITCODE_DIFF[];
353+
extern const esp_efuse_desc_t* ESP_EFUSE_ADC2_CH4_ATTEN0_INITCODE_DIFF[];
354+
extern const esp_efuse_desc_t* ESP_EFUSE_ADC2_CH5_ATTEN0_INITCODE_DIFF[];
355+
extern const esp_efuse_desc_t* ESP_EFUSE_TEMPERATURE_SENSOR[];
239356
extern const esp_efuse_desc_t* ESP_EFUSE_USB_DEVICE_EXCHG_PINS[];
240357
extern const esp_efuse_desc_t* ESP_EFUSE_USB_OTG11_EXCHG_PINS[];
241358

components/hal/esp32p4/include/hal/ecdsa_ll.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@
1212
#include "soc/hp_sys_clkrst_struct.h"
1313
#include "soc/soc_caps.h"
1414
#include "soc/efuse_reg.h"
15+
#include "soc/efuse_struct.h"
1516
#include "hal/ecdsa_types.h"
1617

1718
#ifdef __cplusplus

components/hal/esp32p4/include/hal/efuse_ll.h

Lines changed: 2 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@
1212
#include "hal/assert.h"
1313
#include "rom/efuse.h"
1414
#include "hal/ecdsa_types.h"
15+
#include "hal/ecdsa_ll.h"
1516

1617
#ifdef __cplusplus
1718
extern "C" {
@@ -94,8 +95,7 @@ __attribute__((always_inline)) static inline uint32_t efuse_ll_get_chip_ver_pkg(
9495

9596
__attribute__((always_inline)) static inline void efuse_ll_set_ecdsa_key_blk(ecdsa_curve_t curve, int efuse_blk)
9697
{
97-
(void) curve;
98-
EFUSE.conf.cfg_ecdsa_blk = efuse_blk;
98+
ecdsa_ll_set_ecdsa_key_blk(curve, efuse_blk);
9999
}
100100

101101
/******************* eFuse control functions *************************/
@@ -148,29 +148,17 @@ __attribute__((always_inline)) static inline uint32_t efuse_ll_get_controller_st
148148

149149
__attribute__((always_inline)) static inline uint32_t efuse_ll_get_active_hp_dbias(void)
150150
{
151-
#ifdef EFUSE_ACTIVE_HP_DBIAS
152151
return EFUSE.rd_mac_sys_4.active_hp_dbias;
153-
#else
154-
return 0;
155-
#endif
156152
}
157153

158154
__attribute__((always_inline)) static inline uint32_t efuse_ll_get_active_lp_dbias(void)
159155
{
160-
#ifdef EFUSE_ACTIVE_LP_DBIAS
161156
return EFUSE.rd_mac_sys_4.active_lp_dbias;
162-
#else
163-
return 0;
164-
#endif
165157
}
166158

167159
__attribute__((always_inline)) static inline int32_t efuse_ll_get_dbias_vol_gap(void)
168160
{
169-
#ifdef EFUSE_LP_DCDC_DBIAS_VOL_GAP
170161
return EFUSE.rd_mac_sys_5.lp_dcdc_dbias_vol_gap;
171-
#else
172-
return 0;
173-
#endif
174162
}
175163

176164
/******************* eFuse control functions *************************/

components/hal/esp32p4/include/hal/ldo_ll.h

Lines changed: 3 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,6 @@
1515
#include "hal/pmu_types.h"
1616
#include "soc/pmu_struct.h"
1717
#include "soc/efuse_struct.h"
18-
#include "hal/config.h"
1918

2019
#ifdef __cplusplus
2120
extern "C" {
@@ -69,16 +68,14 @@ static inline bool ldo_ll_is_valid_ldo_channel(int ldo_chan)
6968
__attribute__((always_inline))
7069
static inline void ldo_ll_voltage_to_dref_mul(int ldo_unit, int voltage_mv, uint8_t *dref, uint8_t *mul, bool *use_rail_voltage)
7170
{
71+
uint8_t efuse_k = 0;
72+
uint8_t efuse_vos = 0;
73+
uint8_t efuse_c = 0;
7274
// to avoid using FPU, enlarge the constants by 1000 as fixed point
7375
int K_1000 = 1000;
7476
int Vos_1000 = 0;
7577
int C_1000 = 1000;
7678

77-
#if HAL_CONFIG(CHIP_SUPPORT_MIN_REV) < 300
78-
uint8_t efuse_k = 0;
79-
uint8_t efuse_vos = 0;
80-
uint8_t efuse_c = 0;
81-
8279
if (efuse_hal_blk_version() >= 1) {
8380
// load the calibration values from the eFuse
8481
if (ldo_unit == 2) {
@@ -102,7 +99,6 @@ static inline void ldo_ll_voltage_to_dref_mul(int ldo_unit, int voltage_mv, uint
10299
C_1000 = efuse_c & 0x20 ? -1 * (efuse_c & 0x1F) + 990 : efuse_c + 990;
103100
}
104101
}
105-
#endif
106102

107103
// iterate all the possible dref and mul values to find the best match
108104
int min_voltage_diff = 400000000;
@@ -124,7 +120,6 @@ static inline void ldo_ll_voltage_to_dref_mul(int ldo_unit, int voltage_mv, uint
124120
}
125121
}
126122

127-
#if HAL_CONFIG(CHIP_SUPPORT_MIN_REV) < 300
128123
if (efuse_hal_blk_version() >= 1) {
129124
// For unit0 and unit1, the mul and dref value are calibrated and saved in the efuse, load them when available
130125
if (ldo_unit == 0 && voltage_mv == 1800) {
@@ -140,7 +135,6 @@ static inline void ldo_ll_voltage_to_dref_mul(int ldo_unit, int voltage_mv, uint
140135
}
141136
}
142137
}
143-
#endif
144138

145139
*dref = matched_dref;
146140
*mul = matched_mul;

components/hal/esp32p4/include/hal/temperature_sensor_ll.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@
2626
#include "soc/interrupts.h"
2727
#include "soc/soc_etm_source.h"
2828
#include "soc/efuse_reg.h"
29+
#include "soc/efuse_struct.h"
2930
#include "hal/temperature_sensor_types.h"
3031
#include "hal/assert.h"
3132
#include "hal/misc.h"

components/hal/include/hal/ecdsa_types.h

Lines changed: 16 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/*
2-
* SPDX-FileCopyrightText: 2023-2024 Espressif Systems (Shanghai) CO LTD
2+
* SPDX-FileCopyrightText: 2023-2025 Espressif Systems (Shanghai) CO LTD
33
*
44
* SPDX-License-Identifier: Apache-2.0
55
*/
@@ -48,6 +48,21 @@ typedef enum {
4848
#endif /* SOC_ECDSA_SUPPORT_DETERMINISTIC_MODE */
4949
} ecdsa_sign_type_t;
5050

51+
/**
52+
* @brief Macro to combine two key blocks into a single integer
53+
* @note Least significant 4 bits stores block number of the low key block, and the next 4 bits store the high key block number.
54+
*/
55+
#define HAL_ECDSA_COMBINE_KEY_BLOCKS(blk_high, blk_low) (((blk_high) << 4) | (blk_low))
56+
57+
/**
58+
* @brief Macro to extract high and low key block numbers from a combined integer
59+
* @note Extracts high block from bits 4-7 and low block from bits 0-3
60+
*/
61+
#define HAL_ECDSA_EXTRACT_KEY_BLOCKS(combined_blk, blk_high, blk_low) do { \
62+
(blk_high) = ((combined_blk) >> 4) & 0xF; \
63+
(blk_low) = (combined_blk) & 0xF; \
64+
} while(0)
65+
5166
#ifdef __cplusplus
5267
}
5368
#endif

0 commit comments

Comments
 (0)