Commit Graph

1280 Commits

Author SHA1 Message Date
wuzhenghui
8f33c69c30
fix(esp_hw_support): disable mpll before sleep to avoid mspi module entering an error state 2024-04-18 18:07:02 +08:00
wuzhenghui
f3d963a93b
fix(esp_system): update power domain configuration with slow clock source selection 2024-04-17 15:45:52 +08:00
Marius Vikhammer
4533f16c34 fix(rtc_memory): fix conflict between LP-ROM and RTC reserved 2024-04-17 13:37:56 +08:00
Mahavir Jain
46c453ae1e
feat: add memory protection support using PMA/PMP for P4 target 2024-04-14 21:16:40 +05:30
Mahavir Jain
bf63862c4a Merge branch 'fix/enable_crypto_periphs_before_rom_exec' into 'master'
fix(esp_system): enable crypto periphs before rom execution

See merge request espressif/esp-idf!30116
2024-04-13 00:14:16 +08:00
harshal.patil
6ec486e351
fix(esp_system): Enable crpyto peripherals related clocks for specific ESP32-P4 ECOs 2024-04-12 14:56:53 +05:30
wuzhenghui
e7046e2abf
fix(esp_hw_support): fix bad logic in esp_perip_clk_init 2024-04-12 14:08:07 +08:00
Lou Tianhao
3fb4909483 feat(example): support esp32c5 timer/gpio/uart wakeup 2024-04-10 11:45:04 +08:00
laokaiyao
65b1fd33d3 ci(esp32c5mp): disable the unsupported tests 2024-04-07 12:13:29 +08:00
Darian Leung
023eae4f0b
feat(hal/usb): Update USB WRAP and USJ LL, add missing ESP32-P4 LL
This commit updates updates the LLs of USB WRAP and USJ as follows:

- Added missing 'usb_wrap_ll.h' and 'usb_serial_jtag_ll.h' for the ESP32-P4
- Added LL cap macros to distinguish feature differences between the LLs of
  different targets:
    - '..._LL_EXT_PHY_SUPPORTED' indicates whether the USB WRAP/USJ supports
      routing to an external FSLS PHY.
    - '..._LL_SWAP_PHY_SUPPORTED' indicates whether the USB WRAP/USJ supports
      swapping between multiple internal FSLS PHYs.
- Tidied up some RCC LL functions and their callers.
- Added 'usb_wrap_types.h' and 'usb_serial_jtag_types.h' to provide types used
  in LLs.
- Fixed some spelling/naming issues as part of code-spell pre-commit
2024-04-04 02:47:00 +08:00
Laukik Hase
48503dd39f
fix(esp_hw_support): Fix the flash I/DROM region PMP protection 2024-04-02 18:41:07 +05:30
Kevin (Lao Kaiyao)
61cf08fcc8 Merge branch 'feature/update_rom_for_esp32c5mp' into 'master'
change(rom): update the frozen rom for esp32c5mp

See merge request espressif/esp-idf!29971
2024-04-02 12:18:50 +08:00
laokaiyao
0cb1057915 change(rom): update the frozen rom for esp32c5mp 2024-04-01 20:53:49 +08:00
Jakob Hasse
9c108f2da6
feat(esp_hw_support): brought up RNG on ESP32-P4 2024-04-01 07:09:11 +05:30
morris
1ed64afddd Merge branch 'refactor/remove_unused_periph_module_enable' into 'master'
remove orphaned clk_gate_ll.h on esp32p4

Closes IDF-8094

See merge request espressif/esp-idf!29906
2024-03-29 14:50:34 +08:00
Wu Zheng Hui
96d99352ea Merge branch 'feature/esp32p4_sleep_peripheral_retention_support' into 'master'
feat(esp_hw_support): esp32p4 sleep support (Stage 3: support system peripheral sleep retention 🔌)

Closes IDF-7531, IDF-7530, IDF-8976, and FV-748

See merge request espressif/esp-idf!28486
2024-03-29 11:15:49 +08:00
morris
8e64a59fac refactor(periph_ctrl): remove orphaned clk_gate_ll.h
and deprecate the legacy periph_module_xxx functions for new targets
2024-03-29 10:53:05 +08:00
Michael (XIAO Xufeng)
5d6c56c20d Merge branch 'fix/unused_mmap_include' into 'master'
fix(all): remove unused header includes

See merge request espressif/esp-idf!29816
2024-03-29 10:20:08 +08:00
wuzhenghui
4a64d2fe2c change(hal): control PAU bus clock by hal layer 2024-03-29 00:36:46 +08:00
Marius Vikhammer
1c73c657c9 Merge branch 'ci/console_test_coverage' into 'master'
ci(console): improve esp-system console test-coverage

Closes IDFCI-1856, IDF-9576, and IDF-9577

See merge request espressif/esp-idf!29748
2024-03-28 11:14:57 +08:00
wuzhenghui
621effce5b
fix(esp_system): workaround for CI pass
1. workaround esp32p4 rev0 wrong deepsleep wakeup cause

2. workaround esp32p4 lightsleep stuck issue with PSRAM enabled
2024-03-27 13:59:37 +08:00
wuzhenghui
ccaae61fee
feat(esp_hw_support): support esp32p4 deepsleep 2024-03-27 13:59:36 +08:00
Marius Vikhammer
9e62e32a5b fix(system_console): fixed unity output not working with usb jtag serial 2024-03-26 14:25:36 +08:00
Marius Vikhammer
42fc463c81 fix(console): fixed CONSOLE_NONE not working on C2/C3 2024-03-26 13:39:10 +08:00
Marius Vikhammer
aa6a7bec76 ci(console): improve esp-system console test-coverage 2024-03-26 12:22:35 +08:00
morris
cf59c00564 change(mpll): clean up mpll clock acquire with ldo driver 2024-03-25 22:03:49 +08:00
Xiao Xufeng
313c4f2cdc fix(all): remove unused header includes 2024-03-25 13:58:40 +08:00
KonstantinKondrashov
a3bfb3f857 feat(ipc): Adds a new no blocking IPC call 2024-03-22 19:49:42 +02:00
Kevin (Lao Kaiyao)
4cd30f9b8f Merge branch 'feature/esp32c5_mp_bringup' into 'master'
feat(esp32c5): bringup esp32c5 mp (Stage 7/7: hello world)

