Commit Graph

839 Commits

Author SHA1 Message Date
Armando
785bd812e9 cpu_start: move esp_rom_spiflash_attach earilier
esp_rom_spiflash_attach is called in cpu_start.c when it's
CONFIG_APP_BUILD_TYPE_RAM && !CONFIG_APP_BUILD_TYPE_PURE_RAM_APP.

This function will:
- reset MSPI
- configure MSPI IOs
- configure MSPI into slow read mode

Prior to this commit, this function is put quite late. It's OK for chips
earlier than C6. On C6 and H2, MMU registers are in SPI_MEM_x, so
resetting MSPI registers will also reset MMU registers.

After this commit, this funciton is called eariler, before
cpu_start.c: bootloader_init().
2023-03-15 10:59:20 +08:00
Mahavir Jain
72b7161612 Merge branch 'test/enable_esp_crt_bundle_tests_for_esp32h2' into 'master'
test: enable mbedtls esp_crt_bundle test for esp32h2

Closes IDF-6847

See merge request espressif/esp-idf!22725
2023-03-14 18:54:15 +08:00
harshal.patil
6b8bc64f31 test: enable mbedtls esp_crt_bundle test for esp32h2 2023-03-13 12:00:01 +05:30
Jakob Hasse
03bc6488de bugfix(esp_system): made watchpoint setting configuration-dependent
esp_execute_shared_stack_function always restored the stack watchpoint
regardless of CONFIG_FREERTOS_WATCHPOINT_END_OF_STACK. This would lead
to an abondoned but active watchpoint on a former stack once the task
calling esp_execute_shared_stack_function is deleted, if
CONFIG_FREERTOS_WATCHPOINT_END_OF_STACK is inactive.
This has been fixed now.

Closes https://github.com/espressif/esp-idf/issues/10414
2023-03-13 14:24:15 +08:00
Cao Sen Miao
8b5f4f54fc system: Clean up code, some single core chips have useless dual-core code 2023-03-13 10:27:57 +08:00
Konstantin Kondrashov
ed97d230c8 Merge branch 'ci/fix_ipc_tests' into 'master'
ipc: Mitigates and speeds up some ipc tests

Closes IDFCI-1638

See merge request espressif/esp-idf!22657
2023-03-10 21:48:00 +08:00
C.S.M
b0b99a9a1b Merge branch 'feature/flash_support_h2' into 'master'
spi_flash: Allow clock frequency up to 64M on ESP32H2

See merge request espressif/esp-idf!22476
2023-03-10 19:13:03 +08:00
Cao Sen Miao
bc655a6890 spi_flash: Allow clock frequency up to 64M, and make it default on ESP32H2 2023-03-10 11:39:53 +08:00
Marius Vikhammer
dfedaa2b65 Merge branch 'feature/c6_ulp' into 'master'
ulp: added basic support for building and running a binary in the lp core

Closes IDF-6829 and IDF-6272

See merge request espressif/esp-idf!22554
2023-03-10 09:56:38 +08:00
KonstantinKondrashov
ced3c50cd6 ipc: Mitigates and speeds up some ipc tests
Test ipc_isr two tasks use IPC function calls
Test multiple ipc_calls

Closes IDFCI-1638
2023-03-09 17:08:45 +08:00
Marius Vikhammer
284dabf17f ulp: added basic support for building and running a binary in the lp core 2023-03-09 10:12:23 +08:00
Jiang Guang Ming
fc9538c63d Merge branch 'feature/add_more_pytest_config_to_flash_mmap' into 'master'
flash mmap: more config options for flash mmap test app

See merge request espressif/esp-idf!21991
2023-03-08 13:44:29 +08:00
jiangguangming
87f2eb9e2a esp_rom: put rom cache related functions to cache.h 2023-03-07 14:51:24 +08:00
Konstantin Kondrashov
cf68a4c136 Merge branch 'feature/esp_timer_uses_shared_isr' into 'master'
esp_timer: Adds TASK and ISR AFFINITY to core options

Closes IDFGH-9053

See merge request espressif/esp-idf!21923
2023-03-07 13:38:23 +08:00
Jiang Jiang Jian
d1adc453b0 Merge branch 'bugfix/some_small_fix_for_sleep_examples' into 'master'
examples: some small fix for sleep examples

