Commit Graph

1081 Commits

Author SHA1 Message Date
wuzhenghui
fbc19fad70 memory_utils: Modify esp_ptr_in_diram_iram to be compatible with esp32c6 2022-09-26 20:32:13 +08:00
wuzhenghui
23e37393a7 esp32c6: add esp_hw_support 2022-09-26 20:32:13 +08:00
Michael (XIAO Xufeng)
eb290ecd12 Merge branch 'doc/usj_sw_reset_alive_bbpll_doc' into 'master'
usb_serial_jtag: fixed the docs that we can use usj in sleep modes

See merge request espressif/esp-idf!20096
2022-09-22 15:30:41 +08:00
morris
ff6855c4b1 gdma: migrate ut to pytest 2022-09-22 10:44:57 +08:00
Michael (XIAO Xufeng)
a0bf87ee5d usb_serial_jtag: fixed the docs that we can use usj in sleep modes
Related to: https://github.com/espressif/esp-idf/issues/8507, https://github.com/espressif/esp-idf/issues/8884
2022-09-22 01:36:06 +08:00
jingli
05a2fbe810 esp_hw_support/clk_cali: fix xtal32k error detect 2022-09-21 03:03:25 +00:00
Linda
4723974419 docs: update gpios serving as wakeup source in esp32s2 and esp32s3 2022-09-16 11:23:53 +00:00
Omar Chebib
53c7dd4efc WDT: implement interrupt wdt and task wdt for ESP32-C2
ESP32-C2 has a single group timer, thus it will use it for the interrupt watchdog,
which is more critical than the task watchdog. The latter is implement in
software thanks to the `esp_timer`component.
2022-09-15 14:37:59 +08:00
Pavlo Hamov
726e985b34 adc: esp32s2: fix unit to offset calculation
eFuse offset is screwed up on 4.4 to 5.0 transition

Closes https://github.com/espressif/esp-idf/issues/9705
Closes https://github.com/espressif/esp-idf/pull/9715
2022-09-06 20:35:39 +08:00
wuzhenghui
82ffe7e438 replacing reset by register operations with ROM interfaces to decouple the effects of register name changes 2022-08-31 01:59:36 +00:00
Armando
2d44dc1eed mmu: driver framework, for vaddr maintenance
This commit gives basic mmu driver framework. Now it is able to maintain
mmu virtual address usage on esp32, esp32s2 and esp32s3. Usage to
external virtual address should rely on mmu functions to know which
address range is available, instead of hardcoded.

This commit also improves psram memory that is added to the heap
allocator. Now it's added to the heap, according to the memory
alignment.

Closes https://github.com/espressif/esp-idf/issues/8295
2022-08-26 17:59:06 +08:00
Michael (XIAO Xufeng)
bc0ccd9b6d Merge branch 'bugfix/rtc_periph_ulp_touch' into 'master'
sleep_modes: allow using touch/ULP with RTC_PERIPH domain (including EXT0 wakeup source)

Closes IDF-4528

See merge request espressif/esp-idf!19209
2022-08-25 12:27:29 +08:00
Michael (XIAO Xufeng)
aff90b9853 sleep_modes: allow using touch/ULP with RTC_PERIPH domain (including EXT0 wakeup source) 2022-08-25 12:27:28 +08:00
Mahavir Jain
0d5f3081ac Merge branch 'contrib/github_pr_8224' into 'master'
Reduce error log when calling esp_efuse_mac_get_custom() (GitHub PR)

Closes IDFGH-6580
Closes https://github.com/espressif/esp-idf/pull/8224

See merge request espressif/esp-idf!19705
2022-08-24 14:40:02 +08:00
Marius Vikhammer
7a900bad7f docs: fix documentation wrongly stating ESP_SLEEP_WAKEUP_GPIO is light sleep only
ESP_SLEEP_WAKEUP_GPIO is also a valid deep sleep wakeup cause on targets
with SOC_GPIO_SUPPORT_DEEPSLEEP_WAKEUP

Closes https://github.com/espressif/esp-idf/issues/9567
2022-08-23 16:16:43 +08:00
0xFEEDC0DE64
f16d8a3e54 Reduced error log when calling esp_efuse_mac_get_custom() 2022-08-23 04:35:34 +00:00
Michael (XIAO Xufeng)
0a2e5a7774 Merge branch 'feat/support_esp32c2_uart' into 'master'
uart: update console docs about frequency for ESP32-C2, move frequency of clock sources out of HAL

Closes IDF-5424 and IDF-4332

See merge request espressif/esp-idf!19274
2022-08-22 14:24:26 +08:00
Michael (XIAO Xufeng)
e7dbfd65cb Merge branch 'feature/support_7.2.8_soc/pvt-dig' into 'master'
rtc: auto adjust LDO voltage based on pvt-dig saved in efuse

Closes IDF-4873

See merge request espressif/esp-idf!16365
2022-08-22 11:43:07 +08:00
songruojing
304a8f142d esp32c6: introduce the target
Add esp32c6 target to tools and Kconfig
Create directories and files that are essential for `idf.py --preview set-target esp32c6`
2022-08-19 11:13:02 +08:00
Jing Li
b51d4dfacd Merge branch 'bugfix/fix_clk_cali_logic_for_c2' into 'master'
esp32c2/clk_cali: fix rtc slow clk cali logic

See merge request espressif/esp-idf!19553
2022-08-17 11:11:19 +08:00
Michael (XIAO Xufeng)
746f4b814c uart: move frequency of clock sources out of HAL 2022-08-15 18:55:43 +00:00
laokaiyao
62ab4456a8 touch_sleep: complete the support for touch sleep 2022-08-15 20:04:57 +08:00
zlq
80c821a9aa 1.add ldo parameters in efuse table; 2.set ldo based on pvt-efuse; 3.ldo voltage is changed based on cpu freq 2022-08-15 18:03:55 +08:00
jingli
c70094f64a esp32c2/clk_cali: fix rtc slow clk cali logic 2022-08-15 16:31:54 +08:00
morris
0d881fc9e0 driver: specify the interrupt priority
Closes https://github.com/espressif/esp-idf/issues/9520
2022-08-15 14:46:56 +08:00
Darian Leung
a73dd07d12 esp_hw_support: Fix esp_light_sleep_start() deadlock
esp_light_sleep_start() will stall the other CPU via esp_ipc_isr_stall_other_cpu(). After stalling the other CPU,
will call esp_clk_... API which themselves take locks. If the other stalled CPU is holding those locks, this will
result in a deadlock.

This commit adds a workaround calling esp_clk_private_lock() to take the lock before stalling the other CPU.
2022-08-10 18:52:32 +08:00
Darian Leung
2a6c6c18f7 esp_hw_support: esp_clk should use spinlock instead of mutex
esp_clk used to be protected using _lock_t (i.e., a FreeRTOS Mutex). However, esp_clk API is current called from
from critical sections, thus mutex should not be used (as they can be blocking).

This commit updates esp_clk to use spinlocks for critical sections instead.
2022-08-10 18:52:32 +08:00
Jing Li
c25c254666 Merge branch 'feature/further_support_esp32c2_sleep' into 'master'
esp32c2/sleep: further support sleep for esp32c2 with 26MHz XTAL

Closes IDF-5544

See merge request espressif/esp-idf!19017
2022-08-08 13:26:15 +08:00
Michael (XIAO Xufeng)
bba57249ea Merge branch 'feature/support_7.2.9_soc/pvt_dig' into 'master'
esp32c2: support auto adjust LDO voltage based on pvt-dig

Closes IDF-5731 and IDF-4940

See merge request espressif/esp-idf!19267
2022-08-08 12:55:11 +08:00
jingli
ee3423834e kconfig: refactor xtal freq kconfig to common configuration item 2022-08-05 19:12:29 +08:00
zlq
7d8f10423e 1.add ldo parameters in efuse table; 2.set ldo dbias based on pvt-efuse; 3.add pll cali stop function; 4. add efuse_ocode 2022-08-05 14:24:51 +08:00
Wu Zheng Hui
4c3322ed60 Merge branch 'bugfix/fix_esp32s3_cache_data_memory_wrong_attr' into 'master'
bugfix: esp32s3 DCache data memory is  retention dma inaccessible

Closes IDFCI-1409, IDFCI-1410, IDFCI-1411, IDFCI-1412, and IDFCI-1413

See merge request espressif/esp-idf!19365
2022-08-05 10:42:52 +08:00
Li Shuai
4afc115397 Power Management: fix the issue of sleeping time error beacause external 32kHz xtal does not exist 2022-08-04 14:01:34 +08:00
Ivan Grokhotkov
401c10ecfb build system: re-add -Wno-format as private flag for some components 2022-08-03 16:42:47 +04:00
wuzhenghui
3ef46780ef bugfix: malloc retention buffer with MALLOC_CAP_RETENTION caps 2022-08-03 20:07:43 +08:00
Song Ruo Jing
842efaf753 Merge branch 'bugfix/rtc_fastmem_lpu_c3_h2' into 'master'
sleep: fix wrong register access to set/clear rtc fast mem low power mode on c3 and h2

Closes IDF-5746