See merge request espressif/esp-idf!29093
2024-03-22 11:18:52 +08:00
Mahavir Jain
cdc1a2551b Merge branch 'feature/enable_rsa_support_for_c5' into 'master'
feat: enable RSA support for c5

See merge request espressif/esp-idf!29189
2024-03-22 10:10:47 +08:00
Alexey Lapshin
0e3673a2bd Merge branch 'feature/esp32p4-coredump-support' into 'master'
esp32p4: panic tests support

Closes IDF-7565, IDF-7861, IDF-9035, and IDF-9075

See merge request espressif/esp-idf!28586
2024-03-21 21:12:25 +08:00
Alexey Lapshin
e845d9e0eb feat(esp_system): allow .data to spill over into L2MEM above 0x4ff40000
It may be usefull when .rodata placed into .dram1.data
2024-03-21 15:36:39 +04:00
Alexey Lapshin
13b55386bf feat(system): esp32p4: support hw stack guard 2024-03-21 14:30:21 +04:00
laokaiyao
c9d6a11d1d feat(esp32c5mp): support to run hello world on esp32c5 mp 2024-03-21 16:18:03 +08:00
wanlei
a611e91b2f feat(esp32c61): new chip add system and esp_timer support 2024-03-21 11:31:15 +08:00
Darian
53e3833f44 Merge branch 'refactor/usb_fsls_phy_hal' into 'master'
refactor(hal/usb): Update USB PHY related HAL/LL API

See merge request espressif/esp-idf!29659
2024-03-20 06:07:29 +08:00
Alexey Lapshin
40be44f827 feat(system): refactor linker scripts
- move .tbss to NOLOAD section
- remove xtensa-specific entities from riscv scripts
- explicit eh_frame terminator instead of "align magic"
- 80 characters line length limit
- refactor comments
- discard .rela sections (the rela data will go to relates sections)
2024-03-19 13:27:11 +04:00
Kevin (Lao Kaiyao)
a77a7ab550 Merge branch 'feature/add_system_components_to_esp32c5mp' into 'master'
feat(esp32c5mp): add system related components (Stage 5/7)

See merge request espressif/esp-idf!29603
2024-03-19 16:48:56 +08:00
nilesh.kale
b11f286555 feat(esp_system/esp32c5): revised cypto clock to be used
This commit updated crypto clock to use 160M SPLL clock
2024-03-19 13:47:04 +05:30
Darian Leung
a77e5cc718
refactor(hal/usb): Remove usb_fsls_phy_ll.h
For targets that only contain a USJ peripheral (and not a DWC OTG), their
'usb_fsls_phy_ll.h' headers only contain a single function
('usb_fsls_phy_ll_int_jtag_enable()') whose feature is already covered by
functions in 'usb_serial_jtag_ll.h'. Thus, this header is redundant.

This commit does the following:

- Remove 'usb_fsls_phy_ll.h' for targets that only contain a USJ peripheral
- Rename 'usb_fsls_phy_[hal|ll].[h|c]' to `usb_wrap_[hal|ll].[h|c]` for targets
that contain a DWC OTG peripheral. This better reflects the underlying peripheral
that the LL header accesses.
2024-03-18 19:23:43 +08:00
laokaiyao
24d6dcb829 feat(esp32c5mp): add system related components 2024-03-18 17:34:56 +08:00
Alexey Lapshin
994b4ed459 Merge branch 'feature/update-toolchain-to-esp-13.2.0_20240305' into 'master'
feat(tools): update toolchain version to esp-13.2.0_20240305

Closes IDFGH-2549

See merge request espressif/esp-idf!29430
2024-03-18 16:58:39 +08:00
Alexey Lapshin
4ac07fc575 feat(cxx): get rid of _Unwind_SetEnableExceptionFdeSorting 2024-03-15 12:36:00 +04:00
Wu Zheng Hui
5a682c3bbb Merge branch 'feature/optimize_chips_active_power' into 'master'
feat(system): Optimize the power consumption of esp32h2 and esp32c6 in the active state

Closes IDF-5658

See merge request espressif/esp-idf!27798
2024-03-14 12:08:33 +08:00
Mahavir Jain
2b17acb4b0 Merge branch 'bugfix/memprot_cleanup' into 'master'
fix: cleanup memprot files for C6/H2/P4

See merge request espressif/esp-idf!29556
2024-03-13 11:12:52 +08:00
Sonika Rathi
a7d1da94b9 Merge branch 'update/add_esp_vfs_console_component' into 'master'
fix(esp_vfs_console): add esp_vfs_console component

Closes IDFGH-11900

See merge request espressif/esp-idf!28655
2024-03-12 23:37:41 +08:00
Guillaume Souchere
d0b97fbd6b Merge branch 'refactor/decouple-psram-init-from-essp-system' into 'master'
refactor(esp_psram): Decouple psram init from esp_system

Closes IDF-8769

See merge request espressif/esp-idf!29042
2024-03-12 21:01:59 +08:00
Konstantin Kondrashov
3f89072af1 feat(all): Use PRIx macro in all logs 2024-03-12 11:15:53 +02:00
wuzhenghui
9e8e20227f
feat(system): disable RNG module clock by default for save power 2024-03-12 10:10:41 +08:00
wuzhenghui
2a251982fc
feat(system): add option to allow user disable assist_debug module to save power 2024-03-12 10:10:40 +08:00
wuzhenghui
b0fa4565a1
feat(system): add option to allow user disable USJ module to save power 2024-03-12 10:10:36 +08:00
Mahavir Jain
fd6c710b27
fix: cleanup memprot files for C6/H2/P4
There is no separate permission control peripheral in C6/H2/P4.
Memory protection is achieved using built-in PMA/PMP and hence
removing permission control specific files.
2024-03-11 17:10:40 +05:30
Guillaume Souchere
8a8ed00852 refactor(esp_psram): Decouple psram init from esp_system 2024-03-11 11:50:43 +01:00
sonika.rathi
e162903615 fix(esp_vfs_console): add esp_vfs_console component
move vfs_console related init steps from vfs component to new esp_vfs_console component
2024-03-11 10:18:10 +01:00
Erhan Kurubas
4462a2040f Merge branch 'coredump_refactoring' into 'master'
Coredump refactoring

