Commit Graph

89 Commits

Author SHA1 Message Date
laokaiyao
1c9ecfa159 feat(esp32c5): supplement of esp_rom for esp32c5 beta3 target 2023-12-05 22:01:15 +08:00
wanglei
5f2c48acd6 feat(esp32c5): add esp32c5 beta3 esp_rom support 2023-12-05 22:01:15 +08:00
Jakob Hasse
7b4cd55d97 refactor(ci): removed unnecessary hal and soc mock header files 2023-11-15 12:15:08 +08:00
Guillaume Souchere
93d4b0b38c fix(heap): Patch tlsf_check_pool in ROM heap
The integrity_walker now calls the integrity check hook to control
free AND used blocks of memory in the TLSF pool. This integrity walker
function is called from tlsf_check_pool.

This commit creates a patch of integrity_walker function to update the
outdated implementation in the ROM.
2023-11-01 09:47:41 +01:00
Jiang Guang Ming
37ec1cc592 feat(mbedtls): support C2 mbedtls can use crypto algorithm in ROM 2023-10-23 13:10:44 +08:00
Jiang Guang Ming
d1fbec028c feat(esp32c3): Add rom ld with ROM tag esp32c3-eco7-20230720 2023-10-20 11:01:07 +08:00
Lou Tianhao
d59e91c030 feature: support_hp_regi2c_for_esp32c6 2023-08-09 14:24:31 +08:00
gaoxiaojie
640d391783 fix(rom_cache): use assembly to implement api cache_writeback_items_freeze
ensure cache freeze -> Writeback enable -> wait done -> cache unfreeze routine
never trigger a window overflow
2023-07-20 10:47:17 +08:00
gaoxiaojie
b1436633c5 fix(esp32s3): patch Cache_WriteBack_Addr api
avoid accessing cachelines that are being writebacked
2023-07-19 15:10:35 +08:00
Armando
3461449494 feat(esp32p4): added esp_rom support 2023-07-13 12:38:54 +08:00
Wang Lei
dec402ac84 esp_rom: Patch some cache apis 2023-06-16 14:04:00 +08:00
laokaiyao
bf2a7b2df6 esp32h4: removed esp32h4 related codes 2023-04-23 12:03:07 +00: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
Marius Vikhammer
5d26a0de9a wdt: add support for H2 2023-02-23 11:22:51 +08:00
Sachin Parekh
2bb9499a7e esp32c6: Enable ECDSA based secure boot
- Updated documentation for C6
2023-02-13 13:02:11 +05:30
wuzhenghui
ee4214ebf1 rom caps: add ESP_ROM_WITHOUT_REGI2C rom caps 2023-02-06 21:45:22 +08:00
wanglei
7cd87163a3 esp_rom: remove unsupported ld files (wifi related) for esp32h2 2023-01-30 11:28:26 +08:00
jiangguangming
4731d4322e esp_rom: remove newlib-time.ld from ROM built with 64-bit time_t 2023-01-29 16:37:13 +08:00
Marius Vikhammer
5e9e8c396f wdt: add support for WDTs on C6 2023-01-19 12:58:26 +08:00
Jiang Guang Ming
454aeb3a48 Merge branch 'feature/add_new_caps_for_rom_has_regi2c_bug' into 'master'
esp_rom: add ESP_ROM_HAS_REGI2C_BUG in rom caps

See merge request espressif/esp-idf!21418
2022-12-06 16:04:21 +08:00
jiangguangming
f9b6e25b55 esp_rom: update CMakeList.txt 2022-12-04 11:23:30 +08:00
jiangguangming
66a0cedf5a esp_rom: add ESP_ROM_HAS_REGI2C_BUG in rom caps 2022-12-03 21:48:57 +08:00
Cao Sen Miao
283e2c8e5f ESP32H2: Add ROM linker file and support 2022-12-01 10:31:17 +08:00
wuzhenghui
eb2444bb7f esp_rom: override i2c_reg ops api in rom phy 2022-11-17 17:23:34 +08:00
laokaiyao
8677216576 esp32h2: renaming esp32h2 to esp32h4 2022-11-08 17:05:33 +08:00
Michael (XIAO Xufeng)
c546de8d82 Merge branch 'feature/apply_new_version_logic' into 'master'
all: Apply new version logic (major * 100 + minor)

Closes IDF-4932 and IDF-4939

See merge request espressif/esp-idf!18787
2022-11-04 16:01:32 +08:00
KonstantinKondrashov
1f9260d790 all: Apply new version logic (major * 100 + minor) 2022-11-03 08:36:23 +00:00
jiangguangming
a8df72745b esp_rom: esp32c6 rom newlib support normal-formatting version 2022-11-02 08:14:52 -07:00
jiangguangming
14e974fd44 esp_rom: esp32c6 support spiflash driver rom implementation 2022-11-02 08:11:49 -07:00
wuzhenghui
68159feb10 esp32c6: add esp_rom support (rom version: esp32c6-20220901) 2022-09-26 20:32:04 +08:00
Omar Chebib
0b5ab940ae TLSF: fix the patch for tlsf_check function in ROM
tlsf_check in the patch was not called because the the TLSF functions
table in ROM was still pointing to the ROM implementation.
2022-08-31 13:30:10 +08:00
Guillaume Souchere
b9abad7a89 esp-rom: create a patch of tlsf_check() for target(s) supporting ROM implementation of TLSF
The tlsf implementation in the ROM does not provide a mechanism
to register a callback to be called in by tlsf_check().