See merge request espressif/esp-idf!19361
2022-08-03 19:52:24 +08:00
morris
307d26659e Merge branch 'bugfix/rmt_hw_issue' into 'master'
rmt: only use register to control the IDLE state (hardware issue workaround)

See merge request espressif/esp-idf!19344
2022-08-03 17:01:44 +08:00
songruojing
e8915e14e7 esp_hw_support: fix wrong register access to set/clear rtc fast mem low power mode on c3 and h2 2022-08-03 14:33:13 +08:00
morris
45524408df coverity: fix uninit variable issue in driver
Related CID:
389832, 389838, 389880, 286743, 286752, 395156, 291011, 396001, 396002
2022-08-03 10:46:50 +08:00
morris
031adc01c4 gpio: add test with -O0 2022-08-02 23:07:06 +08:00
Jiang Jiang Jian
b885499c74 Merge branch 'refactor/move_common_adc_part_to_hw_support' into 'master'
esp_adc: move esp_adc out of g1 dependency list

Closes IDF-5637

See merge request espressif/esp-idf!19159
2022-08-01 15:39:45 +08:00
wuzhenghui
7cb9304b65 Clean IRAM and DRAM address space conversion macros 2022-07-29 17:07:39 +08:00
Armando
5e6a16380a esp_adc: move adc common hw related code into esp_hw_support 2022-07-28 03:49:48 +00:00
jingli
7211b0a89a esp_hw_support/sleep: fix cannot pd cpu and rc fast at the same time during light sleep
Since cpu retention dma use rc fast as clk source, so rc_fast_digi
will be enabled when we config to pd cpu. And cpu retention does not
need rc fast keep on during light sleep. So, if we use rc_fast_digi
to determine whether rc fast can be powered down, then cpu and and
rc fast cannot pd at the same time.
2022-07-28 11:10:58 +08:00
morris
5e50ec1d66 systimer: add helper functions to convert between tick and us 2022-07-25 16:08:52 +08:00
Darian
c8ee369a7c Merge branch 'feature/deprecate-old-cpu-api' into 'master'
HAL: Deprecate old CPU/SoC/Interrupt Controller HAL API

Closes IDF-4919 and IDF-5032

See merge request espressif/esp-idf!18987
2022-07-23 00:37:33 +08:00
morris
741b031e83 soc: added SOC_TOUCH_SENSE_SUPPORTED macro 2022-07-22 00:12:36 +00:00
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
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
Marius Vikhammer
c7a827a136 kconfig: update check_kconfigs.py to handle orsource command
check_kconfigs.py would only correctly handle "source", but not "rsource", "osource"
or "orsource".

Fixed any warnings detected after updating the test.
2022-05-06 11:31:24 +08:00
wuzhenghui
d4757a329e add todo 2022-05-05 17:41:12 +08:00
wuzhenghui
ba76b10d3f esp32c2: fix ut case header imssing 2022-05-05 17:41:11 +08:00
morris
595df1d3fa Merge branch 'refactor/move_rtc_ctrl_to_esp_hw_support' into 'master'
hw_support: move rtc_ctrl from driver to hw_support

See merge request espressif/esp-idf!17963
2022-05-05 11:57:31 +08:00
Jiang Jiang Jian
e30e664519 Merge branch 'bugfix/fix_esp32c3_brownout_under_deepsleep' into 'master'
rtc: fix c3 brownout bug after deepsleep

Closes IDF-4875

See merge request espressif/esp-idf!16654
2022-05-01 17:28:54 +08:00
morris
9ab4abfb46 hw_support: move rtc_ctrl from driver to hw_support 2022-04-29 14:28:09 +08:00
Michael (XIAO Xufeng)
6bc8dd0f92 Merge branch 'feature/support_esp32s3_bbpll_fix' into 'master'
rtc: update esp32s3 bbpll config

Closes IDF-4872

See merge request espressif/esp-idf!14471
2022-04-27 22:52:21 +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
Ivan Grokhotkov
3175e472ba Merge branch 'bugfix/freertos_esp_timer_deps' into 'master'
esp_timer: remove from freertos public requirements

See merge request espressif/esp-idf!17818
2022-04-27 04:13:25 +08:00
Ivan Grokhotkov
708e99497b
global: add dependency on esp_timer component and include esp_timer.h
Some components were including esp_timer.h without declaring a
dependency on esp_timer component. This used to work due to a
transitive public dependency on esp_timer from freertos component.
Add explicit dependencies where needed.
Also some source files were using esp_timer functions without
including the header file. This used to work because esp_timer.h was
included from freertos port header file. This commit adds esp_timer.h
includes where needed.
2022-04-25 18:39:23 +02:00
sly
117c30e835 fix S3 bbpll calibrate fail bug in high temperature 2022-04-25 16:41:04 +08:00
jingli
f3ea7f8838 fix _rtc_slow_length being incorrectly optimized by compiler 2022-04-24 23:13:48 +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
jingli
252a4eceb4 fix rtc mem load err(since the voltage of rtc regulator is too low) 2022-04-21 23:38:16 +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 (Dou Yiwen)
5bb59b00e7 Merge branch 'feature/support_bss_on_psram' into 'master'
psram: support .bss on psram on esp32s3

Closes IDF-4814, IDF-4396, IDFGH-7148, and IDFGH-7153

See merge request espressif/esp-idf!17557
2022-04-20 11:16:28 +08:00
Armando
b5de3ec953 esp_common: rename EXT_RAM_ATTR to EXT_RAM_BSS_ATTR to make it clearer
EXT_RAM_ATTR is deprecated. To put .bss on PSRAM, use this new macro EXT_RAM_BSS_ATTR
2022-04-19 19:48:00 +08:00
Armando
f8249550f8 psram: support .bss on psram on esp32s3 2022-04-19 19:48:00 +08:00
morris
373d9b3dbc Merge branch 'feature/default_clk_for_gptimer' into 'master'
clk_tree: added default clock source for peripherals (GPTimer, RMT, LCD, TempSensor)

Closes IDF-4894

See merge request espressif/esp-idf!17759
2022-04-19 18:02:40 +08:00
Konstantin Kondrashov
04bcc17dcc Merge branch 'bugfix/light_sleep_when_rtc_is_used_for_gettimeofday' into 'master'
esp_hw_support: Fix time spent in light sleep when RTC is used for gettimeofday

See merge request espressif/esp-idf!17740
2022-04-18 13:23:54 +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
songruojing
534346f4bb ledc: Provide support for esp32c2 and esp32h2
LEDC examples, unit test, and programming guide are all updated.
2022-04-14 08:15:14 +00:00
KonstantinKondrashov
1e0eef52d3 esp_hw_support: Fix time spent in light sleep when RTC is used for gettimeofday
The esp_timer was not advanced correctly.
2022-04-14 15:53:48 +08:00
morris
f32a89826c clk_tree: added default clock source for peripheral 2022-04-14 15:44:56 +08:00
morris
cb5507f11c Merge branch 'feature/clk_tree_defs' into 'master'
clk_tree: prework of introducing clock subsystem control

Closes IDF-4892

See merge request espressif/esp-idf!17631
2022-04-13 10:36:56 +08:00
morris
bd3ded195a Merge branch 'feature/proper_way_register_testapp_component' into 'master'
Several driver improvements according to coverify scan report

See merge request espressif/esp-idf!17708
2022-04-11 21:04:14 +08:00
songruo
cd83f4f307 rtc_clk: fix esp32 unreachable code in rtc_clk_xtal_freq_estimate 2022-04-11 12:13:00 +08:00
songruo
60bb5c913d clk_tree: prework of introducing clk subsystem control
1. Clean up clk usage in IDF, replace rtc_clk_xtal/apb_freq_get with
   upper level API esp_clk_xtal/apb_freq
2. Fix small errors and wrong comments related to clock
3. Add clk_tree_defs.h to provide an unified clock id for each chip
   Modify the NGed drivers to adopt new clock ids
2022-04-11 12:09:06 +08: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
morris
bb2a57dc71 intr_alloc: fix mix boolean and bit operation 2022-04-08 11:05:43 +08:00
Michael (XIAO Xufeng)
f3adbf9953 esp_phy: use spinlock to avoid regi2c access conflicts 2022-04-01 10:49:29 +08:00
Michael (XIAO Xufeng)
049ebf9853 regi2c: use safe version of spinlock, instead of ISR ver 2022-04-01 10:48:46 +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
Ivan Grokhotkov
c70a69b1dd Merge branch 'bugfix/remove_ref_non_ex_options' into 'master'
config: removed references to non-existing kconfig options

See merge request espressif/esp-idf!17495
2022-03-25 18:02:54 +08:00
Michael (XIAO Xufeng)
75e80b19f6 sleep: fixed the issue error log not printed 2022-03-24 11:39:46 +08:00
morris
08a4cff6d5 Merge branch 'bugfix/disable_touch_sleep_s3' into 'master'
touch_sensor: forbid from using touch sensor with sleep on ESP32-S3

Closes IDF-4810

