Wykres commitów

83 Commity (1f25202bb160e78bc5c842513729ae6c9380a405)

Autor SHA1 Wiadomość Data
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
SalimTerryLi 23e23b697c
rom/tjpgd: unify library & add rom patch
remove external tjpgd library inside example

enable tjpgd decoding on all chips
2021-09-01 14:42:17 +08:00
Jakob Hasse 4dd88329c1 [esp_rom]: Partially buildable for linux
The following files have been ported:
* esp_rom_crc.h
* esp_rom_sys.h
* esp_rom_efuse.h (mostly no-ops)
* esp_rom_md5.h

Integrated Linux-based rom implementation into log
and NVS component.

Added brief host tests for ROM to ensure basic
consistency on Linux.

Added ROM printf host unit tests.

Temporarily added reset reason for Linux in ROM.
2021-08-03 12:03:24 +08:00
Shu Chen 37f4cb8b4b esp32h2: add rom code for esp32h2 2021-07-01 19:53:11 +08:00
Jakob Hasse e32831033a [esp_rom]: fixed S3 longjmp patch
* On S3, the placement of ROM functions is
  ECO-dependent. Hence, we don't jump into
  the middle of the longjmp function in ROM
  on S3 anymore.
  Instead, the whole longjump function is used
  in the patch.

* Also properly excluded the patch from
  bootloader build with Makefiles

Closes IDF-3391
2021-06-18 15:47:41 +08:00
Marius Vikhammer 79b5dedeb1 CI: minor testcases fixes and disable some cases that cant run on S3 2021-06-15 13:39:48 +08:00
Anton Maklakov b46b50eaa6 newlib: Add ESP_ROM_HAS_RETARGETABLE_LOCKING capability for C3 and S3 chips 2021-06-07 12:53:45 +07:00