Commit Graph

245 Commits

Author SHA1 Message Date
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
Cao Sen Miao
b77b17efd2 fix(bod): Fix BOD threshold value on ESP32H2 2023-12-11 16:41:52 +08:00
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
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
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
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
wuzhenghui
04fcfff5e0
fix(esp_system): fix uart clock disabled in driver cause esp_restart stuck 2023-11-27 12:06:07 +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
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
wuzhenghui
6661e11203
fix(esp_hw_support): re-initialize icg map in modem_clock_module_enable 2023-11-17 14:05:23 +08:00
wuzhenghui
8bc69e0354 fix(esp_system): increase esp32h2 slow clock calibration timeout watchdog threshold 2023-10-23 21:24:56 +08:00
Armando
ea38a2e9a4 feat(cache): support cache driver on esp32p4 2023-09-22 14:19:41 +08:00
Marius Vikhammer
e58becec0a feat(esp-system): support reset reasons on P4 2023-09-15 08:11:34 +08:00
Marius Vikhammer
e3861261eb fix(wdt): move non-auto generated wdt values to ll 2023-09-05 11:52:34 +08:00
Marius Vikhammer
73954ab9e8 feat(esp-system): moved common arch files out to common cmakelist 2023-08-29 16:14:43 +08:00
morris
71cf16ec01 feat(gptimer): use RCC atomic block to enable/reset peripheral 2023-08-22 17:05:35 +08:00
Armando
a336b94527 feat(esp_system): base support on p4 2023-07-25 05:59:10 +00: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
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 Tianhao
b5a293ab69 Power Management: support RC32K or Crystal32K powered down 2023-06-26 21:05:16 +08:00
Armando
c448597f24 kconfig: introduced CONFIG_IDF_ENV_BRINGUP for new chip bringup usage 2023-06-26 03:30:23 +00:00
Armando
101e6a18eb esp32p4: introduce the target
Add esp32p4 target to tools and Kconfig
Create directories and files that are essential for `idf.py --preview set-target esp32p4`
2023-06-13 15:16:11 +08:00
laokaiyao
ffb40a89d9 adc_cali: supported channel compensation of adc calibration on esp32c6 2023-05-23 22:44:25 +08:00
Marius Vikhammer
9eadb6b12a esp-system: fixed int WDT reset reason being reported as task WDT on C2 2023-05-12 18:32:24 +08:00
morris
06b1e10273 Merge branch 'feature/reset_mcpwm_in_restart' into 'master'
mcpwm: reset peripheral in restart, panic and halt

Closes IDFGH-10047

See merge request espressif/esp-idf!23591
2023-05-09 16:44:55 +08:00
morris
083d9e7c0f mcpwm: reset peripheral in restart, panic and halt
mcpwm is commonly used in power eletronic area, when restart happens,
make sure the mcpwm generator is not working.

closes https://github.com/espressif/esp-idf/issues/11324
2023-05-06 15:58:58 +08:00
Armando
dbf3612d6d spi_flash: replace flash clock src change API with mspi timing API 2023-05-04 17:05:35 +08:00
laokaiyao
b16ed57b2e esp32h4: removed esp32h4 related files 2023-04-23 12:03:07 +00:00
Nebojsa Cvetkovic
67e9db7cf5 esp_system: Add reset reasons for USB_UART and USB_JTAG
Merges https://github.com/espressif/esp-idf/pull/10950
2023-04-19 10:09:19 +08:00
Ivan Grokhotkov
274fa56e71 Merge branch 'bugfix/esp32s3_usb_otg_console' into 'master'
system: support USB_OTG CDC console on ESP32-S3

Closes IDF-2048, IDF-2987, IDFGH-7134, IDFGH-7291, and IDFGH-7835

See merge request espressif/esp-idf!19312
2023-04-18 16:28:49 +08:00
Marius Vikhammer
dcb8b719d3 docs: update CONFIG_ESP_SYSTEM_ESP32_SRAM1_REGION_AS_IRAM docs to better reflect the limitations 2023-04-13 10:45:38 +08:00
Ivan Grokhotkov
9924d9f271
esp_system: usb_console support for ESP32-S3
Closes https://github.com/espressif/esp-idf/issues/8879
Closes https://github.com/espressif/esp-idf/issues/8738
2023-04-12 11:17:41 +02:00
Ivan Grokhotkov
4a91ccf4ce
esp_rom: implement usb deinit functions added in S3 ROM for S2
This cleans up usb_console.c and prepares it for S3 support.
2023-04-12 11:08:43 +02:00
Ivan Grokhotkov
74fa41f434
esp_rom: add USB_OTG "port" number for S2 and S3 2023-04-12 11:08:42 +02:00
Marius Vikhammer
03c2c8db77 Merge branch 'feature/esp_sys_iram_cleanup' into 'master'
esp-system: move uncessary IRAM functions to flash