See merge request espressif/esp-idf!29268
2024-03-07 21:23:39 +08:00
wuzhenghui
85b246ac88
feat(system): gate the debug clock source by default for esp32c6 and esp32h2 2024-03-07 19:26:39 +08:00
wuzhenghui
f5707c6ab8
feat(system): gate the REF_TICK clock by default for esp32c6 and esp32h2 2024-03-07 19:26:38 +08:00
wuzhenghui
60e985e7af
feat(system): gate the LP peripheral clock by default for esp32c6 and esp32h2 2024-03-07 19:26:38 +08:00
wuzhenghui
0528c8b4f4
feat(system): gate the HP peripheral clock by default for esp32c6 and esp32h2 2024-03-07 19:26:37 +08:00
Sudeep Mohanty
0de2912f91 Merge branch 'fix/esp_system_requires_esp_gdbstub' into 'master'
fix(esp_system): Updated the CMakeLists.txt to add requirement for esp_gdbstub component

Closes IDFGH-12162

See merge request espressif/esp-idf!29132
2024-03-07 16:24:46 +08:00
Erhan Kurubas
434b096c72 refactor(espcoredump): simplify uart/flash write flow 2024-03-07 16:10:50 +08:00
Darian
dc86c17b38 Merge branch 'feature/freertos_smp_update_to_v11' into 'master'
FreerTOS: Update Amazon SMP FreeRTOS files to V11.0.1

See merge request espressif/esp-idf!28352
2024-03-07 15:03:21 +08:00
Guillaume Souchere
2ade4d3458 Merge branch 'feat/movee_heap_init_into_component' into 'master'
refactor(heap): decouple heap_init from esp_system

Closes IDF-8754

See merge request espressif/esp-idf!29024
2024-03-06 17:36:59 +08:00
Kevin (Lao Kaiyao)
413c53d39a Merge branch 'feature/support_esp32c5_mp_target' into 'master'
feat(esp32c5mp): add soc files (stage 2/8, part 1/2)

See merge request espressif/esp-idf!29369
2024-03-06 14:19:40 +08:00
nilesh.kale
f6a7fb13cd feat: re enables tests on p4
This commit re-enables mbedtls and hal/crypto testapos on p4.
2024-03-05 17:48:05 +08:00
laokaiyao
cfc1584594 feat(esp32c5): support to set esp32c5 mp target in Kconfig 2024-03-05 16:17:53 +08:00
Darian Leung
48a7f053d5
feat(freertos/smp): Update other IDF components to be compatible with FreeRTOS v11.0.1 2024-03-05 15:44:12 +08:00
Guillaume Souchere
e2144e01c1 refactor(heap): decouple heap_init from esp_system 2024-03-05 07:30:38 +01:00
Wan Lei
3459db1bbb Merge branch 'feat/c6lite_c61_introduce_step1_target' into 'master'
feat(esp32c61): introduce target esp32c61 (1/8) 🌱

See merge request espressif/esp-idf!29238
2024-03-05 11:36:17 +08:00
Jakob Hasse
64d37664b4 Merge branch 'refactor/cxx_startup_function_cleanup' into 'master'
refactor(cxx): moved C++ init functions to cxx component

Closes IDF-8768

See merge request espressif/esp-idf!29095
2024-03-05 10:17:42 +08:00
Konstantin Kondrashov
43c604f145 Merge branch 'feature/move_efuse_related_inits_into_component' into 'master'
feat(efuse): Move efuse-related init steps into the component

Closes IDF-8759 and IDF-8761

See merge request espressif/esp-idf!28422
2024-03-04 17:34:44 +08:00
KonstantinKondrashov
f9800e0726 feat(efuse): Move efuse-related init steps into the component 2024-03-01 21:07:03 +02:00
wanlei
ee02b71f1c feat(esp32c61): introduce target esp32c61 2024-03-01 21:12:25 +08:00
laokaiyao
01e3c85322 refactor(esp32c5): change beta3 path in esp_system and bootloader 2024-03-01 11:12:36 +08:00
Jakob Hasse
bafaf07c18 refactor(cxx): moved C++ init functions to cxx component
* Also fixed setting the C++ exception emergency pool size
  correctly when C++ exceptions are disabled:
  __cxx_eh_arena_size_get() is now called again even if
  CONFIG_COMPILER_CXX_EXCEPTIONS=n
2024-03-01 11:00:09 +08:00
Alexey Lapshin
fdb7a43752 Merge branch 'feature/esp32p4_concontiguous_mem_mvp' into 'master'
feat(esp_system): allow .bss to spill over into L2MEM above 0x4ff40000 on P4

See merge request espressif/esp-idf!28783
2024-02-29 16:28:13 +08:00
Alexey Lapshin
824c8e0593 feat(esp_system): allow .bss to spill over into L2MEM above 0x4ff40000
This commit introduce SOC_MEM_NON_CONTIGUOUS_SRAM flag (that enebled for
esp32p4). If SOC_MEM_NON_CONTIGUOUS_SRAM is enabled:

- LDFLAGS+=--enable-non-contiguous-regions
- ldgen.py replaces "arrays[*]" from sections.ld.in with objects under
  SURROUND keyword. (e.g. from linker.lf: data -> dram0_data SURROUND(foo))
- "mapping[*]" - refers to all other data

If SOC_MEM_NON_CONTIGUOUS_SRAM, sections.ld.in file should contain at
least one block of code like this (otherwise it does not make sense):

  .dram0.bss (NOLOAD) :
  {
    arrays[dram0_bss]
    mapping[dram0_bss]
  } > sram_low

  .dram1.bss (NOLOAD) :
  {
    /* do not place here arrays[dram0_bss] because it may be splited
     * between segments */
    mapping[dram0_bss]
  } > sram_high
2024-02-28 19:41:25 +04:00
Sudeep Mohanty
7444890a03 fix(esp_system): Updated the conditions for the GDBStub on Panic Kconfig option
This commit updates the Panic handler behavior Kconfig setting to make
the GDBStub on Panic (CONFIG_ESP_SYSTEM_PANIC_GDBSTUB) option to be only
available when esp_gdbstub is part of the component list of the build.

