Commit Graph

245 Commits

Author SHA1 Message Date
KonstantinKondrashov 24f6995fb5 feat(efuse): Add flash&psram efuses for S3 2024-02-21 09:36:49 +02:00
KonstantinKondrashov cce3c4a1d5 feat(efuse): Adds new efuses for esp32c6 2024-01-26 11:39:16 +08:00
KonstantinKondrashov f7a920685a feat(efuse): Adds new efuse for esp32h2 2024-01-26 11:39:16 +08:00
Mahavir Jain d9abb44049 docs: add ECDSA peripheral chapter for H2/P4
- Add ECDSA peripheral chapter and instructions to program efuse key block
- Update security guide for ECDSA peripheral mention for device identity
- Link with ESP-TLS guide about using ECDSA peripheral in TLS connection
2023-11-20 16:13:35 +05:30
Mahavir Jain 0ccfa4b0c2 fix(esp32h2): program use_hardware_k efuse bit for ECDSA key purpose
In ESP32-H2, the ECDSA peripheral by default uses the TRNG (hardware)
generated k value but it can be overridden to software supplied k.
This can happen through by overriding the `ECDSA_SOFTWARE_SET_K` bit
in the configuration register. Even though the HAL API is not exposed
for this but still it could be achieved by direct register
programming. And for this scenario, if sufficiently random k is not
supplied by the software then it could posses a security risk.

In this change, we are unconditionally programming the efuse
`ESP_EFUSE_ECDSA_FORCE_USE_HARDWARE_K` bit during startup security
checks itself. Additionally, same is ensured in the `esp_efuse_write_key`
API as well. This always enforces the hardware k mode in the ECDSA
peripheral and ensures strongest possible security.
2023-11-20 16:03:29 +05:30
morris 1b3713f7cd Merge branch 'feature/support_adc_calibration_on_h2_v5.1' into 'release/v5.1'
adc_cali: supported adc calibration v1 on ESP32H2 (v5.1)

See merge request espressif/esp-idf!26963
2023-11-17 16:41:00 +08:00
morris d0f84285b7 Merge branch 'bugfix/fix_wrong_adc_attenuation_name_v5.1' into 'release/v5.1'
fix(adc): rename ADC_ATTEN_DB_11 to ADC_ATTEN_DB_12 (v5.1)

See merge request espressif/esp-idf!26967
2023-11-13 16:50:11 +08:00
gaoxu df46426321 docs(adc): added adc calibration doc on h2 2023-11-13 03:04:03 +00:00
gaoxu c5e107c53d feat(adc_cali): Add ADC calibration support for ESP32H2 2023-11-13 03:04:03 +00:00
KonstantinKondrashov d9b776c59a feat(efuse): Adds efuse ADC calibration data for ESP32H2 2023-11-07 15:41:59 +08:00
Armando 6de9757a4b fix(adc): rename ADC_ATTEN_DB_11 to ADC_ATTEN_DB_12
By design, it's 12 dB. There're errors among chips, so the actual
attenuation will be 11dB more or less
2023-11-07 14:09:21 +08:00
laokaiyao 57312e6e3e adc_calib: support calibration v2 on esp32c6 2023-07-06 10:36:29 +08:00
laokaiyao 6f673e95c9 adc_oneshot: move power acquire back to adc_oneshot_new_unit
Revert and fix of d197c59eaa in !23575

adc_cali: fix the condition of ocode calibration
2023-07-05 12:48:11 +08:00
laokaiyao e90a2d50c4 adc_cali: supported channel compensation of adc calibration on esp32c6 2023-07-05 12:48:11 +08:00
KonstantinKondrashov 0b7485db02 efuse(c6): Adds adc calib efuses 2023-07-05 12:48:11 +08:00
laokaiyao 6336a9e2b5 adc_cali: supported adc calibration on esp32c6 2023-07-05 12:48:11 +08:00
KonstantinKondrashov e44a6888ea mac_addr(C6 and H2): Fix byte order of MAC_EXT and change format of IEEE802154 MAC
The changes only related to C6 and H2 chips where CONFIG_SOC_IEEE802154_SUPPORTED=y.
For this case these APIs return 8 bytes
    esp_efuse_mac_get_default() -> 8 bytes
    esp_efuse_mac_get_custom() -> 8 bytes
    esp_read_mac(..., ESP_MAC_IEEE802154) -> 8 bytes
