Commit Graph

499 Commits

Author SHA1 Message Date
Mahavir Jain
94bf4710fa
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-15 09:42:26 +05:30
Song Ruo Jing
46d33e46ef fix(console): enable to select UART1 port for console output
This feature was only enabled for esp32, esp32s2, esp32s3 previously.
Now, enabling this feature for all targets.
2023-11-09 22:32:49 +08:00
gaoxu
0ea0b39725 feat(adc_cali): Add ADC calibration support for ESP32H2 2023-10-31 11:29:30 +08:00
C.S.M
4111b07076 Merge branch 'bugfix/flash_enc_plaintext' into 'master'
fix(flash_encryption): Fix the issue that XTS_AES Plain text memory size wrong

See merge request espressif/esp-idf!26640
2023-10-27 18:23:00 +08:00
Cao Sen Miao
420ac840ff fix(flash_encryption): Fix the issue that XTS_AES Plain text memory size wrong 2023-10-26 19:38:42 +08:00
morris
418494800c fix(i2c): read write FIFO memory by volatile 2023-10-26 14:40:07 +08:00
Konstantin Kondrashov
a304cc230e Merge branch 'feature/esp32h2_adds_adc_calib_efuses' into 'master'
feat(efuse): Adds efuse ADC calibration data for ESP32H2

See merge request espressif/esp-idf!26305
2023-10-25 15:58:24 +08:00
Cao Sen Miao
8d639492f2 feat(i2c_slave): Add new implementation and API for I2C slave 2023-10-24 18:44:49 +08:00
wuzhenghui
6a436286dc feat(esp_hw_support): add api to gpio driver to support output internal clock on GPIO 2023-10-20 14:35:26 +08:00
Mahavir Jain
2407813a67 Merge branch 'feature/update_esp32c6-h2_apm_api' into 'master'
apm: updated APM HAL/LL APIs.

See merge request espressif/esp-idf!26368
2023-10-18 12:26:38 +08:00
Sachin Billore
c106f5caf6 apm: updated APM HAL/LL APIs. 2023-10-17 18:20:36 +05:30
Armando
17063b51e0 feat(soc): added flash operation range macros in ext_mem_defs.h 2023-10-16 17:19:04 +08:00
Michael (XIAO Xufeng)
2308292ca3 Merge branch 'bugfix/revert_pvt' into 'master'
Revert "feat(volt): chip auto adjust volt for esp32c6 & esp32h2"

See merge request espressif/esp-idf!26425
2023-10-16 12:53:07 +08:00
Song Ruo Jing
d73bf72885 Merge branch 'feature/gpio_dump_io_info' into 'master'
feat(gpio): add a dump API to dump IO configurations

Closes IDFGH-10987

See merge request espressif/esp-idf!26158
2023-10-13 22:35:59 +08:00
Song Ruo Jing
321f628ff5 feat(gpio): add a dump API to dump IO configurations
Closes https://github.com/espressif/esp-idf/issues/12176
2023-10-12 17:34:20 +08:00
zlq
9c2d470465 feat(bootloader): adjust dbias of bootloader, change clock of H2 to 64
MHz
2023-10-12 14:51:54 +08:00
Xiao Xufeng
28ba080c5e Revert "feat(volt): chip auto adjust volt for esp32c6 & esp32h2"
This reverts commit b221f87e00.
2023-10-12 14:51:54 +08:00
morris
66497af276 feat(hal): enable hal host test 2023-10-11 11:23:24 +08:00
KonstantinKondrashov
071d1cf865 feat(efuse): Adds efuse ADC calibration data for ESP32H2 2023-10-04 16:00:01 +08:00
wuzhenghui
c8083b07bf feat(modem_clock): separate management of modem_adc_common_fe clock and modem_private_fe 2023-09-28 17:41:42 +00:00
Kevin (Lao Kaiyao)
4c6f4b39f1 Merge branch 'feature/support_i2s_on_p4' into 'master'
feat(i2s): support i2s on esp32p4

Closes IDF-6508

