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
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
KonstantinKondrashov
a2802ef121
feat(tools): Enables unicore_bootloader test for ESP32P4
2023-10-10 11:11:32 +00:00
zhaokeke
a39869416c
feat(bt): Frees BLE memory when no longer in use
...
It will free libble.a & libbt all txt, data and bss segment memory.
This memory is combined into one large memory and put into the heap
pool.
2023-10-08 16:08:47 +08:00
gaoxu
bc2a6bd730
feat(uart): spilt LP and HP uart set_baudrate function
2023-10-08 10:10:02 +08:00
gaoxu
4f24f805cc
feat(uart): add LP-UART GPIO support
2023-10-08 10:10:02 +08:00
gaoxu
4541ad134d
feat(uart): add RCC atomic block to uart/lp-uart peripheral
2023-10-08 10:10:02 +08:00
KonstantinKondrashov
28b8a5d9b4
fix(esp_system): Fix mixing logs, remove early info logs for 2nd CPU
...
Fixes mixing logs when two cores use esp_rom_printf
2023-10-02 12:50:40 +00:00
Armando
ec27891af6
change(cache): swap cache hal arg 'type' and 'level'
2023-09-22 14:19:41 +08:00
Armando
ea38a2e9a4
feat(cache): support cache driver on esp32p4
2023-09-22 14:19:41 +08:00
KonstantinKondrashov
7a878bdc50
feat(esp_system): Support IPC_ISR for ESP32P4
2023-09-15 23:38:12 +08:00
Marius Vikhammer
e58becec0a
feat(esp-system): support reset reasons on P4
2023-09-15 08:11:34 +08:00
Armando (Dou Yiwen)
bdfa91ab66
Merge branch 'change/delete_not_used_mmu_macros' into 'master'
...
mm: delete not used mmu macros and added soc_ prefix
Closes IDF-7686
See merge request espressif/esp-idf!25663
2023-09-06 11:59:03 +08:00
Armando
cbe4470a1b
change(soc): remove no longer used mmu.h on p4
2023-09-05 15:47:26 +08:00
Armando
de77ab3061
change(soc): added SOC_ prefix to mmu defs
2023-09-05 15:47:26 +08:00
Marius Vikhammer
e3861261eb
fix(wdt): move non-auto generated wdt values to ll
2023-09-05 11:52:34 +08:00
Sudeep Mohanty
5cd989f23b
fix(interrupts): Cleanup pending tags in the code base regarding interrupt vectors
2023-09-01 17:18:39 +08:00
Omar Chebib
8ca191e4c1
fix(esp32p4): Fixed interrupt handling to use the CLIC controller
2023-08-31 12:16:08 +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
706d684418
feat(esp32p4): introduced new target esp32p4, supported hello_world
2023-08-09 19:33:25 +08:00
Armando
e8bbb490ec
feat(cache): added cache init configurations on p4
2023-07-25 05:59:10 +00:00
Armando
a336b94527
feat(esp_system): base support on p4
2023-07-25 05:59:10 +00:00
Armando
ecf1461f1c
feat(panic): base support on p4
2023-07-25 05:59:10 +00:00
Armando
e11b154c99
feat(interrupt): mtvt, mtvec base support on p4
2023-07-25 05:59:10 +00:00
Armando
bc182ef010
feat(brc_predictor): p4 base support for branch predictor
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 Tian Hao
7c2ac1feb6
Merge branch 'bringup/esp32h2_light_sleep_for_rebase' into 'master'
...
esp32h2: support light_sleep
Closes IDF-6266 and IDF-7359
See merge request espressif/esp-idf!23567
2023-06-28 10:37:18 +08:00
Martin Vychodil
65bc1ed055
System: remove digital-system reset within OS restart when Memprot on
2023-06-26 20:22:59 +02:00
Lou Tianhao
b5a293ab69
Power Management: support RC32K or Crystal32K powered down
2023-06-26 21:05:16 +08:00
Lou Tianhao
63d32ab620
Power Management: support DFS and PMU feature for esp32h2
2023-06-26 20:57:55 +08:00
Armando
c448597f24
kconfig: introduced CONFIG_IDF_ENV_BRINGUP for new chip bringup usage
2023-06-26 03:30:23 +00:00
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
Zim Kalinowski
a4bb596d63
Merge branch 'feature/esp_ipc_isr_fix' into 'master'
...
esp_system: Fix a race-condition in esp_ipc_isr (in QEMU env)
Closes IDFGH-10179
See merge request espressif/esp-idf!23866
2023-05-24 23:17:37 +08:00
Paul Guyot
ceb121fd57
esp_system: Fix a race-condition in esp_ipc_isr (in QEMU env)
...
The race condition is very unlikely on real hardware but can be observed with
qemu under heavy load.
Also add missing `memw` instructions which are generated by the C compiler but
absent in the assembly code.
Signed-off-by: Paul Guyot <pguyot@kallisys.net>
Signed-off-by: KonstantinKondrashov <konstantin@espressif.com>
Merges https://github.com/espressif/esp-idf/pull/11447
Closes https://github.com/espressif/esp-idf/issues/11433
2023-05-24 19:08:29 +08:00
laokaiyao
ffb40a89d9
adc_cali: supported channel compensation of adc calibration on esp32c6
2023-05-23 22:44:25 +08:00
Zim Kalinowski
dc7ff8676c
Merge branch 'feature/libunwind_backtracing' into 'master'
...
System: implement libunwind library for RISC-V backtracing
Closes IDFGH-6189
See merge request espressif/esp-idf!18147
2023-05-16 14:19:16 +08:00
Omar Chebib
eeaa40f71d
System: implement libunwind library for RISC-V backtracing
...
Closes https://github.com/espressif/esp-idf/issues/7866
A minimal x86 implementation has also been added, it is used to perform a host test.
2023-05-15 11:19:03 +08:00
Marius Vikhammer
a0be5e9ebf
Merge branch 'bugfix/c2_wdt_reset_reason' into 'master'
...
wdt: fix IWDT reset reason for esp32c2
Closes IDF-3843 and IDF-5059
See merge request espressif/esp-idf!23722
2023-05-15 10:17:47 +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
Jakob Hasse
c8791f30c0
compiler: replaced noreturn by __noreturn__ in header files
...
* noreturn may be replaced by third-party macros,
rendering it ineffective
* Closes https://github.com/espressif/esp-idf/issues/11339
2023-05-11 16:07:45 +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
bf2a7b2df6
esp32h4: removed esp32h4 related codes
2023-04-23 12:03:07 +00: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
Konstantin Kondrashov
6c5a7da77c
Merge branch 'feature/unicore_bootloader_can_run_multicore_app' into 'master'
...
esp_system: Fix case when multicore app can not be run if bootloader is unicore
Closes IDFGH-9336
See merge request espressif/esp-idf!22664
2023-03-29 21:56:26 +08:00
Zim Kalinowski
ce9d466324
Merge branch 'bugfix/esp-system-ignored-warnings' into 'master'
...
esp_system: fixed and reenable no-format warnings
Closes IDF-6801
See merge request espressif/esp-idf!22710
2023-03-29 20:18:14 +08:00
Marius Vikhammer
2608c1ec1e
system: remove unused C2 cache kconfig option
2023-03-29 10:06:13 +08:00
KonstantinKondrashov
975c138fad
esp_system: Do not rely on bootloader cache settings, do cache settings unconditionally at startup app
...
It makes multicore app runnable by unicore bootloader
Closes https://github.com/espressif/esp-idf/issues/10714
2023-03-28 23:17:16 +08:00
Zim Kalinowski
fb7aafd348
esp_system: fix and reenable no-format warning
2023-03-28 13:42:44 +02:00
Marius Vikhammer
a5c70c24e5
Merge branch 'bugfix/memprot_cleanup_iram_attr' into 'master'
...
memprot: move memprot functions out of IRAM
See merge request espressif/esp-idf!20697
2023-03-28 10:18:22 +08:00
Mahavir Jain
86b6f87d68
Merge branch 'bugfix/ram_loadable_elf_flash_mmap_issue' into 'master'
...
Fix flash mmap data integrity issue for RAM loadable ELF case
See merge request espressif/esp-idf!22802
2023-03-23 12:13:35 +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
Jiang Jiang Jian
fdea5289a2
Merge branch 'bugfix/static_ram_size' into 'master'
...
system: fixed USE_FIXED_STATIC_RAM_SIZE option
See merge request espressif/esp-idf!21368
2023-03-20 13:57:38 +08:00
Mahavir Jain
7b995355ba
startup: fix incorrect MMU configuration issue for the RAM loadable ELF
...
For RAM loadable ELF, entire firmware is running from RAM and hence the
IROM/DROM size must be treated as 0 (no cache mappings created for
code/rodata).
2023-03-20 11:12:06 +05:30
Jakob Hasse
7dbe9687f9
Merge branch 'bugfix/esp_shared_stack_watchpoint_setting' into 'master'
...
bugfix(esp_system): made watchpoint setting configuration-dependent
Closes IDFGH-9003
See merge request espressif/esp-idf!21738
2023-03-20 10:19:05 +08:00
Marius Vikhammer
43784e7a24
memprot: move memprot functions out of IRAM
...
Memprot functions are no longer placed by default in IRAM,
selecting ESP_PANIC_HANDLER_IRAM will still force panic related memprot
functions to be placed in IRAM.
2023-03-17 14:51:20 +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
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
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
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
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
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
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
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
Song Ruo Jing
51777a6862
gpio: Fix io hold functionality on esp32c6 and esp32h2
2023-03-02 18:10:10 +08: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
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
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
06e7c02da7
esp_mm: h2 support
2023-02-07 20:23:53 +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
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