See merge request espressif/esp-idf!17562
2022-03-24 10:22:31 +08:00
Michael (XIAO Xufeng)
a84faa3cef touch_sensor: forbid from using touch sensor with sleep on ESP32-S3
This is not supported yet.
2022-03-24 03:00:47 +08:00
Anton Maklakov
68e5d9d585 Remove IRAM_ATTR from any function declarations
IRAM_ATTR expands to a unique section attribute. Applying it to both
declaration and definition results in a section conflict.
2022-03-22 09:58:50 +00:00
Mahavir Jain
f7fc3e2d88 esp_hw_support: cleanup crypto lock APIs for ESP32-C2 2022-03-22 02:06:30 +00:00
Marius Vikhammer
0fbae992dd config: removed references to non-existing kconfig options 2022-03-15 18:32:22 +08:00
Michael (XIAO Xufeng)
aab535fe4a Merge branch 'bugfix/regi2c_ctrl_spinlock_s2' into 'master'
hw_support: fixed regi2c not protected by lock on ESP32S2

See merge request espressif/esp-idf!16653
2022-03-13 02:47:53 +08:00
Michael (XIAO Xufeng)
d5bdf95580 hw_support: fixed regi2c not protected by lock on ESP32S2 2022-03-13 00:24:08 +08:00
Armando (Dou Yiwen)
6ed3ffbbf1 Merge branch 'refactor/remove_redundant_rom_cache_dependency' into 'master'
cache: remove redundant rom cache dependency in bootloader

Closes IDF-4523

See merge request espressif/esp-idf!17077
2022-03-12 10:11:39 +08:00
Armando
c1cbd7bbf6 cache/mmu: implememnt cache and mmu hal APIs in bootloader 2022-03-11 22:43:11 +08:00
laokaiyao
93b162c767 touch: fix the touch sensor wait cycle on s3 2022-03-08 09:11:14 +00:00
Zim Kalinowski
0440aca4e3 Merge branch 'feature/reevaluate_headers_include_dirs' into 'master'
esp_hw_support/esp_system: Re-evaluate header inclusions and include directories

See merge request espressif/esp-idf!16763
2022-03-08 01:32:24 +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
Armando
f41c9d154a regi2c: fix analog calibration register num macro 2022-03-07 11:48:57 +08:00
Armando (Dou Yiwen)
48daa38a63 Merge branch 'bugfix/fix_adc_calibration_light_sleep_issue' into 'master'
adc: fix calibration error when waking up from light sleep

Closes IDF-4406, IDF-4605, IDFGH-6252, and IDFGH-6651

See merge request espressif/esp-idf!16259
2022-03-04 23:05:09 +08:00
morris
a0283234cd Merge branch 'feature/support_esp32h2_gpio' into 'master'
esp32h2: support GPIO peripheral, IO_MUX, GPIO matrix

Closes IDF-4232 and IDF-3439

See merge request espressif/esp-idf!16609
2022-03-04 18:22:28 +08:00
Armando
494b996ecc sleep: restore analog calibration registers after waking up from light sleep
Closes https://github.com/espressif/esp-idf/issues/8287
Closes https://github.com/espressif/esp-idf/issues/7921
2022-03-04 12:10:20 +08:00
songruojing
c8c137f2b7 esp32h2: support GPIO peripheral, IO_MUX, GPIO matrix.
Generic GPIO example is supported as well.
2022-03-04 11:25:05 +08:00
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
Marius Vikhammer
29db173536 Merge branch 'feature/move_target_kconfig' into 'master'
system: move kconfig options out of target component

See merge request espressif/esp-idf!16893
2022-03-03 09:39:54 +08:00
Omar Chebib
2571aaf3c9 G0: target component (components/esp32*) doesn't depend on driver anymore 2022-03-02 04:21:00 +00:00
Marius Vikhammer
bb88338118 system: move kconfig options out of target component
Moved the following kconfig options out of the target component:
 * ESP32_X_BROWNOUT_* -> esp_system
 * ESP32_X_DEBUG_OCDAWARE -> esp_system
 * APP_NO_BLOBS -> build type (main kconfig)
2022-03-02 01:22:26 +00:00
KonstantinKondrashov
9605f3eb1a soc: Adds efuse hal
Replaced eFuse ROM funcs with hal layer
2022-02-24 22:20:09 +08:00
Marius Vikhammer
edb76f14d6 esp_timer: remove legacy ESP32 FRC timer implementation. 2022-02-10 15:17:49 +08:00
Darian Leung
57fd78f5ba freertos: Remove legacy data types
This commit removes the usage of all legacy FreeRTOS data types that
are exposed via configENABLE_BACKWARD_COMPATIBILITY. Legacy types can
still be used by enabling CONFIG_FREERTOS_ENABLE_BACKWARD_COMPATIBILITY.
2022-02-09 23:05:45 +08:00
morris
ef00bd59dc esp_rom: extract int matrix route and cpu ticks getter 2022-02-09 13:52:20 +08:00
morris
9bc2dd0b53 Merge branch 'fix/update_documentation_for_ds_apis' into 'master'
Digital Signature (ds):) Update the documentation for ds APIs

Closes IDFGH-6600

See merge request espressif/esp-idf!16997
2022-02-08 10:23:34 +00:00
Marius Vikhammer
0ffeaf9350 Merge branch 'feature/confgen_rename_many_to_one' into 'master'
kconfig: update confgen to handle sdkconfig.rename with target specific markup

Closes IDF-4544

See merge request espressif/esp-idf!16949
2022-02-08 02:38:22 +00: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
Mahavir Jain
db58d00d64 Merge branch 'bugfix/ds_gen_test_cases_fix' into 'master'
ds: update gen_digital_signature_tests.py to handle different max key sizes

Closes IDFGH-6601

See merge request espressif/esp-idf!16915
2022-02-01 04:25:32 +00:00
Marius Vikhammer
4a3f50faa0 ds: update gen_digital_signature_tests.py to handle different max key sizes
Max key size is now decided by target parameter, and related parameters are
no longer hard coded.

Closes https://github.com/espressif/esp-idf/issues/8243
2022-01-31 12:22:10 +08:00
Marius Vikhammer
23c55946a6 kconfig: also parse target specific sdkconfig.rename.TARGET files
Adds functionality for target specific sdkconfig.rename files which can be
used when certain renames are only needed for a specific target.
2022-01-31 11:36:08 +08:00
Sudeep Mohanty
2fc9bd61bf ulp: refactor ulp component
This commit refactors the ulp component.
Files are now divided based on type of ulp, viz., fsm or risc-v.
Files common to both are maintained in the ulp_common folder.

This commit also adds menuconfig options for ULP within the ulp
component instead of presenting target specific configuations for ulp.
2022-01-27 11:54:42 +05:30
laokaiyao
cf049e15ed esp8684: rename target to esp32c2 2022-01-19 11:08:57 +08:00
Sudeep Mohanty
d4db7aeabf Merge branch 'feature/ulp_riscv_support_for_esp32s3' into 'master'
ulp: Added ULP RISC-V support for esp32s3

Closes IDF-1833

See merge request espressif/esp-idf!16549
2022-01-18 09:04:14 +00:00
Sudeep Mohanty
2ed15d8b1e ulp: Added ULP RISC-V support for esp32s3
This commit adds support for ULP RISC-V for esp32s3.

Signed-off-by: Sudeep Mohanty <sudeep.mohanty@espressif.com>
2022-01-18 10:58:00 +05:30
morris
e51474ef70 build: fix unused tag string
Closes https://github.com/espressif/esp-idf/issues/8250
2022-01-18 10:06:08 +08:00
Armando
7240ad2b3a psram: refactor spiram.c on esp32s2 2022-01-13 11:07:57 +08:00
Armando
9cf4126656 psram: add a ut for putting flash.text and rodata in psram 2022-01-13 11:07:57 +08:00
laokaiyao
cd10bb7fa2 esp32h2: fix apb freq bug 2022-01-10 12:43:31 +08:00
morris
705788a13f unit_tests: replace legacy timer group with gptimer 2022-01-07 14:59:09 +08:00
morris
869bed1bb5 soc: don't expose unstable soc header files in public api 2022-01-06 23:10:22 +08:00
Michael (XIAO Xufeng)
b84abb1b17 Merge branch 'bugfix/rtcio_increase_size' into 'master'
sleep: fixed ext1 cannot wakeup via RTCIO >= 18 issue

Closes IDF-4526 and IDF-4505

See merge request espressif/esp-idf!16617
2022-01-06 03:03:58 +00:00
zlq
ef88625583 fix c3 brownout bug after deepsleep 2022-01-05 17:06:18 +08:00
morris
113cbb88a6 hw_support: remove deprecated header files 2022-01-04 14:16:17 +08:00
Michael (XIAO Xufeng)
9382b24d1d sleep: fixed ext1 cannot wakeup via RTCIO >= 18 issue 2021-12-31 08:09:43 +00: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
laokaiyao
af4e448928 i2s: impove the clock division calculation
Reported from: https://esp32.com/viewtopic.php?f=25&t=24542&p=87595#p87595
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
Mahavir Jain
355e8bba76 Merge branch 'feature/s3_rng' into 'master'
Bootloader add rng sampling

Closes IDF-1878 and IDF-4417