See merge request espressif/esp-idf!19052
2023-03-07 13:07:10 +08:00
jiangguangming
91b86f55d5 esp_system: use ESP_ROM_NEEDS_SET_CACHE_MMU_SIZE instead of IDF_TARGET_XXX 2023-03-06 20:32:04 +08:00
Jiang Guang Ming
5414eda027 flash mmap: disable mmap into instruction address when SPI_FLASH_ROM_IMPL enabled 2023-03-06 19:47:18 +08:00
Gustavo Henrique Nihei
2a2bd0f8ff esp_system: Fix TIMG0 still enabled after Timer is freed
Signed-off-by: Gustavo Henrique Nihei <gustavo.nihei@espressif.com>
2023-03-06 04:58:11 +00:00
Gustavo Henrique Nihei
3cbac3dd1d esp_system: Ensure TIMG0 clock is always enabled during normal operation
If the TimerGroup 0 clock is disabled and then reenabled, the watchdog
registers (Flashboot protection included) will be re-enabled, and some
seconds later, will trigger an unintended reset.

Signed-off-by: Gustavo Henrique Nihei <gustavo.nihei@espressif.com>
2023-03-06 04:58:11 +00:00
jingli
e38e5be9ac system/test: use TEST_ESP_OK instead of ESP_ERROR_CHECK 2023-03-06 10:58:18 +08:00
jingli
955f2838fc konfig: make rtc fast mem related kconfig depend on SOC_RTC_FAST_MEM_SUPPORTED 2023-03-06 10:58:18 +08:00
wuzhenghui
186da9af93 codeclean: rename sleep_periph to sleep_sys_periph 2023-03-04 00:17:40 +08:00
Wu Zheng Hui
2066977b48 Merge branch 'feature/bringup_esp32c6_deepsleep_support_master' into 'master'
esp32c6: bringup deepsleep examples

Closes IDF-6051, IDF-6052, IDF-5349, IDF-5924, and WIFI-5352

See merge request espressif/esp-idf!22300
2023-03-03 23:53:10 +08:00
KonstantinKondrashov
449e4bcae7 esp_timer: Adds AFFINITY options for task and ISR
These new settings allow you to balance the load on cores.
Closes: https://github.com/espressif/esp-idf/issues/10457
2023-03-02 20:08:02 +08:00
Song Ruo Jing
51777a6862 gpio: Fix io hold functionality on esp32c6 and esp32h2 2023-03-02 18:10:10 +08:00
Mahavir Jain
e364e1c102 Merge branch 'feature/esp32h2_enable_rsa_support' into 'master'
mbedtls: enable RSA support for esp32h2

Closes IDF-6284 and IDF-6415

See merge request espressif/esp-idf!22498
2023-03-02 15:06:24 +08:00
wuzhenghui
9eae151f7c esp32c6: bringup deepsleep examples 2023-03-02 15:06:05 +08:00
wuzhenghui
709adaaa37 soc_caps: since esp32c6 only support one ext wakeup src, split SOC_PM_SUPPORT_EXT_WAKEUP
Close IDF-5924
2023-03-02 15:06:05 +08:00
Marius Vikhammer
9ae7869a66 Merge branch 'feature/esp_system_pytest' into 'master'
esp-system: migrate test app cases to pytest

Closes IDF-5584

See merge request espressif/esp-idf!22461
2023-03-02 13:41:41 +08:00
harshal.patil
04cc562180 mbedtls: enable RSA support for esp32h2 2023-03-01 14:18:57 +05:30
Marius Vikhammer
7a0b9f65c9 esp-system: migrate test app cases to pytest 2023-03-01 03:21:39 +00:00
Armando
0fb0be3817 ld: fixed bootloader and app potential overlap issue 2023-03-01 10:39:30 +08:00
Song Ruo Jing
8486a2c3ad Merge branch 'bugfix/revert_rtc_clock_bbpll_power_on_with_usb' into 'master'
usb_serial_jtag: Improve the code for the issue of usb cdc device unable to work during sleep

Closes IDFGH-6887

See merge request espressif/esp-idf!20973
2023-02-27 23:18:54 +08:00
Song Ruo Jing
1a66459b44 usb_serial_jtag: Improve the code for the issue of usb cdc device unable to work during sleep
1. Remove RTC_CLOCK_BBPLL_POWER_ON_WITH_USB Kconfig option
   During sleep, BBPLL clock always gets disabled
   esp_restart does not disable BBPLL clock, so that first stage bootloader log can be printed
2. Add a new Kconfig option PM_NO_AUTO_LS_ON_USJ_CONNECTED
   When this option is selected, IDF will constantly monitor USB CDC port connection status.
   As long as it gets connected to a HOST, automatic light-sleep will not happen.

