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
Konstantin Kondrashov
8429ec2553
Merge branch 'feature/adds_check_32k_xtal_stopped' into 'master'
...
esp_hw_support: Adds a msg when 32k xtal was stopped
See merge request espressif/esp-idf!17581
2022-05-19 16:48:20 +08:00
Michael (XIAO Xufeng)
0adb814af3
Merge branch 'bugfix/fix_memory_miss_bug_esp32c3_esp32s3' into 'master'
...
ESP32C3/ESP32S3: Fix cpu crash bug when wakeup from lightsleep for memory data miss
Closes IDF-162 and IDF-4923
See merge request espressif/esp-idf!17823
2022-05-18 12:05:08 +08:00
Michael (XIAO Xufeng)
adcdcbaa0e
Merge branch 'feat/pm_dbias_refactoring' into 'master'
...
pm: refactoring dbias related code
See merge request espressif/esp-idf!17994
2022-05-17 14:42:16 +08:00
chaijie
cc0a5a4edb
solve memory error bug when in lightsleep mode
2022-05-16 11:43:00 +08:00
Michael (XIAO Xufeng)
6f507d527c
rtc: fixed 8MD256 can't be used as RTC slow src on ESP32
...
Sync configuration from other chips
Closes: https://github.com/espressif/esp-idf/issues/8007 , https://github.com/espressif/esp-idf/pull/8089
2022-05-14 22:35:41 +08:00
Michael (XIAO Xufeng)
234628b3ea
pm: putting dbias and pd_cur code into same function
2022-05-14 02:35:11 +08:00
Jing Li
ac0d16cdc8
Merge branch 'bugfix/fix_cannot_lslp_again_after_ulp_wakeup' into 'master'
...
sleep: fix cannot lightsleep again after a wakeup from ULP
Closes IDFGH-4396
See merge request espressif/esp-idf!17970
2022-05-13 22:25:23 +08:00
jingli
abb6bb1181
esp_hw_support/sleep: fix cannot enable sleep reject in some cases
...
When enable sleep reject before this fix, we have two limitations:
1. it must be light sleep
2. RTC GPIO wakeup source must be set
We require light sleep because `esp_deep_sleep_start` function has
been declared with "noreturn" attribute, So developers don't expect
that this function may return (due to an error or a sleep reject).
But the requirement for RTC GPIO wakeup source is not reasonable for
all chips. This requirement exists because ESP32 only supports RTC GPIO
and SDIO sleep reject sources. But later chips support all sleep reject
sources.
This fix brings the following changes:
for ESP32: RTC GPIO and SDIO sleep reject sources can be enabled
when corresponding wakeup source is set.
for later chips: all sleep reject sources can be enabled when
corresponding wakeup source is set.
2022-05-12 19:09:57 +08:00
jingli
dd414b9305
esp_hw_support/sleep: fix cannot lightsleep again after a wakeup from ULP
...
Since ulp wakeup signal are connected to ulp int raw(except esp32), we
need to clear ulp int raw before sleep when ulp wakeup enabled. Otherwise,
if the ulp int raw is already set, chip will not sleep properly.
Closes https://github.com/espressif/esp-idf/issues/6229
2022-05-12 17:57:08 +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
KonstantinKondrashov
c8cd3e3da3
esp_hw_support: Adds a msg when 32k xtal was stopped
2022-05-12 06:28:52 +00:00
morris
334126315f
esp32c2: level up from preview targets
2022-05-12 05:18:57 +00:00
Michael (XIAO Xufeng)
36074b9812
pm: add powerdown for int_8m on ESP32-C2 and ESP32-H2
...
Also move the xtal fpu logic to sleep_modes.c
2022-05-11 11:36:34 +08:00
Michael (XIAO Xufeng)
2905cbbe03
pm: fixed RTC8M domain power issues
...
introduced in e44ead5356
1. The int8M power domain config by default is PD. While LEDC is using
RTC8M as clock source, this power domain will be kept on.
But when 8MD256 is used as RTC clock source, the power domain should
also be kept on.
On ESP32, there was protection for it, but broken by commit
e44ead5356
. Currently the power domain
will be forced on when LEDC is using RTC8M as clock source &&
!int8m_pd_en (user enable ESP_PDP_DOMAIN_RTC8M in lightsleep). Otherwise
the power domain will be powered off, regardless of RTC clock source.
In other words, int8M domain will be forced off (even when 8MD256
used as RTC clock source) if LEDC not using RTC8M as clock source, user
doesn't enable ESP_PDP_DOMAIN_RTC8M, or in deep sleep.
On later chips, there's no such protection, so 8MD256 could't be used as
RTC clock source in sleep modes.
This commit adds protection of 8MD256 clock to other chips. Fixes the
incorrect protection logic overriding on ESP32. Now the power domain
will be determiend by the logic below (order by priority):
1. When RTC clock source uses 8MD256, power up
2. When LEDC uses RTC8M clock source, power up
3. In deepsleep, power down
4. Otherwise determined by user config of ESP_PDP_DOMAIN_RTC8M,
power down by default. (This is preferred to have highest
priority, but it's kept as is because of current code structure.)
2. Before, after the macro `RTC_SLEEP_CONFIG_DEFAULT` decides dbias, the
protection above may force the int8m PU. This may cause the inconsistent
of dbias and the int8m PU status.
This commit lifts the logic of pd int8m/xtal fpu logic to upper layer
(sleep_modes.c).
Related: https://github.com/espressif/esp-idf/issues/8007 , https://github.com/espressif/esp-idf/pull/8089
temp
2022-05-11 11:30:47 +08:00
morris
523c51818c
Merge branch 'feature/c2_soc_hwsupport_code' into 'master'
...
ESP32-C2 (729) RTC update (Clock, PM)
Closes IDF-3833 and IDF-4874
See merge request espressif/esp-idf!17311
2022-05-11 11:23:57 +08:00
zlq
6336f8191e
C2 rtc code
2022-05-09 17:50:54 +08:00
morris
722fde218d
uart: add default source clock for all targets
2022-05-09 11:26:30 +08:00
Marius Vikhammer
5bee313bde
Merge branch 'bugfix/kconfig_checker_osource' into 'master'
...
kconfig: update check_kconfigs.py to handle orsource command
See merge request espressif/esp-idf!18013
2022-05-09 09:48:06 +08:00
morris
e7295c3577
gptimer: added enable/disable functions
2022-05-06 18:18:39 +08:00