This commit is creating a patch of the tlsf implementation to provide
a definition of the function allowing to register the callback called
in tlsf_check() and add the call of this callback in tlsf_check().

This patch is only compiled for target(s) with ESP_ROM_HAS_HEAP_TLSF
set and ESP_ROM_TLSF_CHECK_PATCH set. For all the other configurations
the environment remains unchanged by those modifications.
2022-08-26 08:25:38 +02:00
Vilem Zavodny
a00e8771a7 tjpgd: Remove ROM patches and tests. 2022-08-17 14:42:45 +02:00
morris
783e1781bd esp_rom: patch systimer driver for esp32c2 2022-07-25 16:08:52 +08:00
Jing Li
66395a5c00 system/sleep: further fix spi flash/ram current leakage 2022-07-21 19:14:26 +08:00
morris
6eb450fa87 newlib: ROM library is build with time_t 64bit on esp32c2 2022-06-09 10:48:31 +08:00
morris
068adfba70 heap: use ROM implementation for heap tlsf on esp32c2 2022-05-12 05:18:57 +00:00
Wu Zheng Hui
0580d68b69 esp32c2: Support riscv floating-point library selection 2022-05-08 17:57:40 +08:00
jiangguangming
6ec373daf5 heap_tlsf: use tlsf IMPL in ESP32C2 ROM 2022-05-05 17:41:11 +08:00
KonstantinKondrashov
754a563750 esp32c3: Adds ECO4 revision 2022-03-30 00:09:46 +08:00
Michael (XIAO Xufeng)
d5bdf95580 hw_support: fixed regi2c not protected by lock on ESP32S2 2022-03-13 00:24:08 +08:00
Ivan Grokhotkov
fd1c213be4 esp_rom: support building for Linux target with Clang
This fixes passing -Wimplicit-fallthrough=0 flag to Clang, which it
doesn't recognize, and is not necessary for this file.
Also the flag is changed from PUBLIC to PRIVATE since it is necessary
when compiling this component only.
2022-01-24 18:51:40 +01:00
laokaiyao
cf049e15ed esp8684: rename target to esp32c2 2022-01-19 11:08:57 +08:00
Ivan Grokhotkov
d2b894862c newlib: auto-detect sizeof(time_t)
To make the transition from 32-bit time_t to 64-bit time_t smoother,
detect the size of this type in CMake and remove the manual option in
Kconfig.
The information about 64-bit time_t support is moved from Kconfig help
string into the "system time" section of the API reference.
2022-01-11 19:01:21 +01:00
Ivan Grokhotkov
24c20d188e esp_rom: remove functions which depend on sizeof(struct stat)
...and all their callers.

With the upcoming switch from sizeof(time_t)==4 to sizeof(time_t)==8,
sizeof(struct stat) is also increasing.

A few newlib functions present in ROM allocate 'struct stat' on the
stack and call _fstat_r on this structure. The implementation of
fstat is provided in ESP-IDF. This implementation will often do
memset(st, 0, sizeof(*st)), where st is 'struct stat*', before setting
some fields of this structure. If IDF is built with sizeof(st)
different from sizeof(st) which ROM was built with, this will lead
to an out-of-bounds write and a stack corruption.

This commit removes problematic ROM functions from the linker script.
Here are the functions which allocate 'struct stat':
* _isatty_r (in ROM)
* __swhatbuf_r, called by __smakebuf_r, called by __swsetup_r and
  __srefill_r (in ROM)
* _fseeko_r (not in ROM)
* glob2 (not in ROM)
* _gettemp (not in ROM)

As a result, these functions are used from libc.a, and use correct
size of 'stat' structure.

Closes https://github.com/espressif/esp-idf/issues/7980
2022-01-06 15:20:04 +01:00
Cao Sen Miao
3a4db97cec spi_flash: move patch files to common rom patch folder 2021-12-30 14:05:12 +08:00
laokaiyao
f21020ce04 esp32h2: update reg and struct for beta2 2021-11-24 12:34:17 +08:00
laokaiyao
b9a84b96ce esp32h2: add support for beta2 2021-11-24 12:30:17 +08:00
Cao Sen Miao
bf6fa70812 ESP8684: update bootloader, bootloader_support, esp_rom 2021-11-06 17:33:44 +08:00
boarchuz
cda459672a fix bootloader build with rom flash driver
Closes https://github.com/espressif/esp-idf/pull/7508
Closes https://github.com/espressif/esp-idf/issues/6849
2021-09-15 14:51:35 +08:00