Closes https://github.com/espressif/esp-idf/issues/8507
2023-02-27 12:10:49 +08:00
Armando (Dou Yiwen)
dc76dde79f Merge branch 'feature/support_c6_cache' into 'master'
cache: support c6/h2 cache error

Closes IDF-5342, IDF-5656, and IDF-6255

See merge request espressif/esp-idf!22078
2023-02-27 11:40:18 +08:00
liuning
38316b38b5 esp_wifi: move coex part from esp_wifi to esp_coex 2023-02-26 06:58:18 +00:00
Armando
4997689de5 cache: support h2 and c6 cache error 2023-02-24 16:16:46 +08:00
Marius Vikhammer
c2f9392be5 Merge branch 'feature/h2_wdt' into 'master'
wdt: add support for H2

Closes IDF-6643 and IDF-6678

See merge request espressif/esp-idf!22422
2023-02-24 13:48:20 +08:00
Marius Vikhammer
5d26a0de9a wdt: add support for H2 2023-02-23 11:22:51 +08:00
Alexey Lapshin
49af663dfb esp_system: fix gcc-12 compile errors 2023-02-22 05:33:03 +00:00
Song Ruo Jing
987fd3208a Merge branch 'feature/esp32h2_clock_basic_support' into 'master'
clk: Add basic clock support for esp32h2

Closes IDF-6265 and IDF-5973

See merge request espressif/esp-idf!21943
2023-02-21 16:16:05 +08:00
Jing Li
75a82988f1 Merge branch 'refactor/wdt_use_unified_type' into 'master'
wdt: refactor wdt codes to use unified type

Closes IDF-5653

See merge request espressif/esp-idf!22378
2023-02-21 09:46:06 +08:00
Song Ruo Jing
2c2a62e323 clk_tree: Add basic clock support for esp32h2
- Support SOC ROOT clock source switch
- Support CPU frequency change
- Support RTC SLOW clock source switch
- Support RTC SLOW clock + RC FAST calibration

Remove FPGA build for esp32h2
2023-02-20 17:15:02 +08:00
Marius Vikhammer
89190fab02 Merge branch 'bugfix/allow_coredump_gdb_simu' into 'master'
coredump: allow coredump at panic even if gdbstub is used.

Closes IDFGH-8567

See merge request espressif/esp-idf!22103
2023-02-20 16:07:57 +08:00
Marius Vikhammer
ec57895db9 coredump: allow coredump at panic even if gdbstub is used.
Closes https://github.com/espressif/esp-idf/issues/10017
2023-02-17 15:15:36 +08:00
Omar Chebib
5e5343d429 TWDT: Use the new TWDT Kconfig options in the examples and tests 2023-02-17 11:22:25 +08:00
Armando (Dou Yiwen)
7f335a970d Merge branch 'bugfix/include_freertosconfig_h_in_critical_section_h' into 'master'
esp_system: include FreeRTOS.h explicitly in critical_section.h

See merge request espressif/esp-idf!22405
2023-02-16 22:23:33 +08:00
Armando
a49d074cbb esp_system: include FreeRTOS.h explicitly in critical_section.h
Prior to this commit, if only critical_section.h is included, there
might be error about portNUM_PROCESSORS undeclared.

As critical_section.h should be OS-agnostic, added FreeRTOS.h in it
2023-02-16 15:12:13 +08:00
morris
195f6b99ad rmt: expose private API to get channel ID
Closes https://github.com/espressif/esp-idf/issues/10596
2023-02-16 11:37:25 +08:00
Wu Zheng Hui
113132e4f4 Merge branch 'feature/bringup_esp32c6_light_sleep_pd_top' into 'master'
esp32c6: support light_sleep (Stage 2: support Digital Peripheral power down)

See merge request espressif/esp-idf!22197
2023-02-15 16:17:53 +08:00
jingli
9c37441b17 wdt: refactor wdt codes to use unified type 2023-02-15 12:08:55 +08:00
Li Shuai
6e307c04a3 clock retention: supported soc and modem system power and clock sleep retention 2023-02-15 11:46:40 +08:00
fuzhibo@espressif.com
e252748d92 periph retention: runtime critical digital peripherals sleep retention support 2023-02-15 11:46:40 +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
Wu Zheng Hui
d1b6ff6cca Merge branch 'bugfix/reset_modem_lpcon_in_soft_reset' into 'master'
bugfix: reset modem lpcon in soft reset

