Martin Vychodil
ee9aa9a302
System/Security: fix missing checks for CPU-count sensitive Memprot APIs (ESP32S3)
...
Some of the Memory Protection (internal) API functions dealing with per-CPU operations were missing appropriate handling of the CPU count actually configured by CONFIG_FREERTOS_UNICORE. The flaw was fixed across all the places found in the code as the issue was of general type
2022-07-02 20:12:56 +00:00
Aditya Patwardhan
c6fe3ba7c6
esp_hmac: Fix documentation for API and Programming Guide
2022-06-28 12:47:28 +00:00
morris
7fd9a91034
dma: move from driver to hw_support
2022-06-28 14:17:12 +08:00
Marius Vikhammer
a8e9c6b8b2
esp_hw_support: always inline cpu_hal_set_vecbase
2022-06-28 05:53:27 +00:00
Cao Sen Miao
2c0651a671
Add regi2c enable/disable reference count
2022-06-23 15:36:44 +08:00
Marius Vikhammer
7e60e07a0a
Merge branch 'feature/esp8684_sha' into 'master'
...
mbedtls: enable hw support for SHA on C2
Closes IDF-3830 and IDF-5141
See merge request espressif/esp-idf!18531
2022-06-23 14:18:49 +08:00
Marius Vikhammer
f4c79687f8
SHA: added hardware support for SHA on C2.
2022-06-23 11:01:16 +08:00
Martin Vychodil
339fcbf14d
System/Security: Memprot API unified (ESP32S3)
...
Unified Memory protection API for all PMS-aware chips - ESP32S3 port
2022-06-20 02:36:44 +00:00
Armando (Dou Yiwen)
0b80546f8e
Merge branch 'feature/new_esp_psram_component' into 'master'
...
esp_psram: new esp psram component
Closes IDF-4318, IDF-4382, IDF-4841, and IDFGH-7192
See merge request espressif/esp-idf!18050
2022-06-15 19:16:56 +08:00
Jiang Jiang Jian
20e5a989a2
Merge branch 'feature/esp32c2_support_ble_sleep' into 'master'
...
Support ESP32C2 BLE modem sleep and lightsleep
See merge request espressif/esp-idf!18432
2022-06-15 15:39:55 +08:00
laokaiyao
621d0aa942
i2s: Introduced a brand new driver
2022-06-15 10:29:06 +08: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
zwj
fd90341138
support ble modem sleep and light sleep
2022-06-14 19:52:50 +08:00
Armando
38e5043ae8
esp_psram: new psram component
2022-06-14 15:44:27 +08:00
Darian Leung
a8a3756b38
hal: Route CPU and Interrupt Controller HAL/LL to esp_cpu calls
...
This commit makes changes to cpu_ll.h, cpu_hal.h, and interrupt_controller_hal.h:
- Moved to esp_hw_support in order to be deprecated in the future
- HAL/LL API now route their calls to esp_cpu.h functions instead
Also updated soc_hal.h as follows:
- Removed __SOC_HAL_..._OTHER_CORES() macros as they dependend on cpu_hal.h
- Made soc_hal.h and soc_ll.h interfaces always inline, and removed soc_hal.c.
This commit also updates the XCHAL_ERRATUM_572 workaround by
- Removing it's HAL function and invoking the workaround it directly the bootloader
- Added missing workaround for the ESP32-S3
2022-06-14 14:40:03 +08:00
Darian Leung
61eb7baa6b
esp_hw_support: Add esp_cpu.h abstraction and API
...
This commit updates the esp_cpu.h API. The new API presents a new
abstraction of the CPU where CPU presents the following interfaces:
- CPU Control (to stall/unstall/reset the CPU)
- CPU Registers (to read registers commonly used in SW such as SP, PC)
- CPU Interrupts (to inquire/allocate/control the CPUs 32 interrupts)
- Memory Port (to configure the CPU's memory bus for memory protection)
- Debugging (to configure/control the CPU's debugging port)
Note: Also added FORCE_INLINE_ATTR to the DoxyFile in order to pass doc
builds for esp_cpu.h
2022-06-14 14:30:58 +08:00
songruojing
c8752cee6a
clk_tree: Refactor rtc_clk.c by adding HAL layer for clock subsystem
2022-06-13 17:47:50 +08:00
Armando
44f771c713
psram: support s3 copy flash to psram
2022-06-10 10:39:29 +08:00
Marius Vikhammer
486316f222
spinlock: fixed spinlocks not working on S3 if placed in PSRAM
...
The compare and set instruction (S32C1I) cannot be used when
lock is not in internal memory.
Closes https://github.com/espressif/esp-idf/issues/9120
2022-06-08 14:31:16 +08:00
Cao Sen Miao
895a3e1bb2
esp_intr: Split RTC interrupt, making some of signals can be triggered with cache disabled
2022-06-02 10:38:55 +08:00
KonstantinKondrashov
ac4c7d99fe
dport: Move DPORT workaround to G0
2022-05-31 13:44:18 +08:00
jingli
93a5087e58
add PM related soc caps about power down rtc slow/fast mem
...
Supporting rtc slow/fast mem does not mean supporting
rtc slow/fast mem power down.
2022-05-30 15:26:50 +08:00
Marius Vikhammer
0687daf2c8
kconfig: move remaining kconfig options out of target component
...
The kconfig options are moved to the component where they are used,
mostly esp_hw_support and esp_system.
2022-05-23 17:57:45 +08:00
Marius Vikhammer
c8617fe965
docs: fix all doxygen warnings
...
Doxygen warnings would previously not result in a failed pipeline.
Fixed this as well as all current warnings.
2022-05-12 14:50:03 +08:00
zlq
6336f8191e
C2 rtc code
2022-05-09 17:50:54 +08:00
morris
9ab4abfb46
hw_support: move rtc_ctrl from driver to hw_support
2022-04-29 14:28:09 +08:00
Ivan Grokhotkov
871375cae3
Merge branch 'bugfix/bootloader_support_public_req' into 'master'
...
esp_hw_support: remove public dependency on bootloader_support
See merge request espressif/esp-idf!17792
2022-04-27 17:04:07 +08:00
Marius Vikhammer
45c1d1cba2
Merge branch 'feature/move_target_kconfig_2' into 'master'
...
system: move kconfig options out of target component
See merge request espressif/esp-idf!17321
2022-04-24 13:29:43 +08:00
Marius Vikhammer
d2872095f9
soc: moved kconfig options out of the target component.
...
Moved the following kconfig options out of the target component:
* CONFIG_ESP*_DEFAULT_CPU_FREQ* -> esp_system
* ESP*_REV_MIN -> esp_hw_support
* ESP*_TIME_SYSCALL -> newlib
* ESP*_RTC_* -> esp_hw_support
Where applicable these target specific konfig names were merged into
a single common config, e.g;
CONFIG_ESP*_DEFAULT_CPU_FREQ -> CONFIG_ESP_DEFAULT_CPU_FREQ_MHZ
2022-04-21 12:09:43 +08:00
Armando
f8249550f8
psram: support .bss on psram on esp32s3
2022-04-19 19:48:00 +08:00
Ivan Grokhotkov
85cb079838
esp_hw_support: remove public dependency on bootloader_support
...
In c4bcf111
, soc_memory_types.h header was moved from soc to
esp_hw_support. Since some of the functions are also used in
bootloader and because esp_hw_support is not part of the bootloader
build, part of the functions were moved into bootloader_support.
To make these functions available to the app, bootloader_support was
added as a public dependency of esp_hw_support.
Since esp_hw_support is in common requirements list, this has added
bootloader_support as a public requirement to every component in the
build. Adding new public requirements outside of common components
is undesirable, since components may accidentally include headers
from bootloader_support without explicitly declaring it as a
requirement.
This commit reverts this addition. Until a better solution is found,
some part of esp_memory_utils.h is duplicated into
bootloader_memory_utils.h. A CI check is added to make sure these
files stay in sync.
2022-04-16 10:50:12 +02:00
Armando
c4bcf1117c
esp_hw_support: move soc_memory_types.h helper functions into esp_hw_support
2022-04-08 11:46:10 +08:00
Michael (XIAO Xufeng)
f3adbf9953
esp_phy: use spinlock to avoid regi2c access conflicts
2022-04-01 10:49:29 +08:00
Marius Vikhammer
36b83fcb98
Merge branch 'docs/cpp_function_ref_fixes' into 'master'
...
docs: fix broken references to misc API functions and types.
Closes IDF-3184 and DOC-2806
See merge request espressif/esp-idf!17569
2022-03-31 16:22:23 +08:00
morris
29e9b5b46a
hw_support: move periph_ctrl from driver to hw_support
2022-03-29 11:53:31 +08:00
Marius Vikhammer
a6543f0d21
docs: fix broken references to misc API functions and types.
2022-03-27 16:46:57 +08:00
Mahavir Jain
f7fc3e2d88
esp_hw_support: cleanup crypto lock APIs for ESP32-C2
2022-03-22 02:06:30 +00:00
Michael (XIAO Xufeng)
d5bdf95580
hw_support: fixed regi2c not protected by lock on ESP32S2
2022-03-13 00:24:08 +08:00
Sudeep Mohanty
a9fda54d39
esp_hw_support/esp_system: Re-evaluate header inclusions and include directories
...
This commit updates the visibility of various header files and cleans up
some unnecessary inclusions. Also, this commit removes certain header
include paths which were maintained for backward compatibility.
2022-03-07 11:18:08 +05:30
Omar Chebib
96b362d1da
RTC WDT: Use target name instead of caps for rtc wdt
2022-03-03 13:47:22 +08:00
Omar Chebib
dbba26643f
RTC WDT: refactor code to remove duplicated code
2022-03-03 13:47:22 +08:00
morris
ef00bd59dc
esp_rom: extract int matrix route and cpu ticks getter
2022-02-09 13:52:20 +08:00
Aditya Patwardhan
bb7be628a0
Digital Signature (ds):) Update the documentation for esp_ds_sign and
...
esp_ds_start_sign with additional information.
ii) Updated the DS docs for signature calculation.
Closes https://github.com/espressif/esp-idf/issues/8242
2022-02-07 12:44:06 +08:00
laokaiyao
cf049e15ed
esp8684: rename target to esp32c2
2022-01-19 11:08:57 +08:00
Armando
7240ad2b3a
psram: refactor spiram.c on esp32s2
2022-01-13 11:07:57 +08:00
morris
113cbb88a6
hw_support: remove deprecated header files
2022-01-04 14:16:17 +08:00
Sudeep Mohanty
6a2a6e4220
Merge branch 'feature/remove-depricated-cpu-util-functions' into 'master'
...
esp_hw_support: Removed deprecated CPU util functions
Closes IDF-2868
See merge request espressif/esp-idf!16391
2021-12-29 16:44:17 +00:00
laokaiyao
4f28b33bbc
apll: add lock for apll
2021-12-29 10:13:13 +08:00
Sudeep Mohanty
e22b4007d3
esp_hw_support: Removed deprecated CPU util functions
...
The following files were deleted:
- components/esp_hw_support/include/soc/cpu.h
- components/soc/esp32s3/include/soc/cpu.h
The following functions are deprecated:
- get_sp()
The following functions declared in soc/cpu.h are now moved to esp_cpu.h:
- esp_cpu_configure_region_protection()
The following functions declared in soc/cpu.h are now moved to components/xtensa/include/esp_cpu_utils.h:
- esp_cpu_process_stack_pc()
All files with soc/cpu.h inclusion are updated to include esp_cpu.h instead.
Signed-off-by: Sudeep Mohanty <sudeep.mohanty@espressif.com>
2021-12-28 16:58:37 +05:30
Martin Vychodil
dd938eb952
System/Security: Memprot API unified (ESP32C3)
...
Unified Memory protection API for all PMS-aware chips (ESP32C3)
Closes JIRA IDF-3849
2021-12-21 01:50:36 +01:00
Armando
9a6f894046
psram: add octal psram ECC feature
2021-12-13 20:24:52 +08:00
Cao Sen Miao
eddc196081
esp_clk: refactor target/clk.h to private/esp_clk.h
2021-11-26 14:56:30 +08:00
Darian Leung
9b3796d2f1
freertos: Add portTRY_ENTRY_CRITICAL() and deprecate legacy spinlock fucntions
...
Add TRY_ENTRY_CRITICAL() API to all for timeouts when entering critical sections.
The following port API were added:
- portTRY_ENTER_CRITICAL()
- portTRY_ENTER_CRITICAL_ISR()
- portTRY_ENTER_CRITICAL_SAFE()
Deprecated legacy spinlock API in favor of spinlock.h. The following API were deprecated:
- vPortCPUInitializeMutex()
- vPortCPUAcquireMutex()
- vPortCPUAcquireMutexTimeout()
- vPortCPUReleaseMutex()
Other Changes:
- Added portMUX_INITIALIZE() to replace vPortCPUInitializeMutex()
- The assembly of the critical section functions ends up being about 50 instructions longer,
thus the spinlock test pass threshold had to be increased to account for the extra runtime.
Closes https://github.com/espressif/esp-idf/issues/5301
2021-11-22 13:28:39 +08:00
Simon
197d6c05b6
Merge branch 'feature/support_new_psram' into 'master'
...
PSRAM: Add ESP32-D0WDR2-V3 support
Closes IDF-4308
See merge request espressif/esp-idf!15875
2021-11-15 03:43:59 +00:00
Cao Sen Miao
ce1ee3d8ae
psram: add ESP32-D0WD-R2-V3 support
2021-11-12 13:52:24 +08:00
Shang Zhou
1669504614
docs: Update punctuation and syntax error for esp_err_tesp_sleep_enable_ext1_wakeup
2021-11-11 17:25:45 +08:00
Cao Sen Miao
3934e24d22
ESP8684: add spi_flash, efuse, hw_support support
2021-11-06 17:33:44 +08:00
Jiang Jiang Jian
f5ae8b0533
Merge branch 'feature/ledc_use_rtc8m_or_xtal_lightsleep' into 'master'
...
support RTC8M and XTAL power domain in light sleep mode
Closes IDF-3419
See merge request espressif/esp-idf!15152
2021-09-27 04:02:29 +00:00
Li Shuai
b59902f4d1
Merge branch 'bugfix/esp32s3_lightsleep_psram_leakage_current' into 'master'
...
fix SPIRAM leakage when its CS pin has no hardware pullup
See merge request espressif/esp-idf!14730
2021-09-16 04:07:58 +00:00
chenjianqiang
9b53e18c44
add flash and PSRAM CS IO acquire function
2021-09-15 20:34:17 +08:00
Ivan Grokhotkov
e21e5aac64
esp_hw_support: update esp32s3 chip ID to the MP version
...
- Update 7.2.5 chip ID (4) to 7.2.8 chip ID (9).
- Remove TODO in espcoredump regarding this mismatch.
2021-09-13 15:16:45 +02:00
Li Shuai
e44ead5356
Power Management: add RTC8M power domain to control whether internal 8m oscillator is powered down during sleep
2021-09-13 17:36:54 +08:00
Sachin Parekh
fd5a7df404
esp32h2: Replicated HMAC JTAG downstream enable mode implementation
2021-09-06 11:06:50 +05:30
Sachin Parekh
fa2707f1f3
hmac: Added Downstream JTAG enable mode for esp32c3 and esp32s3
...
If JTAG is disabled temporarily by burning SOFT_DIS_JTAG, it can be
re-enabled temporarily through esp_hmac_jtag_enable API
2021-09-06 11:06:50 +05:30
Jiang Jiang Jian
316988bd2d
Merge branch 'feature/support_esp32s3_cpu_tagmem_retention' into 'master'
...
support esp32s3 cpu + tagmem retention
See merge request espressif/esp-idf!14579
2021-09-06 03:47:44 +00:00
Sachin Billore
f80d6f8c21
Digital Signature support for S3
...
Closes IDF-1791
2021-09-02 11:59:24 +05:30
Martin Vychodil
58aed7df98
ESP32S2: No assert()/abort() in Memprot API, use esp_err_t instead
...
JIRA IDF-3634
2021-08-26 09:20:00 +02:00
Li Shuai
15fc449793
light sleep: separate sleep retention function
2021-08-24 11:54:47 +08:00
Li Shuai
90a0a83c0f
light sleep: separate sleep wifi/bt mac bb function
2021-08-23 10:25:04 +08:00
Li Shuai
b0757dfcfa
light sleep: separate sleep gpio function
2021-08-23 10:22:12 +08:00
Zim Kalinowski
dcff1baab5
Merge branch 'bugfix/fix_esp32s2_deep_sleep_timer_wake_up_fail' into 'master'
...
rtc: fix esp32s2 fall into sleep forever when deep-sleep time is set to 0
Closes IDF-2712
See merge request espressif/esp-idf!12438
2021-08-19 03:20:15 +00:00
Jakob Hasse
1c3be690ed
[esp_hw_support]: HMAC upstream support for S3
2021-08-13 12:01:06 +08:00
Jan Brudný
db41f2efdd
esp_hw_support: update copyright notice
2021-08-05 16:30:10 +02:00
Konstantin Kondrashov
f00c204fbc
Merge branch 'feature/adds_custom_mac_address' into 'master'
...
efuse: Add CUSTOM_MAC address for ESP32-C3/-S2/-S3/-H2
Closes IDF-1326
See merge request espressif/esp-idf!14417
2021-08-04 06:35:29 +00:00
Konstantin Kondrashov
4972605b16
esp_common: Add API for IPC to run small pieces of code on the other CPU, in the context of the level 4 interrupt
2021-08-03 14:35:29 +08:00
KonstantinKondrashov
40c360a096
efuse: Add CUSTOM_MAC address for ESP32-C3/-S2/-S3/-H2
2021-08-02 14:43:27 +05:00
morris
21067a0455
spiram: add getter function to check psram initialization state
2021-07-30 11:23:26 +08:00
Shu Chen
dadaf30d17
Merge branch 'feature/add_eui64_for_esp32h2_efuse' into 'master'
...
efuse: add mac extension address for esp32h2
See merge request espressif/esp-idf!14363
2021-07-21 03:46:58 +00:00
zhangwenxu
d5b9078e23
efuse: add mac extension address for esp32h2
2021-07-20 12:03:17 +08:00
Chen Yi Qun
835c0ca32c
fix esp32s2 fall into sleep forever when deep-sleep time is set to 0
2021-07-19 14:43:47 +08:00
Omar Chebib
a7b6ec85b8
Merge branch 'feature/move_memory_layout_to_heap' into 'master'
...
G0: Memory layouts are now part of heap components
Closes IDF-1264
See merge request espressif/esp-idf!14028
2021-07-19 06:23:19 +00:00
Michael (XIAO Xufeng)
59195b6fb3
Merge branch 'bugfix/update_gdma_soc' into 'master'
...
gdma: alignment setting for PSRAM transfer
Closes IDF-1524
See merge request espressif/esp-idf!13976
2021-07-17 14:04:03 +00:00
Angus Gratton
9d6366f290
esp_hw_support: Move rtc.h header from target components
2021-07-16 20:14:28 +08:00
Angus Gratton
f0471b18b2
esp32h2: Move from target component to esp_hw_support (new structure)
2021-07-16 20:14:27 +08:00
Renz Bagaporo
844af01eb4
esp32: move spiram, himem
2021-07-16 20:14:26 +08:00
Renz Bagaporo
452bfda367
esp32: move dport_access
2021-07-16 20:14:26 +08:00
Renz Bagaporo
702e41e1c8
esp32s2: move crypto related functions
2021-07-16 20:14:26 +08:00
Renz Bagaporo
ea2aafbb7a
esp32s2: move memprot api
2021-07-16 20:14:26 +08:00
morris
d9819bc7ae
gdma: set transfer ability
2021-07-16 14:47:09 +08:00
Omar Chebib
c4f57af6c9
G0: Memory layouts are now part of heap components
2021-07-15 11:38:23 +10:00
Shu Chen
5e3689ae0f
esp32h2: update esp_system and esp_hw_support to support esp32h2
2021-07-01 19:53:11 +08:00
Shu Chen
7d4b2617e1
esp32h2: copy esp_system and esp_hw_support from esp32c3
...
Copy the esp32c3 code without any change:
* components/esp_hw_support/include/soc/esp32h2
* components/esp_hw_support/port/esp32h2
* components/esp_system/port/soc/esp32h2
2021-07-01 19:53:11 +08:00
Angus Gratton
5c812742c6
docs: Add description for Linux getrandom() function
2021-05-20 17:08:17 +10:00
Angus Gratton
e14edecf5f
docs: Add random number generation to the API Reference System section
2021-05-18 16:05:42 +10:00
Angus Gratton
4d4e094d81
esp_hw_support: Clarify the documentation about hardware RNG entropy
2021-05-06 16:59:02 +10:00
ninh
f1ee8aa14f
esp_wifi: fix nolightsleep after wifi init
2021-04-29 18:50:28 +08:00
Angus Gratton
7cb83c8787
system doc: Re-structure description of MAC addresses, especially on newer chip targets
...
Includes a note about calculating the Ethernet MAC on platforms with no built-in
Ethernet, and removes documentation for esp_efuse_mac_get_custom() on targets
other than ESP32
2021-04-22 16:08:55 +10:00
Angus Gratton
c8cb803378
system: Simplify esp_derive_local_mac() function
...
Previously this function included a loop but would never run more
than one iteration of it.
2021-04-22 12:22:46 +10:00
Renz Bagaporo
586023790e
esp_system: move sleep modes to esp_hw_support, power down light sleep to esp_pm
2021-04-07 17:53:37 +08:00
Renz Bagaporo
c112bd8b57
esp_system: move intr_alloc
2021-04-07 17:53:37 +08:00
Renz Bagaporo
8762bfebde
esp_system: move asysnc memcpy to esp_hw_support
2021-04-07 17:53:37 +08:00
Renz Bagaporo
1b4e4c37b7
esp32: remove deprecated esp_intr.h
2021-03-31 19:17:33 +08:00
Renz Bagaporo
e6edf34e82
esp32: move esp_clk functions
2021-03-31 19:17:33 +08:00
Renz Bagaporo
4a08264e7a
esp_system: split esp_system.h header
2021-03-31 19:13:03 +08:00
Renz Bagaporo
0f03f450ff
esp_hw_support: create esp_cpu
...
Create a esp_cpu header that contains CPU-related functions and
utilities.
2021-02-26 13:34:29 +08:00
Renz Bagaporo
349f0cad3e
esp_common: other movements
2021-02-24 12:16:37 +08:00
Renz Bagaporo
5e8799bbfe
esp_common: move some headers
2021-02-24 12:16:37 +08:00
Renz Bagaporo
ae15c81dbe
esp_common: move to esp_hw_support
2021-02-24 12:16:37 +08:00
KonstantinKondrashov
dada7cd035
global: Uses CCOUNT API instead of XTHAL macro
2021-01-12 16:24:23 +08:00
Cao Sen Miao
e338a2e3df
rtc: add function to en/disable the rtc clock
2020-12-23 09:53:24 +11:00
Angus Gratton
b696d2917e
esp_hw_support: Add initial ESP32-C3 support
...
From internal commit 7761d6e8
2020-11-30 15:23:15 +11:00
Angus Gratton
420aef1ffe
Updates for riscv support
...
* Target components pull in xtensa component directly
* Use CPU HAL where applicable
* Remove unnecessary xtensa headers
* Compilation changes necessary to support non-xtensa gcc types (ie int32_t/uint32_t is no
longer signed/unsigned int).
Changes come from internal branch commit a6723fc
2020-11-13 07:49:11 +11:00
Angus Gratton
66fb5a29bb
Whitespace: Automated whitespace fixes (large commit)
...
Apply the pre-commit hook whitespace fixes to all files in the repo.
(Line endings, blank lines at end of file, trailing whitespace)
2020-11-11 07:36:35 +00:00
Renz Bagaporo
6b0a5af73e
soc: move implementations to esp_hw_support
2020-10-28 22:38:50 +08:00
Renz Bagaporo
988be69466
esp_hw_support: create component
2020-10-28 07:21:29 +08:00