Closes https://github.com/espressif/esp-idf/issues/13218
2024-02-28 08:34:08 +01:00
Jiang Jiang Jian
c7a02cbe55 Merge branch 'c6_auto_dbias_master_hsq' into 'master'
ESP32C6: Active & sleep dbg and dbias get from efuse to fix the voltage

See merge request espressif/esp-idf!27696
2024-02-22 19:12:28 +08:00
Marius Vikhammer
c3ecd6d1f7 Merge branch 'bugfix/reset_reasons' into 'master'
Update reset reasons for C6, H2, P4 and C5

Closes IDF-5719 and IDF-8660

See merge request espressif/esp-idf!28999
2024-02-22 11:02:29 +08:00
Marius Vikhammer
4ce4af61ad fix(system): update reset reasons for P4 and C5 2024-02-21 11:59:28 +08:00
Konstantin Kondrashov
1253ab6e27 Merge branch 'feature/move_esp_timer_related_inits_into_component' into 'master'
feat(esp_timer): Move esp_timer-related init steps into the component

Closes IDF-8755

See merge request espressif/esp-idf!28664
2024-02-20 16:49:31 +08:00
Sudeep Mohanty
9605f9be3f Merge branch 'contrib/github_pr_12800' into 'master'
feat(freertos): Added new Kconfig option CONFIG_FREERTOS_NUMBER_OF_CORES

Closes IDFGH-11693 and IDF-8785

See merge request espressif/esp-idf!28505
2024-02-20 15:21:47 +08:00
Marius Vikhammer
c0a2043562 fix(system): update reset reasons for C6 and H2 2024-02-20 12:27:09 +08:00
Konstantin Kondrashov
49ba674fb5 feat(esp_timer): Move esp_timer-related init steps into the component 2024-02-19 19:21:40 +08:00
Armando (Dou Yiwen)
6b278ac406 Merge branch 'change/remove_idf7890_todo' into 'master'
change(memory): remove `IDF-7890` todo

Closes IDF-7890

See merge request espressif/esp-idf!28766
2024-02-18 14:08:06 +08:00
Laukik Hase
5430e2ff4c
refactor(esp_app_format): Move esp_app_format-related init steps into the component 2024-02-12 11:12:37 +05:30
fl0wl0w
90d1dcfd76 feat(freertos): Introduced new Kconfig option CONFIG_FREERTOS_NUMBER_OF_CORES
This commit replaces the use of portNUM_PROCESSORS and configNUM_CORES
macros in all of ESP-IDF. These macros are needed to realize an SMP
scenario by fetching the number of active cores FreeRTOS is running on.
Instead, a new Kconfig option, CONFIG_FREERTOS_NUMBER_OF_CORES, has been
added as a proxy for the FreeRTOS config option, configNUMBER_OF_CORES.
This new commit is now used to realize an SMP scenario in various places
in ESP-IDF.

[Sudeep Mohanty: Added new Kconfig option CONFIG_FREERTOS_NUMBER_OF_CORES]

Signed-off-by: Sudeep Mohanty <sudeep.mohanty@espressif.com>
2024-02-09 09:11:28 +01:00
Mahavir Jain
34723ad12c Merge branch 'bugfix/ota_anti_rollback_checks_2' into 'master'
feat(bootloader_support): Read secure_version under sha256 protection

Closes IDF-9013

See merge request espressif/esp-idf!28740
2024-02-08 23:10:08 +08:00
Marius Vikhammer
6afb652626 Merge branch 'refactor/decouple_esp_system_pthread' into 'master'
refactor(pthread): decouple pthread_init from esp_system

Closes IDF-8757

See merge request espressif/esp-idf!28909
2024-02-08 13:30:59 +08:00
Song Ruo Jing
d556fee5c4 Merge branch 'feature/esp32c5_clock_preliminary_support' into 'master'
Feature/esp32c5 clock preliminary support

See merge request espressif/esp-idf!28808
2024-02-08 11:54:35 +08:00
Marius Vikhammer
2bb16ed45b refactor(pthread): decouple pthread_init from esp_system 2024-02-08 09:40:46 +08:00
Mahavir Jain
3305cb4d23 fix(ota): additional checks for secure version in anti-rollback case
Some additional checks related to secure version of the application in
anti-rollback case have been added to avoid any attempts to boot lower
security version but valid application (e.g., passive partition image).

- Read secure_version under sha256 protection

- First check has been added in the bootloader to ensure correct secure
  version after application verification and loading stage. This check
  happens before setting up the flash cache mapping and handling over
  the final control to application. This check ensures that application
  was not swapped (e.g., to lower security version but valid image) just
  before the load stage in bootloader.

- Second check has been added in the application startup code to ensure
  that currently booting app has higher security version than the one
  programmed in the eFuse for anti-rollback scenario. This will ensure
  that only the legit application boots-up on the device for
  anti-rollback case.
2024-02-07 22:23:10 +08:00
Erhan Kurubas
0d22b99946 feat(coredump): move esp_core_dump_init into component 2024-02-07 19:39:36 +08:00
Song Ruo Jing
95133c179f feat(clk): preliminary clock tree support for ESP32C5 2024-02-07 14:38:15 +08:00
liuning
3fa9c578f9 fix(clk): clear all lpclk source at clk init 2024-02-07 13:49:18 +08:00
laokaiyao
c0c6af99e9 fix(esp32c5): fixed the lack of crosscore ll on c5 2024-02-05 12:39:35 +08:00
hongshuqing
35918b89a9 feat(pmu): set fix voltage to different mode for esp32c6 & c6 modify brownout rst2 2024-02-04 14:13:23 +08:00
Armando
dd5843f490 change(memory): remove IDF-7890 todo 2024-02-04 12:54:13 +08:00
Erhan Kurubas
7234303e9e feat(system): move esp_dbg_stubs_init into component 2024-01-31 20:12:45 +01:00
Marius Vikhammer
06850e0e1e refactor(system): removed esp_system from astyle ignore list and reformated it 2024-01-30 15:17:15 +08:00
Song Ruo Jing
10b41d7a24 Merge branch 'refactor/soc_rtc_h_file' into 'master'
refactor(rtc): move soc/rtc.h from soc to esp_hw_support component

