Guillaume Souchere
50a58b4a83
esp_hw_support: Fix formatting of intr_alloc.h and test_panic.c
2022-07-22 00:06:06 +08:00
Guillaume Souchere
0bac33ed41
esp_system: Remove deprecate section from esp_cpu.h
...
- Remove esp_cpu_in_ocd_mode() from esp_cpu.h. Users should call esp_cpu_dbgr_is_attached() instead.
- Remove esp_cpu_get_ccount() from esp_cpu.h. Users should call esp_cpu_get_cycle_count() instead.
- Remove esp_cpu_set_ccount() from esp_cpu.h. Users should call esp_cpu_set_cycle_count() instead.
- Other IDF components updated to call esp_cpu_dbgr_is_attached(), esp_cpu_get_cycle_count() and esp_cpu_set_cycle_count() as well.
2022-07-22 00:06:06 +08:00
Guillaume Souchere
dcae121d80
hal: Deprecate soc_hal.h and soc_ll.h interface
...
This commit marks all functions in soc_hal.h and soc_ll.h as deprecated.
Users should use functions from esp_cpu.h instead.
Also added missing wrap funcions for esp_cpu_stall() in test_panic.c files.
2022-07-22 00:06:06 +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
Darian Leung
781d06af73
esp_hw_support: Remove compare_set.h API
...
This function removes the following legacy atomic CAS functions:
From compare_set.h (file removed):
- compare_and_set_native()
- compare_and_set_extram()
From portmacro.h
- uxPortCompareSet()
- uxPortCompareSetExtram()
Users should call esp_cpu_compare_and_set() instead as this function hides the details
of atomic CAS on internal and external RAM addresses.
Due to the removal of compare_set.h, some missing header includes are also fixed in this commit.
2022-07-22 00:06:06 +08:00
Darian Leung
d37fa7e244
esp_hw_support: Update spinlocks to use esp_cpu_compare_and_set()
...
esp_cpu_compare_and_set() abstracts the atomic compare-and-set instruction by
hiding the details of whether the target variable is in internal or external
RAM. This commit updates "spinlocks.h" as follows:
- esp_cpu_compare_and_set() is now called instead of "compare_set.h"
- Refactored spinlock logic to be more optimized and have more stringent sanity checks
2022-07-22 00:06:06 +08:00
Darian Leung
64117a0c59
esp_system: Fix esp_cpu_compare_and_set()
...
This commit fixes esp_cpu_compare_and_set() in the following ways
- Removed call to esp_ptr_external_ram() as it incurred > 80 CPU cycles (due to multiple nested
function calls, and those functions not being in IRAM). We now check manually if the pointer
is in external RAM for increased speed.
- Fixed infinite wait when attempting to get the external_ram_cas_lock. The function should
return immediatley if any part of the compare and set call fails.
- The preprocessor conditions of esp_cpu_compare_and_set() to depend on CONFIG_SPIRAM instead
of SOC_SPIRAM_SUPPORTED. Even if the target supports SPIRAM, we only need the external RAM
compare and set feature if SPIRAM is enabled.
Also fixed incorrect inclusion of esp_intr_alloc.h in esp_cpu.h
2022-07-22 00:06:06 +08:00
Jing Li
66395a5c00
system/sleep: further fix spi flash/ram current leakage
2022-07-21 19:14:26 +08:00
Ivan Grokhotkov
230e732018
Merge branch 'feature/system_init_priorities' into 'master'
...
esp_system: introduce priorities for startup functions
Closes IDFGH-5683 and IDF-4954
See merge request espressif/esp-idf!18159
2022-07-14 06:22:25 +08:00
Ivan Grokhotkov
02f28ef32a
Merge branch 'bugfix/esp_error_check_func_addr' into 'master'
...
esp_err: two minor issues
Closes IDFGH-7530
See merge request espressif/esp-idf!18665
2022-07-14 04:14:16 +08:00
Mahavir Jain
20e21fb29d
Merge branch 'refactor/remove_rom_deps' into 'master'
...
RFC: remove dependency to target-specific ROM headers
Closes IDF-1968
See merge request espressif/esp-idf!18206
2022-07-13 16:44:44 +08:00
Jiang Jiang Jian
b610b47a83
Merge branch 'feature/esp32s3_memprot_additional_improvements' into 'master'
...
[System/Security] Memprot after-merge improvements (v5.0)
Closes IDF-5263 and IDF-5208
See merge request espressif/esp-idf!18893
2022-07-13 15:48:20 +08:00
Jakob Hasse
33a3616635
refactor (bootloader_support, efuse)!: remove target-specific rom includes
...
The following two functions in bootloader_support are private now:
* esp_secure_boot_verify_sbv2_signature_block()
* esp_secure_boot_verify_rsa_signature_block()
They have been moved into private header files
inside bootloader_private/
* Removed bootloader_reset_reason.h and
bootloader_common_get_reset_reason() completely.
Alternative in ROM component is available.
* made esp_efuse.h independent of target-specific rom header
2022-07-13 10:29:02 +08:00
Ivan Grokhotkov
ca7c9947fc
esp_system: fix address printed by ESP_ERROR_CHECK
...
...to point to the calling function, not to _esp_error_check_failed.
2022-07-12 17:01:47 +02:00
Ivan Grokhotkov
0e53b32d2e
esp_hw_support: perform sleep initialization using ESP_SYSTEM_INIT_FN
2022-07-12 16:58:15 +02: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
Marius Vikhammer
6cc871d793
Merge branch 'feature/ulp_riscv_adc' into 'master'
...
ulp-riscv: add support for using ADC as well as an example show-casing it.
Closes IDFGH-7564 and IDF-1714
See merge request espressif/esp-idf!18767
2022-07-11 12:30:31 +08:00
songruojing
ef813b23fa
rtc: esp32c2 support 26MHz xtal in startup code and rtc_clk.c
2022-07-11 12:24:58 +08:00
Marius Vikhammer
e8b5096f52
ulp-riscv: add support for using ADC as well as an example show-casing it.
2022-07-11 09:31:22 +08:00
Martin Vychodil
0c87ae2a91
System/Security: Memprot API unified (ESP32S3)
...
Added missing features and improvements
2022-07-09 22:57:51 +02:00
Ivan Grokhotkov
672e70a023
esp_hw_support: add 26 MHz XTAL option for esp32c2
...
Some esp32c2 boards will be produced with a 26 MHz XTAL. This commit
adds the basic Kconfig option for this type of hardware.
Support for CONFIG_ESP32C2_XTAL_FREQ_26 in other areas of IDF will be
implemented in subsequent commits.
2022-07-08 15:04:17 +08:00
Michael (XIAO Xufeng)
a58362a429
Merge branch 'feature/efuse_rev_major_minor' into 'master'
...
efuse: Adds major and minor versions
See merge request espressif/esp-idf!18255
2022-07-07 11:48:54 +08:00
Song Ruo Jing
b662f4b74f
Merge branch 'feature/support_26M_32M_xtal_bbpll_c2' into 'master'
...
support c2 26M/32M xtal for bbpll
Closes IDF-5485
See merge request espressif/esp-idf!18769
2022-07-06 21:17:52 +08:00
Marius Vikhammer
cf41c255bb
Merge branch 'bugfix/cache_disabled_log_c3' into 'master'
...
esp_hw_support: always inline cpu_hal_set_vecbase to avoid issues at -O0
See merge request espressif/esp-idf!18630
2022-07-06 09:55:20 +08:00
cje
e16165f263
support c2 26M/32M xtal for bbpll
2022-07-05 17:45:03 +08:00
KonstantinKondrashov
0f8ff5aa15
efuse: Adds major and minor versions and others
2022-07-05 14:38:27 +08:00
Martin Vychodil
29c0703d7e
Merge branch 'bugfix/esp32s3_memprot_wrong_check_unicore' into 'master'
...
System/Security: fix missing checks for CPU-count sensitive Memprot APIs (ESP32S3)
Closes IDF-5401
See merge request espressif/esp-idf!18834
2022-07-04 16:41:45 +08:00
Marius Vikhammer
4720607229
Merge branch 'bugfix/c2_mac_address' into 'master'
...
mac addr: fix wrong offset being used for C2 BT mac address
Closes IDF-5046
See merge request espressif/esp-idf!18717
2022-07-04 14:04:13 +08:00
Omar Chebib
7e42038c86
Merge branch 'refactor/move_regi2c_headers' into 'master'
...
Refactor: move regi2c_*.h header files from esp_hw_support to soc component
See merge request espressif/esp-idf!18676
2022-07-04 11:32:30 +08:00
Mahavir Jain
cd1555ec03
Merge branch 'esp32c2_check_ocd_mode' into 'master'
...
esp32c2: check ocd mode before configure memprot
See merge request espressif/esp-idf!18655
2022-07-04 11:22:25 +08:00
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
Cao Sen Miao
a690a87829
spi_flash: Remove legacy spi_flash drivers
2022-07-01 11:01:34 +08:00
Omar Chebib
cd48baf979
Refactor: move regi2c_*.h header files from esp_hw_support to soc component
...
When creating G0 layer, some regi2c_*.h headers were moved out from
esp_hw_support (G1) to soc (G0). In order to be consistent with that change,
move all the remaining regi2c_*.h headers to soc too.
2022-06-30 09:40:44 +00:00
Aditya Patwardhan
c6fe3ba7c6
esp_hmac: Fix documentation for API and Programming Guide
2022-06-28 12:47:28 +00:00
morris
602e154c12
Merge branch 'refactor/move_gdma_to_hw_support' into 'master'
...
dma: move from driver to hw_support
See merge request espressif/esp-idf!18706
2022-06-28 15:57:56 +08:00
Armando (Dou Yiwen)
4dbd2c7e30
Merge branch 'refactor/move_spi_necessary_private_headers' into 'master'
...
spi: move spi_common_internal to esp_private
See merge request espressif/esp-idf!18146
2022-06-28 15:51:22 +08:00
Marius Vikhammer
4ffb15916e
mac addr: fix wrong offset being used for C2 BT mac address
2022-06-28 15:30:24 +08: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
Armando
f31d88e3fe
spi: move spi_common_internal to esp_private
2022-06-24 19:12:13 +08:00
Erhan Kurubas
480e2ab149
esp32c2: check ocd mode before configure memprot
2022-06-24 09:13:02 +03:00
Marius Vikhammer
42aa4ee3d4
ulp: only enable relevant wakeup sources for ULP
...
Do not enable co-processor trap wakeup source when running ULP FSM, as this
could cause spurious wake-ups.
2022-06-24 02:30:29 +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
Omar Chebib
8fae0f0753
G0: Support Xtensa targets for G0-only compilation
...
G0-only example now supports Xtensa targets. This means that G0 layer
does not depend on G1+ layers anymore
2022-06-20 11:34:20 +00:00
Martin Vychodil
692b9980b5
Merge branch 'feature/memprot_api_unified_s3_2' into 'master'
...
System/Security: Memprot API unified (ESP32S3)
See merge request espressif/esp-idf!16169
2022-06-20 17:34:22 +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
jingli
3a908c66e6
use API instead of Kconfig
2022-06-17 19:57:47 +08:00
jingli
824e0ddca8
improve flash power down logic
2022-06-17 18:01:43 +08:00
Omar Chebib
752026a174
Merge branch 'refactor/remove_g0_dep_on_g1_riscv' into 'master'
...
G0: RISC-V targets have now an independent G0 layer
See merge request espressif/esp-idf!17926
2022-06-16 11:53:39 +08: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
Michael (XIAO Xufeng)
7c7d53813c
Merge branch 'feat/revert_touch_s3' into 'master'
...
touch: Added support for using touch in sleep modes back on ESP32-S3
Closes IDF-5041
See merge request espressif/esp-idf!18421
2022-06-15 16:11:50 +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
Jing Li
074c708cf0
Merge branch 'refactor/simplify_code_for_time_compensation_when_sleep' into 'master'
...
system/sleep: simplify code for time compensation when wakeup from light sleep
See merge request espressif/esp-idf!18491
2022-06-15 14:38:40 +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
cdad8a02fe
esp_psram: remove g_spiram_ok
2022-06-14 15:44:27 +08:00
Armando
38e5043ae8
esp_psram: new psram component
2022-06-14 15:44:27 +08:00
Omar Chebib
2fd784c97a
G0 RISC-V: Remove "private_include/regi2c_brownout.h" header as it has been moved and simplify "regi2c_ctrl.h"
2022-06-14 15:00:53 +08:00
Omar Chebib
5bcd9b2db8
G0: RISC-V targets have now an independent G0 layer
...
G0 doesn't depend on any G1+ layer for RISC-V based targets
2022-06-14 15:00:53 +08:00
jingli
30e7af2ffb
system/sleep: simplify code for time compensation when wakeup from light sleep
2022-06-14 14:49:26 +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
Darian Leung
556ec30457
esp_hw_support: Rename cpu_util.c to cpu.c
2022-06-14 14:30:57 +08:00
songruojing
03477a59db
rtc_clk: Fix rtc8m calibration failure after cpu/core reset
...
1. make sure 8md256 clk is enabled before calibration
2. improve bootloader and application startup 8m, 8md256 enable logic
2022-06-13 17:47:51 +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
Rahul Tank
2b097995bc
Merge branch 'bugfix/fix_compilation_issue_esp32h2' into 'master'
...
NimBLE: fix compilation issue in nimble examples for ESP32H2
See merge request espressif/esp-idf!18438
2022-06-13 12:33:49 +08:00
Michael (XIAO Xufeng)
069ef38ff6
Revert "touch_sensor: forbid from using touch sensor with sleep on ESP32-S3"
...
This reverts commit a84faa3cef
.
2022-06-13 01:51:12 +08:00
Armando
44f771c713
psram: support s3 copy flash to psram
2022-06-10 10:39:29 +08:00
Simon
6ad7558ec1
Merge branch 'feature/esp32c2_configurable_mmu_new' into 'master'
...
MMU: add configurable MMU page size support (For ESP32C2)
Closes IDF-3821
See merge request espressif/esp-idf!17854
2022-06-10 10:20:49 +08:00
Rahul Tank
0395078a06
NimBLE: fix compilation issue in nimble examples for ESP32H2
2022-06-09 10:57:31 +05:30
Cao Sen Miao
6589daabb9
MMU: Add configurable mmu page size support on ESP32C2
2022-06-08 19:34:31 +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
Michael (XIAO Xufeng)
773715d900
Merge branch 'feature/support_refresh_brownout_v1' into 'master'
...
spi_flash: send reset when brownout detected on XMC flash
Closes IDF-3882
See merge request espressif/esp-idf!16873
2022-06-06 16:27:58 +08:00
Jiang Jiang Jian
b617ccfb4c
Merge branch 'feature/esp32c2_eco1_bluetooth_update_0525_for_MR' into 'master'
...
Support bluetooth for esp32c2 chip
See merge request espressif/esp-idf!18243
2022-06-04 17:35:17 +08:00
Michael (XIAO Xufeng)
d798662421
Merge branch 'bugfix/s3_sleep_voltage' into 'master'
...
esp32s3: fixed dangerous power parameters in sleep modes
See merge request espressif/esp-idf!18168
2022-06-04 00:47:32 +08:00
Geng Yuchao
c1505d045c
Add periph_module needed for BT
2022-06-03 21:47:58 +08:00
Michael (XIAO Xufeng)
6a8aed12ee
ci: partially enable ut tests for esp32c2
...
Disabled test cases are tracked in:
IDF-4465, IDF-5045, IDF-5057, IDF-5058, IDF-5059, IDF-5060, IDF-5061, IDF-5131
- test_fatfs: IDF-5136
- test_pm: IDF-5053
- test_cache_mmu: IDF-5138
- test_partitions: IDF-5137
- test_vfs: IDF-5139
- test_freertos: IDF-5140
- test_wpa_supplicant: IDF-5046
- test_mbedtls: IDF-5141
- test_pthread: IDF-5142
- test_protocomm: IDF-5143
- test_lightsleep: IDF-5053
- test_taskwdt: IDF-5055
- test_tcp_transport: IDF-5144
- test_app_update: IDF-5145
- test_timer: IDF-5052
- test_spi: IDF-5146
- test_rtc_clk: IDF-5060
- test_heap: IDF-5167
ci: fixed issues for tests of libgcc, ets_timer, newlib
test_pm: support on C2
2022-06-02 14:23:35 +08:00
Cao Sen Miao
6a2d3509dc
spi_flash: Making XMC flash works more stable when brownout detected
2022-06-02 10:38:55 +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
chaijie
e624206ca6
modify voltage param to fit all mode of S3
2022-06-01 21:03:54 +08:00
Michael (XIAO Xufeng)
ab69df3ea7
esp32s3: fixed dangerous power parameters in sleep modes
2022-06-01 21:03:54 +08:00
KonstantinKondrashov
ac4c7d99fe
dport: Move DPORT workaround to G0
2022-05-31 13:44:18 +08:00
Anton Maklakov
3c8a1390a0
Merge branch 'bugfix/esp-system-warnings' into 'master'
...
system: minor fixes of warnings
See merge request espressif/esp-idf!18310
2022-05-30 19:33:01 +08:00
Anton Maklakov
afde2434e8
memprot: fix type casting to avoid suspesious address arithmetic
2022-05-30 14:48:12 +07: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
Anton Maklakov
f57016dab0
esp_hw_support: explicit initialization
2022-05-30 12:43:45 +07:00
jingli
27edaaef91
add wakeup enable for bt
2022-05-27 19:29:38 +08:00
jingli
db102da7c6
update sleep params for esp32c2
2022-05-27 19:29:38 +08:00
jingli
9eec740a16
enable external 32k osc for esp32c2
2022-05-27 19:29:29 +08:00
Song Ruo Jing
cf32e49aeb
Merge branch 'refactor/cleanup_rtc_h' into 'master'
...
clk_tree: Prework2 of introducing clock subsystem control
Closes IDF-4934
See merge request espressif/esp-idf!17861
2022-05-26 09:16:47 +08:00
Sachin Parekh
9a763f4ff2
esp32c2: Enable IRAM/DRAM split using PMP
2022-05-24 21:36:06 +05:30
songruojing
74c99a8a07
rtc_clk: Add alias for the clock tree related enum and macros for backwards compatibility
2022-05-24 22:59:51 +08:00
songruojing
729d70129a
clk_tree: add initial docs for clock tree
2022-05-24 22:59:51 +08:00
songruojing
a5b09cf015
rtc_clk: Clean up some clock related enum and macro in soc/rtc.h, replace with new ones in
...
soc/clk_tree_defs.h
2022-05-24 22:59:41 +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
songruojing
436085de51
rtc_clk: fix potential "division by zero" in rtc_clk_cpu_freq_mhz_to_config (found by coverity scan)
2022-05-23 13:38:41 +08:00
songruojing
87b917c04a
rtc_clk: Remove the ck8m fpu logic when setting rtc slow clock source, ck8m fpu in sleep logic is now completely handled in sleep_modes.c
2022-05-21 13:13:52 +00:00