See merge request espressif/esp-idf!15737
2021-12-28 04:24:12 +00:00
Jakob Hasse
64a355eba8 feat (bootloader): added rng sampling
Set maximum RNG query frequency to save value known from tests
2021-12-27 13:59:20 +08:00
Ivan Grokhotkov
6a37b41df8 memprot: fix debug mode check
Regression from dd938eb9, the fault injection check was always failing
in debug mode.
2021-12-23 16:39:12 +01:00
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
Cao Sen Miao
e3d14858c7 rtc_clk: change clock source from xtal to pll on real board(ESP8684) 2021-12-15 12:21:11 +08:00
Michael (XIAO Xufeng)
b23ed0ee81 Merge branch 'feature/update_adc_cali_due_to_efuse_version_change' into 'master'
adc: update s3 adc calibration efuse version

Closes IDF-4069

See merge request espressif/esp-idf!15843
2021-12-14 07:27:35 +00:00
Armando
9a6f894046 psram: add octal psram ECC feature 2021-12-13 20:24:52 +08:00
Armando
fee1d38467 psram: add a ut to test if it's heap allocable 2021-12-13 20:24:52 +08:00
Armando
021e8817cf psram: make psram wrap mode unavailable 2021-12-13 20:19:32 +08:00
Armando
bfb2a264c6 adc: update adc calibration efuse version
ADC calibration scheme and algorithm are not changed. Only the eFuse bit BLOCK1_VERSION is changed. This MR updated the logic to recognize the adc efuse version
2021-12-13 13:00:13 +08:00
Cao Sen Miao
463cf2cf1c ESP8684: Clean up ESP8684 code, remove useless code, update headers 2021-12-09 18:36:39 +08:00
Ivan Grokhotkov
c358aceb1b Merge branch 'feature/soc_caps_build_sys' into 'master'
build-system: parse soc caps and integrate into kconfig

Closes IDF-2223

See merge request espressif/esp-idf!15305
2021-12-09 06:54:08 +00:00
Simon
6f9b89f619 Merge branch 'bugfix/usb_no_rom_log' into 'master'
USB_SERIAL_JTAG: Fix the issue that there is no rom/bootloader log when restarting

Closes IDF-4173

See merge request espressif/esp-idf!16057
2021-12-07 08:16:10 +00:00
Marius Vikhammer
c6d60615c6 build-system: include soc_caps defines into kconfig
Adds gen_soc_caps_kconfig.py which parses the soc caps (soc_caps.h) into
a format that can be included in kconfig.
2021-12-06 12:37:07 +08:00
Cao Sen Miao
17ea9d7faf USB_SERIAL_JTAG: Fix the issue that there is no rom log when restarting 2021-11-29 20:26:09 +08:00
jingli
0ea1825f64 reduce bootup time when using usb-serial-jtag 2021-11-29 17:21:11 +08:00
Cao Sen Miao
7f0a746e6a move brownout trax cache_int_err to private folder 2021-11-26 18:27:53 +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
wuzhenghui
388615add0 update esp32h2beta2 chip_id to 14 2021-11-24 12:30:43 +08:00
wuzhenghui
968c42d88c 822 FPGA rnv init 2021-11-24 12:30:17 +08:00
Darian
150818e4f5 Merge branch 'feature/freertos_try_enter_critical' into 'master'
freertos: Add portTRY_ENTER_CRITICAL() and clean up old port mux API

Closes IDF-2047 and IDFGH-3318

See merge request espressif/esp-idf!15568
2021-11-22 10:34:09 +00: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
Omar Chebib
c676b83d2f Sleep: fix wrong debug level
Fix usage of ESP_LOGD in sleep_modes.c which triggers a panic when
used in debug log level.

* Closes https://github.com/espressif/esp-idf/issues/7942
2021-11-22 10:52:19 +08:00
morris
2e008825a9 Merge branch 'feat/rm_makefiles' into 'master'
Build & config: Remove leftover files from the unsupported make build system

Closes IDF-4273 and IDF-2827

See merge request espressif/esp-idf!15829
2021-11-16 03:44:41 +00:00
morris
207891ef6c clk: fix esp32h2 print wrong CPU frequency 2021-11-15 17:40:51 +08:00
Li Shuai
5b766e63c0 Merge branch 'bugfix/wifi_bt_mac_bb_pd_light_sleep' into 'master'
fixes some sleep related issues

Closes AUD-3278

See merge request espressif/esp-idf!15844
2021-11-15 05:05:47 +00: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
Li Shuai
c99cb930c3 sleep: deep sleep does not need cpu and wifi/bt mac retention 2021-11-12 17:46:56 +08:00
Cao Sen Miao
ce1ee3d8ae psram: add ESP32-D0WD-R2-V3 support 2021-11-12 13:52:24 +08:00
Roland Dobai
766aa57084 Build & config: Remove leftover files from the unsupported "make" build system 2021-11-11 15:32:36 +01: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
Omar Chebib
9d5923a13e IPC: Move ipc sources to esp_system
IPC shall be put back into esp_system as it is an 'OS additions'.
2021-11-11 10:30:01 +08:00
morris
16677b0d3c global: make periph enable/disable APIs private
peripheral enable/disable usually should be managed by driver itself,
so make it as espressif private APIs, not recommended for user to use it
in application code.
However, if user want to re-write the driver or ports to other platform,
this is still possible by including the header in this way:
"esp_private/peripheral_ctrl.h"
2021-11-08 10:37:47 +08:00
Cao Sen Miao
3934e24d22 ESP8684: add spi_flash, efuse, hw_support support 2021-11-06 17:33:44 +08:00
zhangwenxu
55fd8cb685 efuse: fix esp32h2 get ext_mac 2021-10-28 23:53:38 +08:00
morris
e2275b1f63 gptimer: clean up hal and ll for driver-ng 2021-10-20 18:40:08 +08:00
Michael (XIAO Xufeng)
390f71cbcb Merge branch 'bugfix/add_support_for_mspi_to_work_with_cpu_clock_switch' into 'master'
mspi: make cpu clock source switch safe

Closes IDFCI-902

See merge request espressif/esp-idf!15557
2021-10-20 08:21:53 +00:00
Li Shuai
a939f7d34b light sleep: add software workaround for esp32s3 gpio reset issue 2021-10-20 11:36:22 +08:00
Li Shuai
62a4587e87 deep sleep: modified to support dual-core mode 2021-10-20 11:36:22 +08:00
Li Shuai
881e1b0fd5 deep sleep: add deep sleep support for esp32s3 2021-10-20 11:36:20 +08:00
Armando
c331c85318 mspi: make cpu clock source switch safe
For some of the MSPI high frequency setting (e.g. 80M DDR mode Flash or PSRAM), timing tuning is required.
Certain delays will be added to the MSPI RX direction. When system clock switches down, the delays should be
cleared. When system clock switches up, the delays should be restored.
2021-10-19 21:47:27 +08:00
wuzhenghui
5000aa877f fix rtc_clk_cal: Wait for timeout in a loop instead of just judge once 2021-10-19 12:07:34 +08:00
wuzhenghui
ab9df9945f fix stuck in rtc_clk_cal 2021-10-14 16:25:54 +08:00
Li Shuai
73829221f5 esp_hw_support: force power down wifi and bt power domain when rtc module init 2021-10-14 10:51:10 +08:00
Kevin (Lao Kaiyao)
a9faafee3c Merge branch 'feature/touch_sensor_driver_support_for_esp32s3' into 'master'
driver(touch): support touch sensor for esp32s3 platform

Closes IDF-1784 and IDF-3302

See merge request espressif/esp-idf!14102
2021-10-12 05:50:58 +00:00
Armando
16a91399f1 psram: put opiram_psram and spiram_psram in internal ram
External memory is accessed via SPI0. When modifying the SPI0 registers,
should put the code in internal RAM. Otherwise when there is an ongoing
SPI0 transaction, CPU changes the SPI0 registers. This is dangerous.
Besides, modifying SPI0 registers may lead external memory to an
unstable state. Therefore putting these code in internal RAM is
necessary.
2021-10-08 17:39:41 +08:00
Armando
7ff9332243 rtc: fix mspi timing issue when self-calibrate ocode
When doing OCode self-calibration in rtc_init.c, it will change the
system clock from PLL to XTAL, which is in a lower frequency, and MSPI
timing tuning is not needed. Therefore we should modify the timing
configurations accordingly, and set it back after the calibration.

This is a temporary fix
2021-10-08 15:59:57 +08:00
Armando
4cafdbd83b mspi: fix psram cs timing register setting not in iram bug 2021-10-08 15:59:57 +08:00
Armando
2655a506c9 mspi: support auto detect octal flash vendor 2021-10-08 15:59:57 +08:00
fuzhibo
057b9d61b5 driver(touch): support touch sensor for esp32s3 platform 2021-10-08 10:39:46 +08:00
Martin Vychodil
5344de34c3 System/Memprot: fixed voltage glitching detection logic
When the application is being debugged it should check the call result (esp_cpu_in_ocd_debug_mode())
is not given volt.glitch attack - so the result is triple-checked by ESP_FAULT_ASSERT macro. In case
the check fails, the system is reset immediately

IDF-4014
2021-10-04 09:21:07 +02: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
Jiang Jiang Jian
a015123a1d Merge branch 'feature/rename_apbctrl_to_syscon' into 'master'
rename apbctrl to syscon