The rest cases len is 6 bytes
2023-06-13 16:56:13 +08:00
laokaiyao 954a6a2cff esp32h4: removed esp32h4 related codes 2023-04-26 18:53:12 +08:00
laokaiyao cae47ce37e esp32h4: removed esp32h4 related files 2023-04-26 18:53:12 +08:00
Jiang Jiang Jian badf267022 Merge branch 'bugfix/block9_can_not_be_used_for_fe' into 'master'
efuse: Prevent burning XTS_AES and ECDSA keys into BLOCK9 (BLOCK_KEY5)

Closes IDF-7175

See merge request espressif/esp-idf!23052
2023-04-06 10:17:07 +08:00
KonstantinKondrashov 5b00d1f396 efuse: Update efuses for esp32 esp32c2 esp32c3 esp32s2 esp32s3 2023-04-04 22:32:32 +08:00
KonstantinKondrashov 3d695b9768 efuse: Prevent burning XTS_AES and ECDSA keys into BLOCK9 (BLOCK_KEY5)
eFuse module has a hardware bug.
It is related to ESP32-C3, C6, S3, H2 chips:
    - BLOCK9 (BLOCK_KEY5) can not be used by XTS_AES keys.
For H2 chips, the BLOCK9 (BLOCK_KEY5) can not be used by ECDSA keys.
S2 does not have such a hardware bug.
2023-04-04 18:45:48 +08:00
Zim Kalinowski 6e67c54a92 Merge branch 'feature/replace_some_efuses_for_c6' into 'master'
efuse(esp32c6): Replace PKG_VERSION BLK_VERSION_MINOR BLK_VERSION_MAJOR

Closes IDF-7174

See merge request espressif/esp-idf!22775
2023-04-04 16:34:29 +08:00
Mahavir Jain f22daec784 Merge branch 'feature/secure_set_efuses_to_prevent_brick_chip' into 'master'
security: write-protect DIS_ICAHE and DIS_DCACHE

Closes IDF-5177

See merge request espressif/esp-idf!22640
2023-03-29 11:51:09 +08:00
KonstantinKondrashov 199e5abbf3 efuse: Adds WR_DIS.DIS_CACHE for esp32 and WR_DIS.DIS_ICACHE for rest chips
C2 chip does not have such fields
2023-03-29 00:02:24 +08:00
KonstantinKondrashov b950f5de8d efuse: Fix handling aliases in efuse_table_gen 2023-03-29 00:02:24 +08:00
Zim Kalinowski ee842a1386 Merge branch 'feature/fix_load_efuses_from_flash_when_real_fe_is_on' into 'master'
efuse(virtual mode): Fix load_efuses_from_flash when FE is on

Closes IDFGH-9580

See merge request espressif/esp-idf!22793
2023-03-28 17:32:11 +08:00
KonstantinKondrashov 3a31a4c885 efuse: Enable and adjust some efuse tests for H2 chip 2023-03-24 17:21:32 +00:00
Sachin Parekh d2940c5ff3 mbedtls: Add port layer for ECDSA peripheral 2023-03-24 10:43:40 +05:30
KonstantinKondrashov 88ef0d8aeb efuse: Fix load_efuses_from_flash when FE is on
esp_efuse_utility_load_efuses_from_flash() read emul_efuse
as an encrypted partition, but that is not correct,
this partition was never encrypted.
Need to read it as not encrypted partition.

Fxed the case: If FE is already on then EFUSE VIRT mode can work with it.