Closes IDF-8941

See merge request espressif/esp-idf!28238
2024-01-26 20:20:20 +08:00
Jakob Hasse
ee6112b9d7 Merge branch 'docs/document_lethal_hazards' into 'master'
docs(esp_system): Document limitations of esp_execute_shared_stack_function

See merge request espressif/esp-idf!27872
2024-01-26 19:21:30 +08:00
Marius Vikhammer
e67f101c5c Merge branch 'bugfix/stack_prot_issue_p4' into 'master'
fix(system): fixed -fstack-protector issue on P4

See merge request espressif/esp-idf!28688
2024-01-26 10:44:26 +08:00
Song Ruo Jing
cf93777077 refactor(rtc): move soc/rtc.h from soc to esp_hw_support component
Deprecated rtc_xtal_freq_t, replaced with soc_xtal_freq_t defined in
clk_tree_defs.h in soc component.
2024-01-25 19:15:33 +08:00
Jakob Hasse
65e4118893 docs(esp_system): Document limitations of esp_execute_shared_stack_function 2024-01-25 19:02:25 +08:00
Marius Vikhammer
21d0c65e52 fix(system): fixed -fstack-protector issue on P4
During cpu_start stack-smashing would errorounsly trigger when compiled
with -Os on P4. This happened due to the stack canary value (stored in bss) changing when
we initialized bss and then getting flagged as a stackoverflow.

Disable fstack-protector for cpu_start to avoid this issue
2024-01-25 11:12:35 +08:00
Mahavir Jain
09c9001895 Merge branch 'feature/add_key_manager_hw_support' into 'master'
Feature/add key manager hw support

Closes IDF-7925 and IDF-8041

See merge request espressif/esp-idf!26328
2024-01-23 17:11:05 +08:00
Mahavir Jain
e3d4b901f9 Merge branch 'bugfix/compilation_failed_in_bootloader_with_sb_fe_verbose' into 'master'
fix(bootloader): Fix compilation issue in bootloader build during verbose+sb+fe

Closes IDF-6373

See merge request espressif/esp-idf!26339
2024-01-23 13:29:02 +08:00
Aditya Patwardhan
4dc2ace0b7
fix(esp_hw_support): Update key manager support
1) Added new Key Manager APIs
    2) Added crypto locking layer for Key Manager
    3) Remove support for deploying known key
    4) Format key manager support
    5) Fix build header error
    6) Updated the key_mgr_types.h file
    7) Added key manager tests
2024-01-23 10:24:39 +05:30
Darian Leung
f50d83413e refactor(tools): Tidy up core component files copyright ignore
Some files that should have their copyrights checked are still placed on the
copyright ignore list.

- These entries have been tidied up
- Copyrights of those files have been updated.
2024-01-22 18:07:35 +08:00
Darian Leung
06952431a0 refactor(esp_system): Remove intr.c from the esp_system component
This file is empty and not used anywhere, thus can be removed.
2024-01-22 18:01:25 +08:00
Omar Chebib
102d5bbf72 refactor(riscv): added a new API for the interrupts 2024-01-18 16:36:53 +08:00
Omar Chebib
5cdf145f55 refactor(riscv): refactor crosscore interrupt 2024-01-18 16:27:36 +08:00
nilesh.kale
59c5b5fe6b fix(bootloader): Fix compilation issue in bootloader build during verbose+sb+fe 2024-01-18 12:15:15 +05:30
Cao Sen Miao
6768805d20 fix(uart,usj...): Fix wrong serial number that has been parsed to rom functions,
Closes https://github.com/espressif/esp-idf/issues/12958
2024-01-18 10:51:51 +08:00
Ondrej Kosta
ce388a4111 feat(esp_eth): Added support of internal EMAC for ESP32P4
Refactored internal EMAC DMA access.

Added MPLL acquire to manage access to the MPLL by multiple periphs.
2024-01-16 14:29:25 +01:00
laokaiyao
d0a8f3e5c4 feat(esp32c5): support esptool on esp32c5 beta3 2024-01-09 13:11:11 +08:00
laokaiyao
3d459e423a feat(esp32c5): support esp32c5 beta3 48M xtal 2024-01-09 13:11:11 +08:00
laokaiyao
96a4ead083 feat(esp32c5): support to run hello world on esp32c5 beta3 2024-01-09 13:11:11 +08:00
laokaiyao
11e19f40b9 feat(esp32c5): support to build hello world on esp32c5 beta3 2024-01-09 13:11:11 +08:00
Marius Vikhammer
a04847f77e Merge branch 'bugfix/efuse_rom_control' into 'master'
fix(startup): fixed failing to boot if rom log ctrl efuse was burned

Closes IDFGH-11799

See merge request espressif/esp-idf!28221
2024-01-09 09:47:47 +08:00
Marius Vikhammer
c8d644dea0 Merge branch 'feature/enable_system_tests_p4' into 'master'
test(system): enable esp_system tests for P4

Closes IDF-8978

See merge request espressif/esp-idf!28317
2024-01-08 16:33:43 +08:00
Lou Tian Hao
d8dfdd9c6f Merge branch 'feature/support_test_io_wakeup' into 'master'
feat(pm): add test_io_wakeup

Closes PM-66

See merge request espressif/esp-idf!27460
2024-01-08 15:37:03 +08:00
Lou Tianhao
e28606aed2 feat(pm): add test_io_wakeup 2024-01-08 11:12:25 +08:00
Cao Sen Miao
3dc76e9360 refactor(usb_serial_jtag): make usb_serial_jtag as component 2024-01-05 19:42:04 +08:00
Marius Vikhammer
e7f7078ee8 test(system): enable esp_system tests for P4 2024-01-05 15:17:34 +08:00
Michael (XIAO Xufeng)
cc83c1e371 Merge branch 'bugfix/recalib_bbpll_before_tuning' into 'master'
fix(bbpll): fix bbpll may not lock or not stable bug for stop early (ESP32C2/S3/C6/H2)