See merge request espressif/esp-idf!24280
2023-09-29 00:50:04 +08:00
laokaiyao
cf889f3c6d feat(i2s): support i2s on esp32p4 2023-09-28 15:03:27 +08:00
zlq
b221f87e00 feat(volt): chip auto adjust volt for esp32c6 & esp32h2 2023-09-28 05:55:42 +00:00
Kevin (Lao Kaiyao)
9a239b8367 Merge branch 'feature/support_analog_comparator_on_p4' into 'master'
feat(ana_cmpr): supported analog comparator on esp32p4

Closes IDF-7479

See merge request espressif/esp-idf!24873
2023-09-27 04:24:09 +08:00
Jiang Jiang Jian
17ae394fd1 Merge branch 'feature/update_esp32h2_sleep_logic' into 'master'
feat(pm): remove SOC_PM_RETENTION_HAS_CLOCK_BUG for esp32h2

See merge request espressif/esp-idf!26081
2023-09-26 16:11:25 +08:00
laokaiyao
ff7a11e539 feat(ana_cmpr): supported etm in analog comparator example 2023-09-25 19:57:34 +08:00
Ivan Grokhotkov
2ac972e2c7
fix(soc): update SOC_IROM_MASK_HIGH for esp32, c6, h2 for consistency 2023-09-22 16:13:41 +02:00
cjin
40996f804a change: remove has clock bug macro for esp32h2 2023-09-21 11:31:53 +08:00
Planck (Lu Zeyu)
255d499884 fix(ll): fix cpp compile error
Merges https://github.com/espressif/esp-idf/pull/12093

fix(ll): remove FLAG_ATTR macro

Such kind of operator overload will not work because C++ thinks such overload is ambiguous and it still prefer the built-in one which accepts and returns integer. Manually force type conversion seems to be unavoidable.
2023-09-14 14:48:12 +08:00
Konstantin Kondrashov
054d4943c5 Merge branch 'feature/esp32p4_update_systimer' into 'master'
feat(esp_timer): Support systimer for ESP32P4

Closes IDF-7486 and IDF-7487

See merge request espressif/esp-idf!25688
2023-09-13 19:13:39 +08:00
Konstantin Kondrashov
cbdb799b6f feat(esp_timer): Support systimer for ESP32P4 2023-09-13 19:13:38 +08:00
Marius Vikhammer
573404b328 Merge branch 'bugfix/use_xtal_for_c3_wdt' into 'master'
fix(wdt): changed ESP32-C3 WDT to use XTAL as clock

Closes IDF-6729

See merge request espressif/esp-idf!25867
2023-09-13 10:44:38 +08:00
Marius Vikhammer
7a71454930 fix(wdt): changed WDT clock source to XTAL for C6/H2
Previously it used PLL, but PLL could potentially be powered down by power-management
when CPU frequency changed.
2023-09-12 09:41:24 +08:00
Marius Vikhammer
ca99f55316 fix(wdt): changed ESP32-C3 WDT to use XTAL as clock
This clock is unchanged even when CPU/APB frequency changes (e.g. due to esp_pm),
which means timeout period is correct even after such a change.
2023-09-08 15:12:21 +08:00
KonstantinKondrashov
25c7a59e31 fix(freertos): Use INTERRUPT_CURRENT_CORE_INT_THRESH_REG for esp32p4 2023-09-07 15:25:35 +08:00
Armando (Dou Yiwen)
bdfa91ab66 Merge branch 'change/delete_not_used_mmu_macros' into 'master'
mm: delete not used mmu macros and added soc_ prefix

Closes IDF-7686

See merge request espressif/esp-idf!25663
2023-09-06 11:59:03 +08:00
Marius Vikhammer
0a630831a7 Merge branch 'feature/move_wdt_defines_to_ll' into 'master'
fix(wdt): move non-auto generated wdt values to ll

See merge request espressif/esp-idf!25757
2023-09-06 10:12:43 +08:00
Armando
de77ab3061 change(soc): added SOC_ prefix to mmu defs 2023-09-05 15:47:26 +08:00
Armando
a9e3f963c2 change(soc): remove / move rom only mmu defs 2023-09-05 15:47:26 +08:00
Marius Vikhammer
e3861261eb fix(wdt): move non-auto generated wdt values to ll 2023-09-05 11:52:34 +08:00
Jiang Guang Ming
89f6c6d999 fix(soc/esp32h2): Update the description of the ECDSA_WORK_MODE 2023-09-05 09:20:21 +08:00
Marius Vikhammer
eb8883cc20 Merge branch 'feature/p4_wdt' into 'master'
feat(core-system/wdt): added support for watchdogs on P4