See merge request espressif/esp-idf!14524
2021-09-16 12:58:07 +00:00
Wu Zheng Hui
1080e4f6a2 rename APB_CTRL ro SYS_CON
save
2021-09-16 20:57:57 +08:00
Armando (Dou Yiwen)
b9ea273e78 Merge branch 'feature/suppport_self_icode_calibration_on_s3' into 'master'
adc: support self calibration icode on s3

Closes IDF-3913

See merge request espressif/esp-idf!15195
2021-09-16 11:14:58 +00:00
Armando
ddd0235783 adc: support adc self-calibration on esp32s3 2021-09-16 15:17:29 +08:00
Li Shuai
b3e27403f3 esp_hw_support: keep external 40 MHz xtal related analog circuit power on during sleep 2021-09-16 14:46:21 +08:00
Li Shuai
58292a7d22 Power Management: add XTAL power domain to control whether external 40MHz xtal is powered down during sleep 2021-09-16 14:43:43 +08:00
Li Shuai
f5b39a7cde esp_hw_support: No voltage drop during light sleep to ensure stable output clock of rtc8m oscillator 2021-09-16 14:40:46 +08: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
Li Shuai
c5b481c6da light sleep: fix Flash leakage when its CS pin has no hardware pullup 2021-09-15 20:34:18 +08:00
Li Shuai
af4f2075ac light sleep: fix SPIRAM leakage when its CS pin has no hardware pullup 2021-09-15 20:34:18 +08:00
Armando
ea10dacf68 mspi: add octal psram get_cs_io function 2021-09-15 20:34:18 +08:00
chenjianqiang
9b53e18c44 add flash and PSRAM CS IO acquire function 2021-09-15 20:34:17 +08:00
Anton Maklakov
c94b913ced Merge branch 'bugfix/esp32s3_chip_id' into 'master'
esp_hw_support: update esp32s3 chip ID to the MP version

See merge request espressif/esp-idf!15183
2021-09-14 09:09:38 +00:00
Armando
c45c6f52f1 adc: support adc efuse-based calibration on esp32s3 2021-09-14 11:42:50 +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
baohongde
006a10b050 components/doc: Update doc about high-level interrupt
some bugfix.
2021-09-09 20:40:09 +08:00
Sachin Parekh
0e6b03f343 esp32s2/hmac: Release HMAC lock in downstream mode incase of failure 2021-09-06 11:21:39 +05:30
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
Marius Vikhammer
bdf3a8ff29 Merge branch 'feature/xtwdt' into 'master'
WDT: Add support for XTAL32K Watchdog timer

Closes IDF-2575

See merge request espressif/esp-idf!15000
2021-09-02 02:44:47 +00:00
Marius Vikhammer
4869b3cd4a WDT: Add support for XTAL32K Watchdog timer 2021-09-02 09:09:00 +08:00
Armando (Dou Yiwen)
5f38b766a8 Merge branch 'feature/support_120mhz_quad_psram_quad_flash' into 'master'
mspi: support 120MHz clock freq on QSPI flash/psram on ESP32-S3

Closes IDF-3711

See merge request espressif/esp-idf!14849
2021-09-01 02:46:05 +00:00
Armando
a3dc625da6 mspi: support 120MHz Quad Flash and PSRAM on ESP32S3 2021-08-31 16:06:44 +08:00
Marius Vikhammer
2e0cab6f94 himem: reverse error check logic in himem 2021-08-31 08:46:27 +08:00
SalimTerryLi
55a5c444b5
rtc_io, esp_himem: replace XXX_CHECK with ESP_RETURN_ON_FALSE 2021-08-30 11:18:34 +08:00
Li Shuai
ccf1a9a1fc light sleep: add i/d-cache tagmem retention support for esp32s3 2021-08-27 11:11:09 +08:00
Li Shuai
03746de96f light sleep: add cpu power down support for esp32s3 2021-08-27 11:11:06 +08:00
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
Shu Chen
f8f9e545e8 Merge branch 'feature/support_esp32h2_hw_support' into 'master'
Feature/support esp32h2 hw support

Closes IDF-3378 and IDF-3396

See merge request espressif/esp-idf!14545
2021-08-26 06:00:27 +00:00
sly
11dfd802e0 esp32h2: add rtc clock support 2021-08-26 11:25:39 +08:00
morris
a861575d05 Merge branch 'bugfix/fix_esp32c3_auto_adjust_volt' into 'master'
system: fix esp32c3 auto adjust voltage bug

See merge request espressif/esp-idf!14725
2021-08-26 02:53:22 +00:00
sly
b342b49823 fix esp32c3 auto adjust voltage bug 2021-08-25 17:08:26 +08:00
Wu Zheng Hui
3128a2544b Adjust the variable name &
Add mapping support for different sizes of spi ram
2021-08-25 16:06:28 +08:00
wuzhenghui
6ab495b4dc esp32h2: chip env support
brownout init fixed
2021-08-25 11:02:47 +08: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
Marius Vikhammer
53975c444c Merge branch 'update_copyright_notice_esp_hw_support_5' into 'master'
esp_hw_support: update copyright notice 5

See merge request espressif/esp-idf!14729
2021-08-13 08:40:47 +00:00
Marius Vikhammer
465830312b Merge branch 'update_copyright_notice_esp_hw_support_4' into 'master'
esp_hw_support: update copyright notice 4

See merge request espressif/esp-idf!14728
2021-08-13 08:40:15 +00:00
Jakob Hasse
1c3be690ed [esp_hw_support]: HMAC upstream support for S3 2021-08-13 12:01:06 +08:00
Li Shuai
de28280fd3 Merge branch 'bugfix/sleep_rtc_bus_isolate_issue' into 'master'
fix rtc register read error and add workaround for rtc bus isolate issue

Closes WIFI-3896

See merge request espressif/esp-idf!14721
2021-08-11 02:13:40 +00:00
Jan Brudný
5195b6a237 esp_hw_support: update copyright notice 5 2021-08-10 13:32:08 +02:00
Jan Brudný
f51e20d814 esp_hw_support: update copyright notice 4 2021-08-10 13:31:53 +02:00
Jan Brudný
7f50818a99 esp_hw_support: update copyright notice 3 2021-08-10 13:30:57 +02:00
Li Shuai
a82f33c9b5 fix rtc register read error and add workaround for rtc bus isolate issue 2021-08-10 12:01:29 +08:00
Roland Dobai
03b361c5a6 Merge branch 'update_copyright_notice_esp_hw_support_2' into 'master'
esp_hw_support: update copyright notice 2

See merge request espressif/esp-idf!14678
2021-08-09 07:50:26 +00:00
Roland Dobai
7384149780 Merge branch 'update_copyright_notice_esp32s2_esp32s3' into 'master'
esp32s2, esp32s3: update copyright notice

See merge request espressif/esp-idf!13831
2021-08-06 10:36:07 +00:00
Jan Brudný
83bd078eb4 esp_hw_support: update copyright notice 2021-08-05 17:38:43 +02:00
Jan Brudný
db41f2efdd esp_hw_support: update copyright notice 2021-08-05 16:30:10 +02:00
Jan Brudný
7fa88a49d4 esp32s2: update copyright notice in signature test 2021-08-05 15:01:26 +02:00
Jan Brudný
562ce4d009 esp32s2, esp32s3: update copyright notice 2021-08-05 15:01:26 +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
Armando (Dou Yiwen)
03fb3973a2 Merge branch 'feature/support_quad_flash_octal_psram_on_esp32s3' into 'master'
mspi: support up-to-80MHz quad flash & up-to-80MHz octal psram on esp32s3

Closes IDF-3603

See merge request espressif/esp-idf!14346
2021-08-04 03:57:16 +00:00
Armando
0f91a01a46 mspi: support up-to-80MHz quad flash & up-to-80MHz octal psram on esp32s3 2021-08-03 16:54:00 +08: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
Armando (Dou Yiwen)
0dad76329f Merge branch 'feature/support_noinit_section_in_psram_on_esp32' into 'master'
memory: support noinit section in psram on esp32

Closes IDFGH-2621

See merge request espressif/esp-idf!14088
2021-07-31 09:58:59 +00:00
morris
21067a0455 spiram: add getter function to check psram initialization state 2021-07-30 11:23:26 +08:00
Armando
ad8e1a395c memory: port SPIRAM noinit segment support to master 2021-07-29 10:28:39 +08:00
Devan Lai
b85011c15f esp32: Add support for noinit variables in SPIRAM
Add Kconfig option SPIRAM_ALLOW_NOINIT_EXTERNAL_MEMORY
When enabled, a new linker script rule (from esp32.extram.noinit.ld)
places any variables in the .ext_ram.noinit section in SPIRAM.

This section is exempted from the startup SPIRAM memory test and is
not zero-initialized or added to the malloc pool, making it usable
for noinit variables that persist across reset.

The EXT_RAM_NOINIT_ATTR macro places variables in this section.
2021-07-29 10:28:38 +08:00
Jiang Jiang Jian
97507ebe49 Merge branch 'feature/support_esp32s3_lightsleep' into 'master'
support esp32s3 normal lightsleep