See merge request espressif/esp-idf!27294
2024-01-05 03:21:22 +08:00
Armando
3c5a4f9e8a ci(p4): added todo jira for disabled tests on p4 2024-01-04 09:36:38 +08:00
Armando
907b876354 ci(p4): temporarily disable failed ci tests on p4 2024-01-04 09:36:06 +08:00
Xiao Xufeng
c204f418ef fix(rtc): fixed bbpll not calibrated from bootloader issue 2024-01-04 03:23:20 +08:00
Marius Vikhammer
53682edd6d fix(startup): fixed failing to boot if rom log ctrl efuse was burned
Closes https://github.com/espressif/esp-idf/issues/12894
2024-01-03 16:03:58 +08:00
laokaiyao
a48f4760d2 feat(esp32c5): add system related supports 2024-01-02 11:17:11 +08:00
Song Ruo Jing
7f2b85b82b feat(clk): add basic clock support for esp32p4
- Support CPU frequency 360MHz
- Support SOC ROOT clock source switch
- Support LP SLOW clock source switch
- Support clock calibration
2023-12-29 00:37:26 +08:00
Armando
71202c701f change(ldo): do vddpst ldo init in early stage 2023-12-26 11:43:33 +08:00
Marius Vikhammer
9f1d001849 Merge branch 'feat/cache_error_c6_h2' into 'master'
fix(panic): fixed cache error being reported as illegal instruction

Closes IDF-6398, IDF-5657, IDF-7015, and IDF-6733

See merge request espressif/esp-idf!27430
2023-12-21 10:32:06 +08:00
Song Ruo Jing
0e759c6deb Merge branch 'refactor/esp_driver_uart' into 'master'
refactor(uart): make uart driver as component

Closes IDF-8384

See merge request espressif/esp-idf!27333
2023-12-18 19:16:34 +08:00
Song Ruo Jing
bc09031496 refactor(uart_vfs): Move uart implementation of vfs to esp_driver_uart
Deprecated esp_vfs_dev_uart_xxx APIs
vfs_uart test case moved to esp_driver_uart test_apps
Astyle fixed for uart_vfs
2023-12-15 17:14:55 +08:00
Jakob Hasse
b4865acd90 Merge branch 'refactor/move_shared_stack_test_to_esp_system' into 'master'
refactor(esp_system): moved shared stack tests from newlib to esp_system

See merge request espressif/esp-idf!27790
2023-12-15 17:06:27 +08:00
Song Ruo Jing
6ad80f0332 refactor(uart): make uart driver as component, and fix astyle 2023-12-15 17:03:51 +08:00
Darian
142218c2eb Merge branch 'contrib/github_pr_11575' into 'master'
feat(system): add esp_backtrace_print_all_tasks function (GitHub PR)

Closes IDFGH-10315 and IDFGH-10538

See merge request espressif/esp-idf!24974
2023-12-13 01:07:04 +08:00
Chip Weinberger
3686689a2a feat(esp_system): Add esp_backtrace_print_all_tasks()
This commit adds esp_backtrace_print_all_tasks() which prints the backtraces
of all tasks at runtime.

Closes https://github.com/espressif/esp-idf/issues/9708
CLoses https://github.com/espressif/esp-idf/pull/11575

[Omar Chebib: Prevent task switching while printing backtraces of tasks.]
[Omar Chebib: Ensure all task stacks are flushed from register to RAM.]
[Omar Chebib: Removed esp_task_snapshot_to_backtrace_frame() as task snapshot is private API.]
[Omar Chebib: Added test case for esp_backtrace_print_all_tasks().]

Signed-off-by: Omar Chebib <omar.chebib@espressif.com>
2023-12-12 19:54:17 +08:00
Cao Sen Miao
b77b17efd2 fix(bod): Fix BOD threshold value on ESP32H2 2023-12-11 16:41:52 +08:00
Jakob Hasse
874d10ce11 refactor(esp_system): moved shared stack tests from newlib to here 2023-12-11 14:20:55 +08:00
Erhan Kurubas
892315292b Merge branch 'save_twdt_to_coredump' into 'master'
feat(coredump): save twdt panic output to coredump elf file

Closes IDF-908

See merge request espressif/esp-idf!27024
2023-12-07 17:47:58 +08:00
Mahavir Jain
25c2cc5f03 Merge branch 'feature/esp32p4_enable_flash_encryption' into 'master'
Enable Flash Encryption for ESP32P4

Closes IDF-7545

See merge request espressif/esp-idf!26959
2023-12-05 21:42:18 +08:00
Erhan Kurubas
58ee206c99 feat(coredump): save twdt panic output to coredump elf file 2023-12-05 13:28:51 +01:00
Armando (Dou Yiwen)
96c1aea50a Merge branch 'change/split_fpga_overrides.c' into 'master'
bringup: added bypass rng configuration for bringup stage

See merge request espressif/esp-idf!27657
2023-12-05 16:55:43 +08:00
Aditya Patwardhan
a84234c23f
feat(security): Enable Flash encryption for ESP32P4 2023-12-05 13:10:55 +05:30
Darian
e3191df37a Merge branch 'change/deprecate_legacy_xtensa_include_path' into 'master'
change(xtensa): Deprecate legacy include paths

Closes IDF-7230

See merge request espressif/esp-idf!26725
2023-12-05 15:05:29 +08:00
Armando
2c32bd209a change(fpga): added bypass rng configuration 2023-12-05 11:38:35 +08:00
Marius Vikhammer
9a6de4cb3e fix(panic): fixed cache error being reported as illegal instruction
On riscv chips accessing cache mapped memory regions over the ibus would
result in an illegal instructions exception triggering faster than the cache
error interrupt/exception.

Added a cache error check in the panic handler, if any cache errors are active
the panic handler will now report a cache error, even if the trigger exception
was a illegal instructions.
2023-12-04 10:49:00 +08:00
Darian
cc34c4fc08 Merge branch 'contrib/github_pr_12481' into 'master'
Many places in the ESP_SYSTEM are using CONFIG_FREERTOS_UNICORE instead of CONFIG_ESP_SYSTEM_SINGLE_CORE_MODE (GitHub PR)

Closes IDFGH-11333

