Commit Graph

1160 Commits

Author SHA1 Message Date
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