See merge request espressif/esp-idf!22347
2023-02-14 10:31:17 +08:00
wuzhenghui
0afeac9951 bugfix: reset modem lpcon in soft reset 2023-02-13 17:04:35 +08:00
Marius Vikhammer
25abc7f6d8 ci: update idf-core related tests for C6 2023-02-13 13:01:57 +08:00
Armando
06e7c02da7 esp_mm: h2 support 2023-02-07 20:23:53 +08:00
Armando
4c878eeb0a sections_ld: add description to .flash.rodata_noload
This commit also move _rodata_reserved_end symbol right at the entry of
the .flash.rodata_noload.
2023-02-07 20:23:52 +08:00
Armando
e76c52d4df cache: fix s2 dcache size 0 issue when psram disabled 2023-02-07 20:23:52 +08:00
Armando
d6844051fc esp_mm: new virtual memory mapping apis via mmu 2023-02-07 20:23:52 +08:00
jingli
13b5e625a7 UT/esp32c2: reenable pm and sleep related UT 2023-02-02 20:26:08 +08:00
jingli
f8cc2ec86d esp32c2: support rtc time feature depend on rtc memory, since c2 does not have rtc memory 2023-02-02 20:25:59 +08:00
Wu Zheng Hui
04987ac201 Merge branch 'feature/add_ram_loadable_app_support' into 'master'
feature: add ram loadable app support

See merge request espressif/esp-idf!19465
2023-02-02 10:28:13 +08:00
wuzhenghui
44df5b31af feature: add ram loadable app support 2023-02-01 17:57:22 +08:00
Wu Zheng Hui
33ae2e1073 Merge branch 'feature/bringup_esp32c6_light_sleep_pd_cpu' into 'master'
esp32c6: support light_sleep (Stage 1: support CPU power down)

See merge request espressif/esp-idf!21985
2023-02-01 14:11:15 +08:00
Li Shuai
68594abe05 sleep: light sleep supported for esp32c6 2023-01-31 22:12:58 +08:00
Li Shuai
59cf87fe7d pmu: sleep initialization and sleep start support for esp32c6
Initialize the pmu sleep machine constant when pmu is initialized, and calculate
the pmu sleep time adjustment value and hardware configuration value according
to the machine constant during system sleep.

Calibrate fast OSC before each sleep and use the calibration value to calculate
PMU hardware wait cycles when use the fast OSC as the work clock.
2023-01-31 22:12:27 +08:00
Song Ruo Jing
ad55230b0a ledc: Add support for esp32h2; Refactor ledc driver clock source selection related code
LEDC examples and test cases are supported on ESP32H2.
   Switch to use general clock IDs for ledc_clk_cfg_t enum values.
   Deprecate LEDC_USE_RTC8M_CLK.
2023-01-30 19:19:34 +08:00
Marius Vikhammer
5e9e8c396f wdt: add support for WDTs on C6 2023-01-19 12:58:26 +08:00
Cao Sen Miao
94120b82c2 esp32h2: add build test 2023-01-17 10:29:04 +08:00
Fu Hanxi
b02687a6c4 test: migrate linux target host test jobs into pytest-embedded 2023-01-16 10:25:55 +08:00
morris
f7c3d791a2 Merge branch 'feature/systimer_support_esp32h2' into 'master'
systimer: assign counter and alarm in esp_hw_support

Closes IDF-6484, IDF-5323, and IDF-6230

See merge request espressif/esp-idf!21984
2023-01-12 11:01:17 +08:00
Konstantin Kondrashov
1d2469fbd1 Merge branch 'feature/ipc_uses_tasknotify' into 'master'
esp_ipc: ipc_task uses TaskNotify instead of Semaphore

Closes IDFGH-8795

See merge request espressif/esp-idf!21347
2023-01-11 15:56:29 +08:00
morris
6c1d98d556 systimer: assign counter and alarm in esp_hw_support 2023-01-10 17:05:49 +08:00
jiangguangming
a367ab4b76 ld: fix rtc.data rtc.bss section issues
1. rtc.data section: should include sbss srodata in rtc_wake_stub*.*
2. rtc.bss section: move rtc .bss .bss.* from rtc.data to rtc.bss
2023-01-10 17:03:54 +08:00
jiangguangming
f74a43d002 use LL function to get wakeup cause 2023-01-10 17:03:54 +08:00
Cao Sen Miao
56a2d0b8a2 BOD: Bringup for ESP32C6 2023-01-10 10:37:30 +08:00
tgotic
23a290f29f esp_ipc: Use task notifications instead of semaphores
Closes https://github.com/espressif/esp-idf/pull/10226