See merge request espressif/esp-idf!27435
2023-12-01 19:33:19 +08:00
Darian Leung
a5d5ee7445 change(xtensa): Deprecate ".../xtensa_context.h" include path
This commit deprecates the "freertos/xtensa_context.h" and "xtensa/xtensa_context.h"
include paths. Users should use "xtensa_context.h" instead.

- Replace legacy include paths
- Removed some unnecessary includes of "xtensa_api.h"
- Add warning to compatibility header
2023-11-30 21:58:52 +08:00
Darian Leung
2204c8e137 change(xtensa): Deprecate ".../xtensa_api.h" include path
This commit deprecates the "freertos/xtensa_api.h" and "xtensa/xtensa_api.h"
include paths. Users should use "xtensa_api.h" instead.

- Replace legacy include paths
- Removed some unnecessary includes of "xtensa_api.h"
- Replaced some calls with "esp_cpu_..." equivalents
- Add warning to compatibility header
2023-11-30 21:58:52 +08:00
Kevin (Lao Kaiyao)
cd9d321062 Merge branch 'feature/introduce_target_esp32c5' into 'master'
feat(esp32c5): introduce target esp32c5 (stage 1)

See merge request espressif/esp-idf!27299
2023-11-29 20:31:34 +08:00
C.S.M
96f49c2603 Merge branch 'bugfix/bod_reset_c6_h2' into 'master'
fix(bod): Fix issue that RF cannot be enabled again after BOD triggered.

See merge request espressif/esp-idf!27287
2023-11-29 17:21:38 +08:00
Marius Vikhammer
99c88b9272 Merge branch 'feature/misc_core_build_tests_p4' into 'master'
ci(system): fixed and enabled misc system build tests

Closes IDF-8069, IDF-8071, and IDF-8119

See merge request espressif/esp-idf!27431
2023-11-29 16:58:07 +08:00
Ivan Grokhotkov
b48b501d85 Merge branch 'refactor/core_init_registration' into 'master'
refactor(startup): implement registration of core init functions

See merge request espressif/esp-idf!27402
2023-11-28 17:25:00 +08:00
laokaiyao
bb0879b3f8 feat(esp32c5): introduce target esp32c5 2023-11-28 16:14:17 +08:00
fl0wl0w
d149c1b26f Use configuration option instead of in components not related to FreeRTOS
Mergeshttps://github.com/espressif/esp-idf/pull/12481
2023-11-28 07:49:20 +00:00
Marius Vikhammer
b96f93b879 ci(system): fixed and enabled misc system build tests 2023-11-28 14:00:16 +08:00
Ivan Grokhotkov
6046b396ac
fix(esp_timer): avoid signed integer overflow in ESP_SYSTEM_INIT_FN
CONFIG_ESP_TIMER_ISR_AFFINITY can be equal to -1, whereas
ESP_SYSTEM_INIT_FN takes an uint16_t argument. To avoid overflow,
move the choice of init mask into source code and set the value
explicitly.
2023-11-27 10:20:51 +01:00
Ivan Grokhotkov
75c92c3a66
refactor(startup): implement registration of core init functions
Similar to how the secondary init functions were already registered
via ESP_SYSTEM_INIT_FN, do the same for the core init functions.
This MR doesn't actually move the init functions into respective
components yet. This has to be carefully done in follow-up MRs.
2023-11-27 10:20:51 +01:00
wuzhenghui
04fcfff5e0
fix(esp_system): fix uart clock disabled in driver cause esp_restart stuck 2023-11-27 12:06:07 +08:00
Cao Sen Miao
b3280677fd fix(bod): Reset brownout in configuration to avoid RF cannot be enabled again 2023-11-24 10:17:20 +08:00
Wu Zheng Hui
581824d1f2 Merge branch 'feature/reinitialize_icg_map_in_modem_module_enable' into 'master'
fix(esp_hw_support): re-initialize icg map in modem_clock_module_enable

Closes WIFI-6312

See merge request espressif/esp-idf!27168
2023-11-23 11:55:34 +08:00
Lou Tian Hao
cde12242b4 Merge branch 'feature/support_ext1_clear_spec_pins' into 'master'
feat: support ext1 add or remove spec pin for chips which support ext1 wakeup

Closes IDFGH-11440

See merge request espressif/esp-idf!26999
2023-11-21 11:29:33 +08:00
Marius Vikhammer
4bb8f5c577 Merge branch 'feature/remove_esp_spi_g1' into 'master'
refactor(spi): moved spi hw sharing func to hw support

Closes IDF-8503

See merge request espressif/esp-idf!27110
2023-11-21 10:26:55 +08:00
Lou Tianhao
8db9f79bd2 change(pm/ext1): replace esp_sleep_set_ext1_wakeup_io by esp_sleep_enable_ext1_wakeup_io 2023-11-20 16:04:01 +08:00
Marius Vikhammer
52e3f09b32 refactor(spi): moved spi hw sharing func to hw support
Common spi functionality for sharing the SPI bus between modules is moved from esp_driver_spi to
a more fitting location in esp_hw_support (shared HW resource control).

This also allows us to decouple the spi_flash driver from esp_driver_spi, removing
esp_driver_spi and esp_ringbuf from G1 builds.
2023-11-20 12:07:54 +08:00
Lou Tianhao
a02f72bb81 change(pm/ext1): replace deprecated ext1 func 2023-11-17 16:20:54 +08:00
wuzhenghui
6661e11203
fix(esp_hw_support): re-initialize icg map in modem_clock_module_enable 2023-11-17 14:05:23 +08:00
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
Sudeep Mohanty
bf237a2bd4 Merge branch 'feature/freertos_expose_list_integrity_check_option' into 'master'
feat(freertos): Exposed Kconfig option for configUSE_LIST_DATA_INTEGRITY_CHECK_BYTES

Closes IDF-8366

See merge request espressif/esp-idf!26960
2023-11-14 21:27:19 +08:00
Marius Vikhammer
e7734a3367 Merge branch 'feature/g1_driver_refactors' into 'master'
refactor(system): removed dependency on driver from g1 components

Closes IDF-8454

See merge request espressif/esp-idf!27086
2023-11-14 09:45:47 +08:00
Sudeep Mohanty
ff6b0ed148 Merge branch 'task/freertos_deprecate_xtaskgetaffinity' into 'master'
change(freertos/idf): Deprecate some FreeRTOS IDF addition functions