Closes IDF-8135 and IDF-7750

See merge request espressif/esp-idf!25584
2023-08-31 10:14:19 +08:00
Marius Vikhammer
8ecbd1f59b feat(core-system/wdt): added support for watchdogs on P4 2023-08-30 11:04:02 +08:00
morris
47bb157cab refactor(twai): add reset and clock control to twai LL layer 2023-08-29 22:19:57 +08:00
Jiang Jiang Jian
24914d15d8 Merge branch 'feature/manage_modem_etm_clock_indepently' into 'master'
feat(esp_hw_support): manage modem_etm clock in modem_clock for bt/154 indepently

Closes IDF-8013

See merge request espressif/esp-idf!25284
2023-08-28 13:35:58 +08:00
Armando
dc9ddfc0d4 change(soc): added SOC_EFUSE_SUPPORTED 2023-08-24 12:51:20 +08:00
Kevin (Lao Kaiyao)
f629c4b7e9 Merge branch 'feature/i2s_support_mclk_input' into 'master'
feat(i2s): supported external clock source input

Closes IDF-7889

See merge request espressif/esp-idf!24942
2023-08-16 19:07:22 +08:00
Chen Jichang
97d5db32ae feat(MCPWM): Add mcpwm carrier clk source
The MCPWM carrier is part of the operator and can work independently
without the MCPWM timer being enabled. This commit add the MCPWM
carrier clk source.
2023-08-15 13:04:11 +08:00
laokaiyao
4b6d71447c feat(i2s): supported external clock source input 2023-08-14 03:25:12 +00:00
morris
26f438cf89 Merge branch 'feature/esp32p4_gpio_support' into 'master'
feat(gpio): add support for ESP32P4

Closes IDF-6509

See merge request espressif/esp-idf!24868
2023-08-11 11:49:51 +08:00
Song Ruo Jing
be9afeac86 feat(gpio): add support for ESP32P4 2023-08-10 17:58:49 +08:00
C.S.M
96bf37ab78 Merge branch 'feature/i2c_master_new_driver' into 'master'
I2C: Add new i2c master impl APIs and i2c eeprom example

See merge request espressif/esp-idf!23592
2023-08-10 16:51:31 +08:00
Armando (Dou Yiwen)
337aeb4b78 Merge branch 'feature/add_esp32p4_hello_world' into 'master'
esp32p4: introduced new chip ESP32P4: Hello World! 🌏

Closes IDF-7523

See merge request espressif/esp-idf!25013
2023-08-10 16:04:55 +08:00
Cao Sen Miao
4ef94fc0dc feat(i2c): Add new API and implementation for I2C driver 2023-08-10 11:55:54 +08:00
wuzhenghui
a425d8816a feat(esp_hw_support): manage modem_etm clock in modem_clock for bt/154 indepently 2023-08-09 20:19:50 +08:00
Lou Tianhao
808a01e656 feat(pm/deepsleep): Support EXT1_WAKEUP_MODE_PER_PIN 2023-08-09 19:46:25 +08:00
Armando
00df6b378d refactor(sar): build sar_periph_ctrl related files by chip 2023-08-09 19:33:36 +08:00
wuzhenghui
c34cdd05e9 fix(esp_hw_support): manage i2c_ana_mst clock witch modem clock driver 2023-08-04 10:39:43 +08:00
Armando
dd71c7fe17 fix(pwdet): fix pwdet wrong base address on c6 h2 2023-07-26 14:39:34 +08:00
Lou Tian Hao
57c6c0a1a3 Merge branch 'bringup/esp32h2_deep_sleep_for_rebase' into 'master'
esp32h2: support deep_sleep

Closes IDF-6268, IDF-6572, and IDF-7406