See merge request espressif/esp-idf!14369
2021-07-28 15:09:37 +00:00
Li Shuai
d9aba74c0d light sleep: certain peripherals are powered up in sleep 2021-07-28 15:41:52 +08:00
Li Shuai
5a3d2b1874 light sleep: modify some sleep params for esp32s3 2021-07-28 15:41:47 +08:00
Alex Henrie
f88a2f10c2 Fix memory leak on error path in esp_ds_start_sign 2021-07-23 17:48:45 +05:30
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
Jiang Jiang Jian
af9cb85e00 Merge branch 'feature/support_esp32s3_rtc_hw_support' into 'master'
esp_hw_support: add rtc module support for esp32s3

See merge request espressif/esp-idf!14368
2021-07-20 03:23:10 +00: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
sly
d6762a9fb7 esp_hw_support: add rtc module support for esp32s3 2021-07-19 11:17:48 +08:00
morris
2058e89448 Merge branch 'feature/fpga_bootloader' into 'master'
Boot ESP32 & ESP32-S2 apps on FPGA

See merge request espressif/esp-idf!8270
2021-07-18 08:06:38 +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
356d7b6da3 esp_hw_support: Clean up CMakeLists file 2021-07-16 20:14:28 +08:00
Angus Gratton
9d6366f290 esp_hw_support: Move rtc.h header from target components 2021-07-16 20:14:28 +08:00
Angus Gratton
f9d958a65d ut configs: Replace target component with esp_hw_support
No tests remaining in the target components.

Some further consolidations can be made here later, to combine target-specific
configs that don't need to be target-specific any more.
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
Angus Gratton
867f13c6b7 tests gen_digital_signature_tests: Fix mypy issues 2021-07-16 20:14:27 +08:00
Renz Bagaporo
b06dba7823 esp32: move app linker scripts 2021-07-16 20:14:27 +08:00
Renz Bagaporo
fddc0b6799 esp32: move remaining tests 2021-07-16 20:14:27 +08:00
Renz Bagaporo
7c22cccb9c esp32: cleanup build script 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
morris
d31b1f79e6 async_mcp: apply general esp_check macros 2021-07-16 14:47:09 +08:00
Omar Chebib
9dd02354d2 Merge branch 'feature/riscv_panic_backtrace' into 'master'
espsystem: add support for RISC-V panic backtrace

Closes IDF-2064

See merge request espressif/esp-idf!12070
2021-07-16 04:13:44 +00:00
Angus Gratton
1a626ef6ca esp32: App can boot on FPGA image
Includes fix for detecting ESP32 ECO3 on FPGA
2021-07-16 10:50:06 +10:00
Angus Gratton
bbbbd5cf0c esp32s2: FPGA can boot to Hello World 2021-07-16 10:50:06 +10:00
Angus Gratton
8cc8c60b45 soc esp32s2: Use constant for XTAL value
ESP32-S2 only supports a 40MHz crystal.
2021-07-16 10:50:06 +10:00
Angus Gratton
192b5925da bootloader: Can boot to IDF scheduler start on internal-use FPGA
On ESP32 & ESP32-S2. Patch doesn't include changes to make the app run fully.
2021-07-16 10:50:06 +10:00
Marius Vikhammer
126c6405f1 Merge branch 'feature/s3_default_2_config' into 'master'
CI: add S3 default_2 unit test config

See merge request espressif/esp-idf!14279
2021-07-15 09:29:31 +00:00
Omar Chebib
0771bd1711 espsystem: Rearchitecture and fix eh_frame_parser bugs
eh_frame_parser is architecture independent, thus the files have
been rearchitectured. Some bugs have been fixed in the test.
A README file has also been added to eh_frame_parser host test
directory.

eh_frame_parser is now able to detect empty gaps in .eh_frame_hdr
table (missing DWARF information).
Fix a bug occuring when parsing backtraces originated from abort().
Fix build missing dependencies issue.
2021-07-15 12:47:51 +08:00
Omar Chebib
c4f57af6c9 G0: Memory layouts are now part of heap components 2021-07-15 11:38:23 +10:00
morris
1560d6f1ba soc: add reset reasons in soc component 2021-07-13 10:45:38 +08:00
Marius Vikhammer
80acc1a002 CI: add S3 default_2 unit test config 2021-07-08 18:39:57 +08:00
Almir Okato
06a849b33e rtc: Add missing esp_rom_sys.h header in rtc clk
rtc_clk.c for esp32, esp32s2 and esp32s3 did not include the
esp_rom_sys.h header which could cause implicit declaration issues for
some function calls.
2021-07-01 12:50:14 -03:00
Michael (XIAO Xufeng)
0e31332693 Merge branch 'feature/add_esp32h2_target' into 'master'
esp32h2: add esp32h2 build target

See merge request espressif/esp-idf!13944
2021-07-01 14:46:37 +00:00
Krzysztof Budzynski
f0b2926d70 Merge branch 'docs/s3_get_started' into 'master'
docs: updated getting started for S3

Closes IDF-3281 and IDF-3282

See merge request espressif/esp-idf!14174
2021-07-01 14:33:55 +00:00
Shu Chen
ee23a489b9 esp32h2: code clean up 2021-07-01 19:53:50 +08: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
2f8debdde1 Merge branch 'feature/esp32s3_remove_rtc_apb_freq_reg' into 'master'
esp32s3: Remove APB frequency RTC register

See merge request espressif/esp-idf!11137
2021-06-29 23:50:23 +00:00
Jiang Jiang Jian
d28417edbc Merge branch 'bugfix/deep_sleep_rtcwdt_rst_issue' into 'master'
clear wakeup and reject int raw signal before entry sleep

Closes FCS-673

See merge request espressif/esp-idf!13982
2021-06-29 13:31:40 +00:00
Marius Vikhammer
638485b222 docs: updated getting started and other misc. guides for S3 2021-06-29 15:44:45 +08:00
Angus Gratton
57fa883127 esp32s3: Remove APB frequency RTC register
Usage of this register changed between ESP32-S3 beta2 and the
final chip.
2021-06-29 17:38:46 +10:00
Angus Gratton
c02aa6d0ae Merge branch 'bugfix/switch_jump_tables' into 'master'
build system: always build with -fno-jump-tables & -fno-tree-switch-conversion

Closes IDF-3007

See merge request espressif/esp-idf!13458
2021-06-29 04:13:08 +00:00
Li Shuai
6ca207531b deep sleep: clear wakeup and reject int raw signal before entry sleep 2021-06-29 11:59:54 +08:00
Alexey Gerenkov
821869d98d apptrace: Refactors apptrace for better support various tracing HW 2021-06-24 13:16:13 +03:00
Marius Vikhammer
ee2f8b1a62 build system: always build with -fno-jump-tables & -fno-tree-switch-conversion
Jump tables placed in flash would cause issue with code that needed to be ran from IRAM.

These optimizations are now always disabled.
2021-06-24 14:54:10 +08:00
David Cermak
26f9d2d5e1 rtc: Fix minor const char* correction issue 2021-06-10 22:22:48 +08:00
Angus Gratton
ad7ad185e3 Merge branch 'bugfix/c3_s3_apb_freq' into 'master'
esp_hw_support: Fix ESP32-C3/S3 APB frequency

See merge request espressif/esp-idf!13296
2021-06-09 23:42:09 +00:00
Angus Gratton
bc4eb2071c Merge branch 'feature/toolchain_2021r1' into 'master'
Bring 2021r1 toolchains

Closes IDFGH-5009

See merge request espressif/esp-idf!13554
2021-06-09 05:06:23 +00:00
Angus Gratton
5b12cd4a76 esp_hw_support: Fix ESP32-C3/S3 APB frequency
Regression in e6edf34e82, APB frequency
accidentally set at 81MHz not 80MHz.
2021-06-08 07:52:32 +00:00
Anton Maklakov
343cc5025b make build system: fix build for undefined _lock_* funcs 2021-06-07 12:53:45 +07:00
Marius Vikhammer
19a492bc8d soc: add base support for ESP32-S3
Updates the following with changes from verification branches:

 * esp_rom linker files
 * rtc_cntl and system reg and struct headers

Also updates:
 * GDMA driver with new register layout
 * esptool submodule commit
2021-06-07 10:40:14 +08:00
Jiang Jiang Jian
4c0ed8844d Merge branch 'bugfix/wifi_mac_sleep_issue' into 'master'
fix wifi mac sleep bug when wifi is initialized multiple times

Closes WIFI-3678

See merge request espressif/esp-idf!13591
2021-05-25 14:31:20 +00:00
Angus Gratton
5c812742c6 docs: Add description for Linux getrandom() function 2021-05-20 17:08:17 +10:00
Li Shuai
2bacd7abe2 fix wifi mac sleep bug when wifi is initialized multiple times 2021-05-18 20:03:09 +08:00
Angus Gratton
e14edecf5f docs: Add random number generation to the API Reference System section 2021-05-18 16:05:42 +10:00
Michael (XIAO Xufeng)
050b1660b5 Merge branch 'feature/regi2c_add_lock' into 'master'
regi2c: add a spinlock for accessing (reg)I2C devices

Closes IDF-2978

See merge request espressif/esp-idf!12957
2021-05-16 14:04:55 +00:00
Michael (XIAO Xufeng)
e941bc838c Merge branch 'feature/lcd_driver' into 'master'
esp_lcd component panel driver

Closes IDF-2933 and IDF-2934