- Drop the atomic usage
- Return the xSemaphoreTake for ask back
- Refactoring
2023-01-10 05:11:31 +08:00
Armando
b46cfd15a2 mspi: move timing tuning to esp_hw_support 2023-01-06 14:41:20 +08:00
Song Ruo Jing
981d6a67b0 clk: Add basic clock support for esp32h2 2023-01-03 11:00:32 +08:00
wuzhenghui
a5fdc53bb7 clk: initialize wifi lp_clk in esp_perip_clk_init 2022-12-29 13:13:37 +08:00
Li Shuai
3ce896429c periph clock: implemented the modem module enable, disable and reset for esp32c6 2022-12-27 21:31:59 +08:00
Li Shuai
e9172ddcea initialize the clock gating control signal of each modem clock domain 2022-12-27 21:31:59 +08:00
Ivan Grokhotkov
0c9ac7df6d
system: disable interrupts in esp_restart_noos_dig 2022-12-21 21:58:59 +01:00
Jakob Hasse
cb9786d35e refactor(esp_system): reboot delay: added docs, protected by watchdog 2022-12-20 15:51:00 +08:00
Chip Weinberger
6e2ce0d289 refactor(esp_system) add user configurable reboot delay in seconds
Closes https://github.com/espressif/esp-idf/pull/9962
2022-12-20 13:17:09 +08:00
wuzhenghui
5822cdf93b esp_phy: enable for esp32c6 2022-12-16 15:47:56 +08:00
Song Ruo Jing
182e937c5a clk_tree: Add basic clock support for esp32c6
- Support SOC ROOT clock source switch
    - Support CPU frequency change
    - Support RTC SLOW clock source switch
    - Support RTC SLOW clock + RC FAST calibration

    Remove FPGA build for esp32c6
2022-12-13 19:18:34 +08:00
Marius Vikhammer
0443865102 Merge branch 'feature/s2_bootld_iram_increase' into 'master'
bootloader: increased iram_loader_seg for ESP32-S2

See merge request espressif/esp-idf!21254
2022-12-12 11:50:12 +08:00
Guillaume Souchere
c92f2394f2 Merge branch 'fix/stack-check-fail-in-flash' into 'master'
esp_system: fix placement of __stack_chk_fail from flash to RAM

See merge request espressif/esp-idf!21465
2022-12-09 18:08:57 +08:00
wuzhenghui
0d345c814a bugfix: unstall other cpu on core reset
- Closes https://github.com/espressif/esp-idf/issues/10320
2022-12-08 15:30:39 +08:00
Guillaume Souchere
4d16f46a88 esp_system: fix placement of __stack_chk_fail from flash to RAM
When stack check is enabled, certain functions (sometimes placed in RAM)
are being decorated with stack guards and a call to __stask_chk_fail() in
case ofr stack corruption. For this reason, __stack_chk_fail() must be
placed in RAM too.

Add stack check config in heap tests on all targets to find eventual flash to RAM
calls due to stack checks when running callgraph_check.py
2022-12-07 08:49:12 +01:00
Cao Sen Miao
8cc9260f86 ESP32H2: Add system support for ESP32H2 2022-12-07 11:38:51 +08:00
Marius Vikhammer
36cb08c379 heap: add linux target support
Add wrappers for public heap API for the linux target.
2022-12-06 10:49:59 +08:00
Jakob Hasse
1e7daf316a refactor(unity): made unity runner compatible with Linux target 2022-12-01 12:02:05 +01:00
Konstantin Kondrashov
7bc15f78a5 Merge branch 'feature/efuse_remove_warnings_for_memcpy' into 'master'
all: Remove warnings for memcpy/memset

Closes IDF-6298

See merge request espressif/esp-idf!21164
2022-12-01 16:03:29 +08:00
Jakob Hasse
56acd2ee03 Merge branch 'feature/uart_new_critical_section_api' into 'master'
driver: added new critical section API to UART driver

See merge request espressif/esp-idf!19678
2022-11-30 19:53:44 +08:00
KonstantinKondrashov
9fd8f3786a all: Replaces memset/memcpy with hal_mem.. funcs where were used -Wstringop-overread, -Wstringop-overflow, -Warray-bounds
hal: Adds hal_memcpy and hal_memset
2022-11-30 19:22:41 +08:00