See merge request espressif/esp-idf!24438
2023-07-24 10:47:51 +08:00
Song Ruo Jing
4b9f601ac3 Merge branch 'feature/esp32p4_clock_prework_support' into 'master'
feat(clk): Add support to get xtaL freq for ESP32P4

See merge request espressif/esp-idf!24927
2023-07-21 00:12:18 +08:00
Song Ruo Jing
b8a8713f96 feat(clk): Add support to get xtaL freq for ESP32P4 2023-07-20 18:13:13 +08:00
Lou Tianhao
e70763f9a4 feat(pm/deepsleep): Support EXT1 wakeup for esp32h2 deep_sleep 2023-07-20 11:43:57 +08:00
Lou Tianhao
dcacd8cdf8 feat(pm/deepsleep): Support deep_sleep example and deep_sleep_wake_stub example for esp32h2 2023-07-20 11:43:57 +08:00
morris
fb7cc00378 Merge branch 'refactor/reorganize_the_interrupt_description_files' into 'master'
refactor(interrupt): Put the interrupts definitions in soc/interrupts.h

Closes IDF-5776

See merge request espressif/esp-idf!24578
2023-07-19 12:05:56 +08:00
Shen Weilong
e9e6372690 feat(ble): Added ble examples for multiple connections 2023-07-18 12:05:11 +08:00
Chen Jichang
304c7572a6 refactor(interrupt):put the interrupts definitions in soc/interrupts.h
Now the soc interrupts definitions are scattered around in the esp-idf
which are out of sync. Put interrupts definitions in soc/periph_defs.h
(!ESP32) or soc/soc.h(ESP32) together in soc/interrupts.h.
2023-07-17 19:31:56 +08:00
wuzhenghui
2b600df4ee fix(esp_pm): Constrains the minimum frequency of APB_MAX when the modem is working 2023-07-14 20:10:16 +08:00
muhaidong
de03939923 external coex: rename coex gpio struct field names 2023-07-12 19:23:39 +08:00
morris
56a376c696 feat(esp_gdma): add hal interface for common operations
GDMA driver will be adapted to more DMA peripherals in the future.
This commit is to extract a minimal interface in the hal layer
2023-07-10 13:45:57 +08:00
Song Ruo Jing
ea48030514 Merge branch 'refactor/rtcio_caps_responsibility' into 'master'
refactor(driver/rtcio): Re-wrap RTCIO APIs with more accurate soc_caps

Closes IDF-7406

See merge request espressif/esp-idf!24522
2023-07-07 14:25:47 +08:00
Armando
2f6ce0cc17 fix(regi2c): wrong ADC_CALI_PD_WORKAROUND on c6, h2 2023-07-06 17:54:31 +08:00
Song Ruo Jing
4985caa38f refactor(driver/rtcio): Re-wrap RTCIO APIs with more accurate soc_caps 2023-07-05 11:47:51 +08:00
morris
0298e6f257 Merge branch 'feature/gpio_num_per_target' into 'master'
refactor(gpio): per-target gpio number definition

See merge request espressif/esp-idf!24546
2023-07-04 14:12:39 +08:00
morris
d623ce0d53 refactor(gpio): per-target gpio number definition 2023-07-03 13:33:11 +08:00
Alexey Lapshin
4df3ff619e feat(esp_system): implement hw stack guard for riscv chips
- add hardware stack guard based on assist-debug module
- enable hardware stack guard by default
- disable hardware stack guard for freertos ci.release test
- refactor rtos_int_enter/rtos_int_exit to change SP register inside them
- fix panic_reason.h header for RISC-V
- update docs to include information about the new feature
2023-07-01 16:27:40 +00:00
Lou Tian Hao
7c2ac1feb6 Merge branch 'bringup/esp32h2_light_sleep_for_rebase' into 'master'
esp32h2: support light_sleep

Closes IDF-6266 and IDF-7359

See merge request espressif/esp-idf!23567
2023-06-28 10:37:18 +08:00
morris
d18a03b0db Merge branch 'refactor/rename_gpio_ext_reg_name_c6_h2' into 'master'
gpio_ext: rename register prefix to be GPIO_EXT_xxx