See merge request espressif/esp-idf!12813
2021-05-13 04:29:07 +00:00
Omar Chebib
dd8843fec3 regi2c: add a spinlock for accessing (reg)I2C devices
When not compiling bootloader, a spinlock will be used for reading or writing
I2C internal devices/registers.
When compiling for bootloader, no need to use any lock.
2021-05-13 11:55:41 +08:00
Jiang Jiang Jian
3c30e688c4 Merge branch 'feature/support_auto_adjust_voltage_storingInEfuse_openGlitchRst' into 'master'
ESP32C3: auto adjust voltage dbias storing in efuse and open glitch reset for ECO3

See merge request espressif/esp-idf!13395
2021-05-13 03:49:59 +00:00
morris
a20a51316c async_memcpy: test copy with same buffer address 2021-05-12 17:10:37 +08:00
Angus Gratton
3f0851a22c Merge branch 'doc/esp_random' into 'master'
esp_hw_support: Clarify the documentation about hardware RNG entropy

Closes IDF-73

See merge request espressif/esp-idf!13454
2021-05-11 01:37:37 +00:00
chaijie
eea76d14bb ESP32C3: auto adjust voltage dbias storing in efuse and open glitch reset for ECO3
1. add some efuse api to get rtc & digital voltage
2. set dig_rtc voltage to a fix value storing in efuse no mater which cpu frequency
3. modify hardware code in bootloader to fit all c3 ECO3 version
2021-05-08 17:56:54 +08:00
Angus Gratton
4d4e094d81 esp_hw_support: Clarify the documentation about hardware RNG entropy 2021-05-06 16:59:02 +10:00
Michael (XIAO Xufeng)
58490418ad Merge branch 'feature/merge_c3_caps' into 'master'
soc: merge C3 caps into a single soc_caps.h

See merge request espressif/esp-idf!13337
2021-05-06 05:56:42 +00:00
Jiang Jiang Jian
73adacb7d4 Merge branch 'bugfix/fix_nolightsleep_after_wifi_init' into 'master'
esp_wifi: fix nolightsleep after wifi init

See merge request espressif/esp-idf!13404
2021-04-30 04:52:39 +00:00
ninh
f1ee8aa14f esp_wifi: fix nolightsleep after wifi init 2021-04-29 18:50:28 +08:00
Li Shuai
344ec80fad optimize deep sleep current in wifi softap mode 2021-04-28 14:03:02 +00:00
Marius Vikhammer
504a1e6102 soc: merge C3 caps into a single soc_caps.h 2021-04-28 14:42:35 +08:00
Michael (XIAO Xufeng)
3ed5d97771 Merge branch 'bugfix/fix_touch_sensor_measure_start_wait_time' into 'master'
Bugfix(Touch):  fix the touch sensor wait cycle after wakeup from sleep

See merge request espressif/esp-idf!13116
2021-04-27 12:50:06 +00:00
Angus Gratton
69309c88a0 Merge branch 'bugfix/fix_c3_typos' into 'master'
esp32c3: fix typos of c3 path

See merge request espressif/esp-idf!13318
2021-04-23 13:05:09 +00:00
Angus Gratton
2f70a76572 Merge branch 'bugfix/mac_addr_target_support' into 'master'
system: Restructure MAC address support documentation

See merge request espressif/esp-idf!13298
2021-04-23 10:56:42 +00:00
Shu Chen
ff3320ca8a esp32c3: fix typos of c3 path 2021-04-23 18:11:39 +08:00
Angus Gratton
0be81903cc Merge branch 'bugfix/hal_duplicated_interrupt_functions' into 'master'
[hal]: merged duplicated HAL layer functions

Closes IDF-2308

See merge request espressif/esp-idf!12444
2021-04-23 07:47:51 +00:00
fuzhibo
928c5b6ce3 Driver(Touch sensor): fix the touch sensor wait cycle after wakeup from sleep 2021-04-23 02:59:58 +00: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
eb38eb670c system: Return ESP_ERR_NOT_SUPPORTED for esp_read_mac(ESP_MAC_BT, ...) on ESP32-S2
Previously this function returned ESP_OK but no MAC was set.
2021-04-22 12:22:46 +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
Jiang Jiang Jian
db67047eb9 Merge branch 'feature/support_esp32s3_beta3_wifi' into 'master'
esp_wifi: support esp32s3 beta3 wifi

Closes WIFI-3550

See merge request espressif/esp-idf!12863
2021-04-16 03:09:19 +00:00
ChenJianxing
dd14e97375 esp_wifi: support esp32s3 beta3 wifi 2021-04-16 00:38:20 +08:00
zwj
764a778be1 phy reinit error due to i2c high 2021-04-15 22:03:25 +08:00
Angus Gratton
23ae81c78c Merge branch 'bugfix/calc_8m_freq_test' into 'master'
rtc: increase CI acceptance range for calc 8M test

Closes IDFCI-79

See merge request espressif/esp-idf!13068
2021-04-13 08:32:51 +00:00
Michael (XIAO Xufeng)
f5f3c7143c Merge branch 'feat/c3_driver_api_cleanup_gpio' into 'master'
gpio, rtcio: removed unsupported features on different targets

See merge request espressif/esp-idf!13103
2021-04-13 06:51:33 +00:00
Jiang Jiang Jian
d6a2a67006 Merge branch 'bugfix/fix_some_pm_issue' into 'master'
esp_pm: fix an issue and add an interface

Closes IDF-2984 and IDF-2944

See merge request espressif/esp-idf!12787
2021-04-13 03:42:46 +00:00
Marius Vikhammer
38d9251bda sleep: disable switch-case jump tables from being placed in flash
sleep_modes.c contains switch statements that should be placed in flash.
Settings for avoiding this was not updated during sleep_modes refactor.
2021-04-09 14:16:27 +08:00
Marius Vikhammer
58d83dda40 rtc: increase CI acceptance range for calc 8M test 2021-04-08 18:50:56 +08:00
Angus Gratton
cef3b26a91 Merge branch 'refactor/move_from_esp_system' into 'master'
Movements from esp_system

Closes IDF-2165

See merge request espressif/esp-idf!12695
2021-04-08 10:16:08 +00:00
Angus Gratton
70cab5bd81 Merge branch 'bugfix/ulp_riscv_unintended_wake' into 'master'
ulp: unintended wakeup in ulp_riscv

See merge request espressif/esp-idf!12894
2021-04-08 01:52:41 +00: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
Michael (XIAO Xufeng)
d21ca33e40 Merge branch 'bugfix/fix_bootloader_time_too_long_bug' into 'master'
esp32s2/esp32c3: decrease boot up and cpu start up time

See merge request espressif/esp-idf!12725
2021-04-06 06:34:57 +00:00
Angus Gratton
6b57f33858 Merge branch 'refactor/movements_from_target_components' into 'master'
Movement from target components 1

See merge request espressif/esp-idf!12482
2021-04-05 02:37:21 +00:00
chaijie
f9de69586b esp32s2/esp32s3/esp32c3: Decrease bootloader cost time 2021-04-01 06:19:34 +00:00
chaijie
c101fc3e3d fix c3 hardware bug before ECO3 and optimizate bbpll config:
1. deepsleep poweron reset bug in high temperature before ECO3;
2. brownout reset bug before ECO2;
3. bbpll voltage low bug before ECO3;
4. need xpd iph for xtal before ECO3;
2021-03-31 13:08:56 +00:00
Renz Bagaporo
1b4e4c37b7 esp32: remove deprecated esp_intr.h 2021-03-31 19:17:33 +08:00
Renz Bagaporo
9478298aa4 esp32: move mac target specific configs 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
a7bac58480 esp32: move system api to esp_system 2021-03-31 19:13:03 +08:00
Renz Bagaporo
784a02a4ee esp32: move hw random 2021-03-31 19:13:03 +08:00
Renz Bagaporo
3639c2322b ulp: clear rtc int at initialization
Closes https://github.com/espressif/esp-idf/issues/6654
2021-03-31 17:15:55 +08:00
Renz Bagaporo
44a8dc9342 ci: change assertions rtc clk compenstation test 2021-03-25 15:47:19 +08:00
Angus Gratton
fa2946d651 Merge branch 'feature/support_esp32s3_beta_3' into 'master'
Support ESP32S3 beta 3 target

Closes IDF-2908

See merge request espressif/esp-idf!12661
2021-03-23 10:17:58 +00:00
Angus Gratton
7ebefe2e2b Merge branch 'bugfix/check_a_time_after_deepsleep' into 'master'
Fix esp32s2 timekeeping on deep sleep issue

See merge request espressif/esp-idf!12623
2021-03-23 08:15:34 +00:00
Renz Bagaporo
02c6ffe5a7 esp_hw_support: add test for rtc clk compensation 2021-03-19 12:04:06 +08:00
KonstantinKondrashov
aa1338bf23 wdt: Fix timeout and RTC_SLOW_CLK
RTC_SLOW_CLK
ESP32:    150kHz
ESP32-S2:  90kHz
ESP32-S3: 150kHz
ESP32-C3: 150kHz
2021-03-19 00:15:18 +08:00
Marius Vikhammer
e83d213c56 rtc: add rtc related changes from feature/support_7.2.7_soc 2021-03-18 15:23:31 +08:00
Marius Vikhammer
2aead8ba57 Support ESP32S3 Beta 3 target
Update ROM API. Port changes from bringup branch.
2021-03-18 10:24:22 +08:00
Marius Vikhammer
c85d949c1f ci: run Example_GENERIC for C3
Add support for running example_GENERIC tests for C3 on label.