Closes IDF-7138 and IDF-7148

See merge request espressif/esp-idf!23121
2023-04-10 17:24:14 +08:00
Marius Vikhammer
db059b155a esp-system: move uncessary IRAM functions to flash 2023-04-10 11:10:28 +08:00
Marius Vikhammer
5cbd311ecf system: add kconfig option for using parts of SRAM1 for IRAM
Using parts of SRAM1 for IRAM allows apps with more statically allocated IRAM

Closes https://github.com/espressif/esp-idf/issues/9824
2023-04-07 07:12:58 +00:00
Marius Vikhammer
2608c1ec1e system: remove unused C2 cache kconfig option 2023-03-29 10:06:13 +08:00
Michael (XIAO Xufeng)
dbbc1ba5be Merge branch 'feat/merge_nuttx_patch' into 'master'
G0, G1: fix issues that prevents using G0/G1 components on other platforms

See merge request espressif/esp-idf!22521
2023-03-21 20:48:21 +08:00
Marius Vikhammer
585f05596b system: fixed USE_FIXED_STATIC_RAM_SIZE option
The USE_FIXED_STATIC_RAM_SIZE was not actually causing the heap to start
at a fixed address.

Closes https://github.com/espressif/esp-idf/issues/10270
Closes https://github.com/espressif/esp-idf/issues/10271
2023-03-16 16:23:59 +08:00
Gustavo Henrique Nihei
3672144c9f efuse: Remove dependency on bootloader component headers
Signed-off-by: Gustavo Henrique Nihei <gustavo.nihei@espressif.com>
2023-03-16 01:50:21 +08:00
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
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
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
harshal.patil
04cc562180 mbedtls: enable RSA support for esp32h2 2023-03-01 14:18:57 +05:30
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
4997689de5 cache: support h2 and c6 cache error 2023-02-24 16:16:46 +08: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
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
jingli
9c37441b17 wdt: refactor wdt codes to use unified type 2023-02-15 12:08:55 +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
Armando
e76c52d4df cache: fix s2 dcache size 0 issue when psram disabled 2023-02-07 20:23:52 +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
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
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
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
Cao Sen Miao
8cc9260f86 ESP32H2: Add system support for ESP32H2 2022-12-07 11:38:51 +08:00
Cao Sen Miao
86aa4df5b5 ESP32-H2: Introduce new target for ESP32H2 2022-11-23 14:38:05 +08:00
Jakob Hasse
5b3a645813 feat(esp_system): Partially buildable on Linux now 2022-11-16 09:03:09 +01:00
Kevin (Lao Kaiyao)
5bed8fab49 Merge branch 'refactor/rename_h2_to_h4' into 'master'
esp32h2: renaming esp32h2 to esp32h4

Closes IDF-6098

See merge request espressif/esp-idf!20676
2022-11-09 19:19:43 +08:00
Cao Sen Miao
d9f01ed43c spi_flash: bringup for esp32c6 2022-11-09 12:50:46 +08:00
laokaiyao
8677216576 esp32h2: renaming esp32h2 to esp32h4 2022-11-08 17:05:33 +08:00
Li Shuai
526a9c665a backup dma: force clear reset signal to fix the backup dma operation failure caused by RTC_SW_CPU_RST 2022-10-20 03:24:49 +00:00
Jiang Jiang Jian
e08e2f071f Merge branch 'bugfix/fix_part_of_modem_not_reset_when_power_on' into 'master'
Coexistence: fix part of modem module not reset when power up

See merge request espressif/esp-idf!19849
2022-10-18 11:13:10 +08:00
wuzhenghui
6b96534c68 bugfix: esprv_intc_int_set_type() should not use bitmap parameter 2022-10-14 11:31:22 +08:00
Song Ruo Jing
1eb9a24a48 esp_system: Minor update for esp32c6 2022-09-26 20:32:13 +08:00
jingli
cce2af9193 wifi/bt: fix part of modem module not reset when power up 2022-09-22 11:45:20 +08:00
jingli
60c1811433 esp_hw_support/clk_cali: remove redundant check for cali value 2022-09-21 03:03:25 +00:00
jingli
05a2fbe810 esp_hw_support/clk_cali: fix xtal32k error detect 2022-09-21 03:03:25 +00:00
Darian Leung
0c97fbd5ba riscv: Remove redundant riscv_interrupts.h header
This commit removes the riscv_interrupts.h header is it has become redundant. The previously
exposed API has been handled as follows:

- "riscv_interrupt_enable()" and "riscv_interrupt_disable()" have been removed. These functions
  were declarations only and never had any implementation.