Closes IDF-8164 and IDF-8163

See merge request espressif/esp-idf!26875
2023-11-13 20:23:49 +08:00
Marius Vikhammer
d293ad94bd feat(pm): removed dependency on driver component 2023-11-13 15:49:12 +08:00
Marius Vikhammer
74887d81c9 refactor(system): removed dependency on driver from g1 components
esp-system and esp-hw-support, and the rest of the g1 components, now only depend on
esp_driver_spi and esp_driver_gpio. Removing the rest of the driver components from g1 builds.
2023-11-13 15:42:48 +08:00
Song Ruo Jing
365123dfaa Merge branch 'bugfix/uart_custom_console' into 'master'
fix(console): enable to select UART1 port for console output

Closes IDF-6190

See merge request espressif/esp-idf!26642
2023-11-10 12:31:22 +08:00
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
Sudeep Mohanty
d507a86285 feat(freertos): Exposed Kconfig option for configUSE_LIST_DATA_INTEGRITY_CHECK_BYTES
This commit exposes the FreeRTOS List integrity check option
configUSE_LIST_DATA_INTEGRITY_CHECK_BYTES via menuconfig.
2023-11-09 14:54:13 +01:00
muhaidong
deed5684ce change(wifi): update esp_coexist_internal.h and esp_modem_wrapper.h 2023-11-06 21:55:33 +08:00
Michael (XIAO Xufeng)
bf86aeb19e Merge branch 'bugfix/ram_load_app_mmap' into 'master'
ram_load_app: fixed mmap can't run on main flash issue

See merge request espressif/esp-idf!24601
2023-11-04 18:48:55 +08:00
Sudeep Mohanty
d38f100223 change(freertos/idf): Deprecate some FreeRTOS IDF addition functions
This commit deprecates xTaskGetAffinity(), xTaskGetCurrentTaskHandleForCPU()
and xTaskGetIdleTaskHandleForCPU() APIs for IDF-FreeRTOS kernel.
Instead, users are directed to use alternatives. All other
components in IDF using these functions have been updated accordingly.
2023-11-03 14:54:06 +01:00
Jiang Jiang Jian
5f697d8641 Merge branch 'bugfix/increase_esp32h2_slow_clock_calibration_wdt_threshold' into 'master'
fix(esp_system): increase esp32h2 slow clock calibration timeout watchdog threshold

Closes PM-15

See merge request espressif/esp-idf!26634
2023-11-02 17:08:58 +08:00
Xiao Xufeng
28f19cf0e6 fix(ram_app): Fixed issue ram_app can't use the SPI Flash
1st bootloader won't help to initialize the MSPI & cache properly as it
usually do when loading from flash. And the ram app doesn't have valid
headers.

Since there is no enough space in 2nd bootloader, we replace the
`bootloader_init_spi_flash` in the ram_app (!pure_ram_app), with an
customized alternative of it for the ram_app.

This alternative helps to initialize the MSPI & cache properly, without
the help of 1st bootloader or image headers.
2023-11-01 02:01:45 +08:00
Djordje Nedic
e32bdb66e3 fix: Fix ESP32-P4 lp_reserved_seg origin
Apparently, this part of the linker script was copied from elsewhere
and the origin was not corrected.
2023-10-25 08:09:33 +02:00
wuzhenghui
8bc69e0354 fix(esp_system): increase esp32h2 slow clock calibration timeout watchdog threshold 2023-10-23 21:24:56 +08:00
Marius Vikhammer
22091c8744 feat(wdt): add multicore support for WDTs on RISCV 2023-10-23 18:26:08 +08:00
Omar Chebib
a8b1475fe7 feat(riscv): implement coprocessors save area and FPU support
This commit mainly targets the ESP32-P4. It adds supports for coprocessors on
RISC-V based targets. The coprocessor save area, describing the used coprocessors
is stored at the end of the stack of each task (highest address) whereas each
coprocessor save area is allocated at the beginning of the task (lowest address).
The context of each coprocessor is saved lazily, by the task that want to use it.
2023-10-23 11:10:28 +08:00
Erhan Kurubas
6cd8030160 Merge branch 'check_debug_aware_config' into 'master'
fix(esp_hw_support): re-enable CONFIG_ESP_DEBUG_OCDAWARE functionality

Closes IDF-5881

See merge request espressif/esp-idf!26533
2023-10-21 15:20:26 +08:00
Erhan Kurubas
2d55270006 fix(esp_hw_support): re-enable CONFIG_ESP_DEBUG_OCDAWARE functionality 2023-10-18 08:48:45 +02:00
Erhan Kurubas
bde8ff8b67 feat(panic): send pseudo exccause to openocd 2023-10-17 12:34:24 +02:00
Xu Xiao
ed9f9021cc Merge branch 'revert_tcpip_task_priority_macro' into 'master'
revert(lwip): Revert changes to LWIP task priority macro from MR 25020

See merge request espressif/esp-idf!26420
2023-10-17 13:28:19 +08:00
Jiang Jiang Jian
59417a4049 Merge branch 'feature/free_bt_memory' into 'master'
feat(bt): Frees BLE memory when no longer in use

See merge request espressif/esp-idf!22795
2023-10-12 18:35:15 +08:00
xuxiao
31bb66813a revert(lwip): Revert changes to LWIP task priority macro from MR 25020 2023-10-11 17:54:27 +08:00
KonstantinKondrashov
a2802ef121 feat(tools): Enables unicore_bootloader test for ESP32P4 2023-10-10 11:11:32 +00:00
Alexey Lapshin
2585e53d54 Merge branch 'feature/update-toolchain-to-esp-13.1.0_new_newlib' into 'master'
Update toolchain to esp-13.2.0_20230919

Closes GCC-250, GCC-322, GCC-324, GCC-327, GCC-330, and IDF-8287

See merge request espressif/esp-idf!25073
2023-10-10 08:18:33 +08:00
Gao Xu
d52040a86d Merge branch 'esp32p4/add_uart_support' into 'master'
UART: Add uart support for ESP32P4

Closes IDF-6511 and IDF-7506

See merge request espressif/esp-idf!25388
2023-10-09 18:11:10 +08:00