Closes https://github.com/espressif/esp-idf/issues/10929
2023-03-23 16:20:43 +08:00
Michael (XIAO Xufeng) dbbc1ba5be Merge branch 'feat/merge_nuttx_patch' into 'master'
G0, G1: fix issues that prevents using G0/G1 components on other platforms

See merge request espressif/esp-idf!22521
2023-03-21 20:48:21 +08:00
KonstantinKondrashov 77a8b1afef efuse: Fix some tests, some CI chips may already have blocks written 2023-03-16 18:19:08 +08:00
Gustavo Henrique Nihei 3672144c9f efuse: Remove dependency on bootloader component headers
Signed-off-by: Gustavo Henrique Nihei <gustavo.nihei@espressif.com>
2023-03-16 01:50:21 +08:00
KonstantinKondrashov 776a0e8a20 efuse(esp32c6): Replace PKG_VERSION BLK_VERSION_MINOR BLK_VERSION_MAJOR 2023-03-15 23:15:32 +08:00
Zim Kalinowski 0c090b7308 efuse: reenable and fix no-format warnings 2023-03-06 19:08:00 +01:00
KonstantinKondrashov a0408f7324 efuse: Updates efuse table for esp32c6 2023-02-28 17:13:21 +08:00
Konstantin Kondrashov bfd2f6ed7c Merge branch 'feature/adds_more_efuse_logs' into 'master'
efuse: Add more logging for virtual efuses

Closes IDFGH-9137

See merge request espressif/esp-idf!22399
2023-02-22 19:25:58 +08:00
KonstantinKondrashov f3394c488a efuse: Add support for esp32h2 2023-02-21 08:18:14 +00:00
KonstantinKondrashov cabfc75c3c efuse: FPGA testing must be run only manually 2023-02-21 08:18:14 +00:00
KonstantinKondrashov 9eed575764 efuse: Adds feature for efuse table, it can accept aliases in comments
DIS_TWAI, EFUSE_BLK0, 46, 1, [DIS_CAN DIS_CAN_123] Represents whether TWAI function ...
2023-02-21 08:18:14 +00:00
Chip Weinberger c7a12dd34b efuse: Add more logging for virtual efuses
Closes https://github.com/espressif/esp-idf/pull/10536
2023-02-16 00:10:08 +08:00
Cao Sen Miao fd3e0b0b18 esp32h2(ci): enable target test 2023-02-15 10:20:43 +08:00
Marius Vikhammer f9c1a2b791 Merge branch 'feature/core_c6_component_tests' into 'master'
ci: update idf-core related tests for C6

Closes IDF-6888

See merge request espressif/esp-idf!22282
2023-02-14 16:47:52 +08:00
Marius Vikhammer 25abc7f6d8 ci: update idf-core related tests for C6 2023-02-13 13:01:57 +08:00
Cao Sen Miao bbbe569e03 temperature_sensor: Add support for esp32h2 2023-02-10 16:36:56 +08:00
Cao Sen Miao 94120b82c2 esp32h2: add build test 2023-01-17 10:29:04 +08:00
Mahavir Jain fd34bdb70a Merge branch 'feature/secure_features_are_enabled_correctly' into 'master'
security: Adds new APIs to check that all eFuse security features are enabled correctly

Closes IDF-1814

See merge request espressif/esp-idf!19532
2023-01-13 15:09:55 +08:00
KonstantinKondrashov df662c30e4 bootloader_support(esp32c2): Fix WR_DIS_RD_DIS burn for secure boot key
SB key is left readable, the corresponding bit in RD_DIS is unset.
We set write-protection for RD_DIS to ensure that the SB key is always readable.
2023-01-10 23:35:13 +08:00
Alexey Lapshin 022f3a28b6 Merge branch 'fix/efuse-function-declaration' into 'master'
efuse: fix esp_efuse_utility_write_reg() declaration

See merge request espressif/esp-idf!20490
2023-01-10 13:48:35 +08:00
Cao Sen Miao 4713a9a7f2 ESP32H2: Introduce new chip target esp32h2, hello_world example supported 2022-12-29 12:29:14 +08:00