- "riscv_global_interrupts_enable()" and "riscv_global_interrupts_disable()" renamed to
  "rv_utils_intr_global_enable()" and "rv_utils_intr_global_disable()" respectively and now
  placed in rv_utils.h
2022-09-16 16:45:43 +08:00
wuzhenghui
ab09c07fdd esp32c6: add esp_system support 2022-09-06 09:13:20 +00:00
songruojing
304a8f142d esp32c6: introduce the target
Add esp32c6 target to tools and Kconfig
Create directories and files that are essential for `idf.py --preview set-target esp32c6`
2022-08-19 11:13:02 +08:00
jingli
ee3423834e kconfig: refactor xtal freq kconfig to common configuration item 2022-08-05 19:12:29 +08:00
Roland Dobai
956f08826f Merge branch 'fix/esp32c2_gcov_example_build' into 'master'
esp32c2: fix gcov example build

See merge request espressif/esp-idf!19201
2022-08-01 20:28:36 +08:00
Ivan Grokhotkov
0d4a533b74 Merge branch 'bugfix/usb_console_reset' into 'master'
esp_system: usb_console: fix restart when Wi-Fi is working

Closes IDFGH-5683

See merge request espressif/esp-idf!19289
2022-08-01 13:36:44 +08:00
Ivan Grokhotkov
bf10146a15
esp_system, vfs: fix incomplete blocking reads in vfs_cdcacm
Blocking read from cdcacm VFS could return less bytes than requested.
This didn’t match the behaviour of other VFS drivers, and higher level
code could misbehave.
2022-07-28 17:28:08 +02:00
Ivan Grokhotkov
3254f8deae
esp_system: usb_console: fix restart when Wi-Fi is working
Previously, reset over USB CDC was done by calling esp_restart from
an interrupt handler. This works only until some restart hook function
is registered using esp_register_shutdown_handler, and the hook
function tries to do something that isn’t allowed in an interrupt
handler. One such case is with Wi-Fi. When Wi-Fi driver is installed,
it registers esp_wifi_stop as a shutdown handler function. However
esp_wifi_stop cannot be called from an ISR, and hence we shouldn’t
call esp_restart from an ISR either.

This commit modifies USB CDC driver to call esp_restart by posting it
to esp_timer task.

Closes https://github.com/espressif/esp-idf/issues/7404
2022-07-28 17:15:03 +02:00
Erhan Kurubas
22d771bf51 esp32c2: fix gcov example build 2022-07-28 13:59:29 +02:00
Darian Leung
05ff1039dc esp_hw_support: Fix misuse of spinlocks as critical sections
Spinlocks themselves do not constitute critical sections as after a spinlock is acquired, interrupts
can remain enabled. However, there are some places where spinlocks are used direclty instead of using
the portMUX_TYPE and portENTER_CRITICAL_...() APIs. This commit fixes those calls.
2022-07-28 17:25:00 +08:00
Guillaume Souchere
6005cc9163 hal: Deprecate interrupt_controller_hal.h, cpu_hal.h and cpu_ll.h interfaces
This commit marks all functions in interrupt_controller_hal.h, cpu_ll.h and cpu_hal.h as deprecated.
Users should use functions from esp_cpu.h instead.
2022-07-22 00:06:06 +08:00
Song Ruo Jing
ea97cc93ea Merge branch 'feature/c2_systimer_26mhz' into 'master'
esp32c2: 26 MHz XTAL support: Kconfig option, systimer support

Closes IDF-5412 and IDF-5413

See merge request espressif/esp-idf!18835
2022-07-11 16:17:25 +08:00
songruojing
ef813b23fa rtc: esp32c2 support 26MHz xtal in startup code and rtc_clk.c 2022-07-11 12:24:58 +08:00
wangmengyang
1d55f12c2d component/bt: reset Bluetooth hardware during controller inititalization on ESP32-C3/ESP32-S3
1. Rename MACROs SYSTEM_WIFI_RST_EN register bit fields to be more recognizable
2. reset Bluetooth baseband and clock bits to fix the issue of task watchdog triggered during controller initialization due to invalid hardware state
2022-07-06 16:23:48 +08:00
Armando
f31d88e3fe spi: move spi_common_internal to esp_private 2022-06-24 19:12:13 +08:00
Ivan Grokhotkov
a22730c914
esp_system: fix garbled UART output on startup on esp32s2
Closes https://github.com/espressif/esp-idf/issues/9168
2022-06-17 12:09:07 +02:00
Darian
e213e66ba3 Merge branch 'refactor/esp_hw_support_cpu' into 'master'
esp_hw_support: Add new esp_cpu.h abstraction

Closes IDF-4769

See merge request espressif/esp-idf!17091
2022-06-14 21:11:30 +08:00