See merge request espressif/esp-idf!23969
2023-06-26 22:29:39 +08:00
Lou Tianhao
7fd74057a3 example: bringup light sleep example for esp32h2 2023-06-26 21:05:16 +08:00
Lou Tianhao
b06cadddb3 Power Management: fix REGDMA clock issue when wake up form light sleep 2023-06-26 21:05:10 +08:00
Lou Tianhao
d3ca0656c8 Power Management: support MODEM domain powered down in light sleep for esp32h2 2023-06-26 20:58:59 +08:00
Lou Tianhao
b4210682c8 Power Management: support TOP domain powered down in light sleep for esp32h2 2023-06-26 20:58:59 +08:00
Lou Tianhao
46cf3ecdc2 Power Management: support PAU REGDMA feature for esp32h2 2023-06-26 20:58:59 +08:00
Lou Tianhao
6ea441c815 Power Management: support CPU powered down in light sleep for esp32h2 2023-06-26 20:57:55 +08:00
Lou Tianhao
63d32ab620 Power Management: support DFS and PMU feature for esp32h2 2023-06-26 20:57:55 +08:00
Armando
c448597f24 kconfig: introduced CONFIG_IDF_ENV_BRINGUP for new chip bringup usage 2023-06-26 03:30:23 +00:00
Shu Chen
54e45c7be4 Merge branch 'bugfix/fix_multipan_enable_and_update_reg' into 'master'
ieee802154: fix multipan api error and update coex_arb_delay reg

See merge request espressif/esp-idf!24145
2023-06-26 11:00:08 +08:00
Song Ruo Jing
921713fff4 uart: Support LP_UART port with UART driver on esp32c6 2023-06-16 07:31:40 +00:00
xiaqilin
4d4f68623e ieee802154: fix multipan api error and update coex_arb_delay reg 2023-06-09 17:14:56 +08:00
Mahavir Jain
1696be719c
crypto: add support for DPA protection configuration in C6/H2
- Technical details covered in section "15.3.2 Anti-DPA Attack Security
Control" chapter of the ESP32-C6 TRM
- Default configuration sets the security level low for the DPA
protection
- This change applies to all the crypto peripherals where the clock
frequency is dynamically adjusted to create randomness in the power
consumption trajectory
- This configuration helps to make the SCA attacks difficult on the
crypto peripherals
2023-06-08 11:09:23 +05:30
Mahavir Jain
c606127315 Merge branch 'fix/xts_aes_register_prefix_discrepancy_c6_h2' into 'master'
fix: xts aes register prefix discrepancy for ESP32H2 and ESP32C6

Closes DOC-5171 and DOC-5179

See merge request espressif/esp-idf!23944
2023-06-06 12:40:57 +08:00
Song Ruo Jing
c8cf7c5824 gpio_ext: rename register prefix to be GPIO_EXT_xxx 2023-05-31 12:55:22 +08:00
harshal.patil
bc825431e8 esp32h2: xts-aes register prefix discrepency 2023-05-26 15:33:15 +05:30
wuzhenghui
3ae1f0ea5d bugfix: fix rc_fast bad calibration value 2023-05-25 21:21:14 +08:00
Zim Kalinowski
451a0f1d33 Merge branch 'feature/adds_new_efuses_for_h2' into 'master'
efuse(H2): Adds RF Calibration Information

Closes IDF-7382

See merge request espressif/esp-idf!23827
2023-05-25 14:36:50 +08:00
Jakob Hasse
d3f77ec352 esp_hw_support/bootloader: made ESP32-C6 and ESP32-H2 RNG available 2023-05-23 18:14:51 +08:00
KonstantinKondrashov
aef81cceee efuse(H2): Adds RF Calibration Information 2023-05-22 08:40:26 +00:00
Linda
65ee4992ce docs: update the algorithm and key name from AES-XTS to XTS-AES 2023-05-15 17:54:50 +08:00
zlq
ff88f42819 H2:fix tsensor issue @low temp 2023-05-09 19:40:53 +08:00
Armando
8eec6558d1 mspi: refactor timing tuning driver to make it compatible with p4 2023-05-04 17:05:35 +08:00