Fix examples that fail.
2021-03-15 10:27:07 +08:00
Angus Gratton
fd164b82b6 Merge branch 'refactor/move_from_xtensa' into 'master'
Movements from xtensa

Closes IDF-2164

See merge request espressif/esp-idf!10556
2021-03-11 00:24:25 +00:00
Angus Gratton
70e13752ae Merge branch 'feature/rtc_time_get' into 'master'
rtc: Clean up for S2,S3,C3

Closes IDF-2569

See merge request espressif/esp-idf!12336
2021-03-05 01:16:15 +00:00
Angus Gratton
d6f4d99d93 core system: Fix warnings in compilation when assertions are disabled
Adds a CI config for hello world that sets this, to catch future regressions
2021-03-03 10:26:57 +11:00
KonstantinKondrashov
b31bf01484 rtc: Clean up for S2,S3,C3 2021-03-01 16:51:15 +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
7e0e91bf76 arch: move debug helpers 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
Renz Bagaporo
2eb563406f esp_hw_support: fix esp_restart crash
Closes https://github.com/espressif/esp-idf/issues/6297
2021-02-10 23:38:17 +00:00
Xia Xiaotian
b71481093a esp_wifi: fix some Wi-Fi scan and coexist bugs
1. Fix the bug that Wi-Fi performance is impacted by BLE starting scan for a while in some scenarios on ESP32-C3.

2. Fix the bug that Wi-Fi performance is impacted when Bluetooth change state for a while in some scenarios on ESP32-C3.

3. Fix the bug that BLE performance is impacted by Wi-Fi scan on ESP32-C3.

4. Fix the bug that Wi-Fi scan fails when BLE is scanning on ESP32-C3.

5. Fix Wi-Fi ACK and CTS rate when low rate is disabled on ESP32-C3.
2021-02-08 21:20:09 +08:00
Michael (XIAO Xufeng)
d741b08fe7 Merge branch 'feature/esp32c3_deep_sleep_rtcfastmem' into 'master'
esp32c3: Finish deep sleep support

Closes IDF-2560

See merge request espressif/esp-idf!12031
2021-01-26 12:53:34 +08:00
Angus Gratton
0eb8d7e185 esp_hw_support esp32c3: Add deep sleep rtc crc calculation support
Last step to enable deep sleep on ESP32-C3 in all configurations
2021-01-25 17:20:04 +00:00
Michael (XIAO Xufeng)
2b83418141 adc: add fallback calibration method
Also:
1. Separate static configuration into init phase to improve
performance
2. Add a init code config layer to avoid duplicated configuration
3. Add a HW_CALIBRATION_V1 caps
2021-01-25 20:30:42 +08:00
Armando
f5f0461264 tmpsensor: add temp_sensor.h for c3 2021-01-25 04:51:40 +00:00
Angus Gratton
a5fb7deda5 driver: Update/cleanup esp32c3 rtc_tempsensor.c 2021-01-25 04:51:40 +00:00
Michael (XIAO Xufeng)
d7d1dee208 system: reset dma when soft reset 2021-01-25 04:51:40 +00:00
Michael (XIAO Xufeng)
68034a5149 Merge branch 'bugfix/soc_rtcperi_rtcldo' into 'master'
fix rtc peripheral wakeup fail bug & clear rtc regulator force on configuration when in deepsleep

See merge request espressif/esp-idf!9709
2021-01-22 16:55:55 +08:00
Angus Gratton
3532f52f60 Merge branch 'bugfix/ldgen_ignore_nonexistent_archives_and_obj' into 'master'
ldgen: check mappings

Closes IDF-1624

See merge request espressif/esp-idf!8557
2021-01-21 15:59:35 +08:00
Li Shuai
3170ecf268 deep sleep: add empty interface rtc_deep_sleep_start for esp32c3 2021-01-20 13:28:34 +08:00
chaijie
7cf32b4387 esp32s2: Fix wakeup fail issue when pd peripheral in lightsleep.
esp32s2: fix wrong deepsleep configuration issue.

1. if RTC_CK8M_ENABLE_WAIT_DEFAULT set to 1, rtc peripherals will not poweron successfully if pd peripherals in light_sleep, the minimum RTC_CK8M_ENABLE_WAIT_DEFAULT is RTC_POWERUP_CYCLES + RTC_WAIT_CYCLES + 2;
2. when goto deepsleep after lightsleep waking up, rtc regulator should not force pu.
2021-01-20 03:51:07 +00:00
Renz Bagaporo
d1c800fbbb components: fix ldgen check errors 2021-01-19 11:17:18 +08:00
Renz Bagaporo
32206d3a7d ci: enabled ldgen mapping check in ci 2021-01-19 11:17:18 +08:00
Angus Gratton
f683db7aea Merge branch 'feature/c3_IDF-2554' into 'master'
global: Uses CCOUNT API instead of XTHAL macro

Closes IDF-2554

See merge request espressif/esp-idf!11954
2021-01-13 12:55:21 +08:00
KonstantinKondrashov
dada7cd035 global: Uses CCOUNT API instead of XTHAL macro 2021-01-12 16:24:23 +08:00
morris
753a929525 global: fix sign-compare warnings 2021-01-12 14:05:08 +08:00
fuzhibo
312a0ad6c1 fix: support bootloader random enable for esp32c3 2021-01-11 14:41:09 +08:00
ninh
dc7bdb9857 adjust lightsleep overhead time and cali slowclk 2021-01-06 03:40:28 +00:00
ninh
e908a32381 put pm_slp_iram_opt and pm_rtos_iram_opt related attributes in esp_pm/linker.lf 2021-01-06 03:40:28 +00:00
chaijie
d505474f78 1. Fix CPU switch to 160M issue;
2. increase lightsleep voltage to make sure wakeup successfully;
3. add judgement code to whether wait or not when switch CPU frequency.
2020-12-30 12:32:31 +08:00
Marius Vikhammer
eb788deb03 esp_hw_support: merge C3 changes to master
Merge RTC related C3 changes to master
2020-12-30 12:20:41 +08:00
Angus Gratton
30a96d22e1 Merge branch 'feature/esp32c3_soc_changes' into 'master'
soc: Apply esp32c3 updates

See merge request espressif/esp-idf!11712
2020-12-24 09:20:24 +08:00
Jiang Jiang Jian
788e9fa49a Merge branch 'feature/lightsleep_related_iram_opt' into 'master'
components/pm: Add sleep related code iram opt chioce

See merge request espressif/esp-idf!11290
2020-12-23 14:45:43 +08:00
Liu Ning
57aa65eeed components/pm: Add sleep related code iram opt chioce 2020-12-23 14:45:36 +08:00
Angus Gratton
6d6510c39b soc: Move esp32c3 soc_memory_layout.c to soc component
Was incorrectly placed in esp_hw_support
2020-12-23 11:49:16 +11:00
Angus Gratton
75dede2344 esp_hw_support: Add esp32c3 regi2c headers 2020-12-23 09:53:24 +11:00
Cao Sen Miao
e338a2e3df rtc: add function to en/disable the rtc clock 2020-12-23 09:53:24 +11:00
Wu Bo Wen
5cc329b9d0 driver/adc: support for esp32s2 adc calibration scheme V2
notice that the o_code is now pulled from efuse instead of automatically calibrated. This may influence other parts of the system.

Closes https://github.com/espressif/esp-idf/issues/5455
2020-12-03 20:08:59 +08:00
Angus Gratton
b696d2917e esp_hw_support: Add initial ESP32-C3 support
From internal commit 7761d6e8
2020-11-30 15:23:15 +11:00
Michael (XIAO Xufeng)
af992c26bc Merge branch 'bugfix/fix_x32k_startup_slow_bug' into 'master'
bugfix: Fix xtal 32k not oscillate or oscillate too slowly issue for esp32

See merge request espressif/esp-idf!10519
2020-11-24 17:37:29 +08:00
chaijie
a48b5246cc ESP32: Fix xtal 32k not oscillate or oscillate too slowly issue
ESP32 in revision0 and revision1 uses touchpad to provide
current to oscillate xtal 32k. But revision2 and revision3
do not need to do that.
Note: touchpad can not work and toupad/ULP wakeup sources
are not available when toupad provides current to xtal 32k
2020-11-23 19:38:11 +08:00
Michael (XIAO Xufeng)
9277306aef Merge branch 'bugfix/fix_rtc_wdt_in_light_sleep_process' into 'master'
RTC(bugfix): compile the regi2c_ctrl.c code to iram

See merge request espressif/esp-idf!10931
2020-11-18 20:30:25 +08: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
fuzhibo
b29f075660 rtc: compile the regi2c_ctrl.c code to iram 2020-11-05 16:17:12 +08:00
fuzhibo
93c7cf094e rtc: update rtc related code(rtc_sleep rtc_init) to support esp32s3 2020-11-04 02:43:41 +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