Commit Graph

729 Commits

Author SHA1 Message Date
wuzhenghui
44df5b31af feature: add ram loadable app support 2023-02-01 17:57:22 +08:00
Wu Zheng Hui
33ae2e1073 Merge branch 'feature/bringup_esp32c6_light_sleep_pd_cpu' into 'master'
esp32c6: support light_sleep (Stage 1: support CPU power down)

See merge request espressif/esp-idf!21985
2023-02-01 14:11:15 +08:00
wuzhenghui
cd9d914ba0 codeclean: clean esp32c6 rtc_sleep related code 2023-01-31 22:12:58 +08:00
Li Shuai
68594abe05 sleep: light sleep supported for esp32c6 2023-01-31 22:12:58 +08:00
wuzhenghui
a5467f42a0 codeclean: only S series chip VDDSDIO is configurable 2023-01-31 22:12:58 +08:00
Li Shuai
9b99fc9033 cpu retention: software cpu retention support for esp32c6
cpu retention: add riscv core sleep critical and non-critical register layout structure definition

cpu retention: add assembly subroutine for cpu critical register backup and restore

cpu retention: add cpu core critical register context backup and restore support

cpu retention: add cpu core non-critical register context backup and restore support

cpu retention: add interrupt priority register context backup and restore support

cpu retention: add cache config register context backup and restore support

cpu retention: add plic interrupt register context backup and restore support

cpu retention: add clint interrupt register context backup and restore support

cpu retention: wait icache state idle before pmu enter sleep
2023-01-31 22:12:54 +08:00
Li Shuai
1c39d64f95 cpu retention: refactor cpu retention and add cpu retention versions option in soc caps 2023-01-31 22:12:50 +08:00
Li Shuai
02f5df3b3e Power Management: added protection to the configuration of each power domain 2023-01-31 22:12:27 +08:00
Li Shuai
2b5618606b pmu: clean modem clock pmu related code 2023-01-31 22:12:27 +08:00
cje
0fb408cc68 pmu active state ICG map initialize and modify i2c master force enable to enable 2023-01-31 22:12:27 +08:00
Li Shuai
c0ddaa5920 lp_timer: add hal-layer codes for esp32c6 2023-01-31 22:12:27 +08:00
Li Shuai
59cf87fe7d pmu: sleep initialization and sleep start support for esp32c6
Initialize the pmu sleep machine constant when pmu is initialized, and calculate
the pmu sleep time adjustment value and hardware configuration value according
to the machine constant during system sleep.

Calibrate fast OSC before each sleep and use the calibration value to calculate
PMU hardware wait cycles when use the fast OSC as the work clock.
2023-01-31 22:12:27 +08:00
morris
dbca74f1ef gdma: prevent mutli-channels connect to the same peripheral
1. add check in the gdma driver, to prevent multiple channels connecting
   to the same peripheral
2. memory copy DMA ID will occupy the peripheral's DMA ID on some ESP
   targets (e.g. esp32c3/s3). We should search for a free one when
install async memcpy driver.

Closes https://github.com/espressif/esp-idf/issues/10575
2023-01-31 15:18:19 +08:00
Song Ruo Jing
ad55230b0a ledc: Add support for esp32h2; Refactor ledc driver clock source selection related code
LEDC examples and test cases are supported on ESP32H2.
   Switch to use general clock IDs for ledc_clk_cfg_t enum values.
   Deprecate LEDC_USE_RTC8M_CLK.
2023-01-30 19:19:34 +08:00
Mahavir Jain
8203d40fc3
esp32h2: add support for SHA peripheral
Closes IDF-6275
2023-01-30 10:08:58 +05:30
Lou Tianhao
a07c736d71 bugfix: make ahb freq consistent with cpu freq 2023-01-28 10:48:51 +08:00
Guillaume Souchere
a5d6f62e7e heap: Prevent alloc from IRAM to call dram_alloc_to_iram() on esp32c6 target
Since DRAM and IRAM are superposed on esp32c6 it is not necessary to convert a freshly allocated
DRAM addr to its IRAM equivalent when MALLOC_CAP_EXEC is passed to heap_caps_malloc(). Instead,
proceed with a default allocation since the address returned by multi_heap_malloc() already belongs
to the IRAM region.

Applies for esp32c6 and every boards with superposed DRAM and IRAM addresses.
2023-01-23 07:42:20 +01:00
Mahavir Jain
e7ca2f2622 Merge branch 'feature/esp32c6_enable_hmac_and_ds_support' into 'master'
Feature/esp32c6 enable hmac and ds support

Closes IDF-5355 and IDF-5360

See merge request espressif/esp-idf!21761
2023-01-20 20:30:54 +08:00
Martin Vychodil
a2b0068478 Merge branch 'bugfix/linux_build_errors' into 'master'
fix(linux): fix build errors without --skip-setting-flags

See merge request espressif/esp-idf!22063
2023-01-20 14:46:36 +08:00
Aditya Patwardhan
4084ab38a1
esp32c6/soc: Enable DS and HMAC capabilities for esp32c6 in soc_caps.h 2023-01-19 09:53:34 +05:30
Aditya Patwardhan
4831edc624
esp32c6/hal: Added support for HMAC and DS on esp32c6
* Update DS test_apps for esp32c6 SoC
2023-01-19 09:53:34 +05:30
Song Ruo Jing
4c8fdc31f9 gpio: Add support for esp32h2 2023-01-18 11:41:12 +08:00
Jakob Hasse
9991862a10 fix(linux): fix build errors and warnings, remove ignore file 2023-01-18 09:24:28 +08:00
morris
d9825f5165 Merge branch 'feature/add_clk_tree_get_frequency_api' into 'master'
clk_tree: Stage 4 - Add a general API to get the frequency of different clocks

Closes IDF-6569

See merge request espressif/esp-idf!21830
2023-01-17 17:08:23 +08:00
C.S.M
01913f6d01 Merge branch 'feature/esp32h2_build_test' into 'master'
ESP32H2 (CI): enable CI build stage test on esp32h2

Closes IDF-6263 and IDF-6264

See merge request espressif/esp-idf!21954
2023-01-17 13:28:11 +08:00
Marius Vikhammer
70d1dbccd8 Merge branch 'docs/enable_h2_build' into 'master'
docs: add support for building H2 docs

Closes IDF-6259

See merge request espressif/esp-idf!21933
2023-01-17 12:11:29 +08:00
Song Ruo Jing
2c9aa4559c clk_tree: Add a general API to get the frequency of different clocks
Add basic clk_tree driver and hal implementation.
2023-01-17 11:30:24 +08:00
Cao Sen Miao
94120b82c2 esp32h2: add build test 2023-01-17 10:29:04 +08:00
Marius Vikhammer
7100b7d1ff docs: add support for building H2 docs 2023-01-17 10:04:26 +08:00
Fu Hanxi
b02687a6c4 test: migrate linux target host test jobs into pytest-embedded 2023-01-16 10:25:55 +08:00
Armando (Dou Yiwen)
d1b8da74d8 Merge branch 'refactor/improve_adc_power_maintanance' into 'master'
adc: improve adc power maintanance

Closes IDF-6114 and IDF-6318

See merge request espressif/esp-idf!21151
2023-01-12 20:30:36 +08:00
morris
f7c3d791a2 Merge branch 'feature/systimer_support_esp32h2' into 'master'
systimer: assign counter and alarm in esp_hw_support

Closes IDF-6484, IDF-5323, and IDF-6230

See merge request espressif/esp-idf!21984
2023-01-12 11:01:17 +08:00
morris
1f3507eac0 Merge branch 'feature/gdma_support_h2' into 'master'
gdma: support esp32h2

Closes IDF-6222 and IDF-6238

See merge request espressif/esp-idf!21932
2023-01-11 14:04:14 +08:00
morris
6c1d98d556 systimer: assign counter and alarm in esp_hw_support 2023-01-10 17:05:49 +08:00
jiangguangming
f74a43d002 use LL function to get wakeup cause 2023-01-10 17:03:54 +08:00
jiangguangming
4b4491e736 rtc_time.c: simplify the rtc_time_get with LL function 2023-01-10 17:03:54 +08:00
jiangguangming
51ec91c637 add example deep sleep wake stub 2023-01-10 17:03:50 +08:00
morris
3681dee80e gdma: support esp32h2 2023-01-10 16:37:02 +08:00
morris
d0b7f3214a gdma: correct the dma trigger of uart
GDMA trigger actually is not assigned to UART controller, but for UHCI
controller
2023-01-10 16:37:01 +08:00
Armando
5be3c21cfc adc: improve power logic 2023-01-09 17:10:04 +08:00
Armando
f9da48d94f rtc: add pwdet and sar adc power related low level func 2023-01-09 17:09:01 +08:00
Armando (Dou Yiwen)
30a535db18 Merge branch 'refactor/move_mspi_timing_tuning_to_esp_hw_support' into 'master'
mspi: move timing tuning to esp_hw_support

Closes IDF-6470

See merge request espressif/esp-idf!21912
2023-01-06 18:47:07 +08:00
Konstantin Kondrashov
ffea490cc7 Merge branch 'feature/mac_crc' into 'master'
esp_hw_support(esp32): If the MAC_FACTORY CRC check fails, then INVALID_CRC instead of abort

Closes IDFGH-8989

See merge request espressif/esp-idf!21789
2023-01-06 14:50:40 +08:00
Armando
b46cfd15a2 mspi: move timing tuning to esp_hw_support 2023-01-06 14:41:20 +08:00
morris
4f37b0b0a0 Merge branch 'feature/esp32h2_clock_basic_support' into 'master'
WIP: clk: Add basic clock support for esp32h2

See merge request espressif/esp-idf!21865
2023-01-05 19:19:22 +08:00
Wan Lei
747214616c Merge branch 'feature/add_api_spi_slave_trans_in_isr' into 'master'
spi_slave: add isr version api to add transaction in isr callback

Closes IDF-6199 and IDF-6049

See merge request espressif/esp-idf!20587
2023-01-05 12:46:01 +08:00
Mahavir Jain
650fa6dba0 Merge branch 'feature/enable_SHA_and_AES_support_for_esp32c6' into 'master'
Feature/enable sha and aes support for esp32c6

Closes IDF-5353 and IDF-5356

See merge request espressif/esp-idf!21782
2023-01-04 23:48:34 +08:00
wanlei
971eaa0c08 spi_slave: fix spi_slave_isr iram_safe and add test case for it 2023-01-04 15:35:04 +08:00
Aditya Patwardhan
04a9366694 esp32c6-SHA/AES support: Added sha_ll.h and aes_ll.h files in hal layer 2023-01-04 12:07:26 +05:30
Guillaume Souchere
ebbe24ac09 Merge branch 'feature/re-enable-intr-alloc-test-c2' into 'master'
esp-hw-support: Re-enable intr_alloc tests on esp32c2 target

Closes IDF-5061

See merge request espressif/esp-idf!21836
2023-01-04 14:25:05 +08:00
Song Ruo Jing
981d6a67b0 clk: Add basic clock support for esp32h2 2023-01-03 11:00:32 +08:00
Cao Sen Miao
a1285ff4a5 serial_jtag: fix issue that stuck after retart after C6 2023-01-03 10:38:18 +08:00
Guillaume Souchere
b5bacffbd3 esp_hw_support: allow writing in IRAM when CONFIG_ESP_SYSTEM_PMP_IDRAM_SPLIT is not set for esp32C2
when CONFIG_ESP_SYSTEM_PMP_IDRAM_SPLIT is not set, the PMP rule for esp32c2 shoud allow write access.
Fix esp_cpu_configure_region_protection() in cpu.c accordingly.
2023-01-02 08:41:16 +01:00
Guillaume Souchere
979525d0d8 esp-hw-support: fix interrupt allocation tests on esp32c2
A part of the test 'Can allocate IRAM int only with an IRAM handler' was to
allocate an intr with the handler in RTC memory which is not supported by esp32c2.
A condition was added to prevent this part of the test to execute on esp32c2 targets.
2023-01-02 08:30:20 +01:00
zhangwenxu
0479cce5d9 CI: fix fast template app due to function unused. 2022-12-30 15:25:12 +08:00
Jiang Jiang Jian
c681c92e4c Merge branch 'feature/bringup_esp32c6_chip_wifi_rebase_master' into 'master'
esp_wifi: add basic support for esp32c6

Closes WIFI-5174, WIFI-5175, WIFI-5176, WIFI-5185, WIFI-5188, WIFI-5193, WIFI-5141, WIFI-5157, WIFI-5154, WIFI-5155, WIFI-5156, WIFI-5200, WIFI-5168, WIFI-5160, and WIFI-5214

See merge request espressif/esp-idf!21715
2022-12-30 10:08:29 +08:00
morris
cb7e957cc4 Merge branch 'feature/io_mux_use_pll80_c6' into 'master'
io_mux: support change clock source to PLL_F80M

Closes IDF-6342 and IDF-6345

See merge request espressif/esp-idf!21613
2022-12-29 22:06:52 +08:00
Jiang Guang Ming
8464186e67 Merge branch 'bugfix/update_esp_rom_rtc_header' into 'master'
update esp rom rtc header

See merge request espressif/esp-idf!21802
2022-12-29 18:16:13 +08:00
morris
672ac58ad5 io_mux: can set different clock source 2022-12-29 14:46:16 +08:00
lvshisheng
bba409eec1 wifi: update wifi libs to support wifi6 features and fix build error 2022-12-29 13:13:35 +08:00
Cao Sen Miao
4713a9a7f2 ESP32H2: Introduce new chip target esp32h2, hello_world example supported 2022-12-29 12:29:14 +08:00
yuexia
58b7fc1d8b esp32c6: enable wifi 2022-12-29 11:48:35 +08:00
KonstantinKondrashov
185262c283 esp_hw_support(esp32): If the MAC_FACTORY CRC check fails, then esp_efuse_mac_get_default returns INVALID_CRC instead of abort
Closes https://github.com/espressif/esp-idf/issues/10401
2022-12-29 05:23:18 +08:00
Wu Zheng Hui
8a095a74d4 Merge branch 'feature/add_ieee8020154_only_caps_for_esp32hx' into 'master'
soc: add ieee8020154_ble_only cap for esp32hx

See merge request espressif/esp-idf!21824
2022-12-28 20:12:10 +08:00
jiangguangming
fe2984a52d esp_hw_support: support riscv call 2022-12-28 17:35:12 +08:00
wuzhenghui
3b43b63d47 soc: add ieee8020154_only cap for esp32hx 2022-12-28 16:15:58 +08:00
Michael (XIAO Xufeng)
84a6c6f7d9 Merge branch 'bugfix/rtc_8md256_deepsleep_time_esp32' into 'master'
pm: Fixed sleep time inaccurate bug when select 8MD256 as rtc slow clock on ESP32

Closes IDFGH-4893

See merge request espressif/esp-idf!21558
2022-12-28 15:30:01 +08:00
Li Shuai
3ce896429c periph clock: implemented the modem module enable, disable and reset for esp32c6 2022-12-27 21:31:59 +08:00
Li Shuai
63af1e9631 modem clock(driver): implemented the modem clock driver for esp32c6 2022-12-27 21:31:59 +08:00
wuzhenghui
aa20825659 soc_caps: rename ESP_PD_DOMAIN_RTC8M to ESP_PD_DOMAIN_FOSC 2022-12-27 21:31:21 +08:00
Li Shuai
17f9285524 esp32c6: add SOC_MODEM_CLOCK_IS_INDEPENDENT soc_cap and more pd_caps 2022-12-27 21:31:21 +08:00
cje
a0ed82525e sleep: fix sleep time inaccurate bug when select 8MD256 as rtc slow clock on ESP32
Related to: https://github.com/espressif/esp-idf/issues/6687
2022-12-26 07:19:13 +00:00
laokaiyao
5333ac81bf adc: support ADC on esp32c6 (driver/test/example) 2022-12-23 11:24:06 +08:00
laokaiyao
7a002ab7a6 rtcio: support rtcio on c6 2022-12-22 14:14:38 +08:00
Michael (XIAO Xufeng)
9aec53e83f esp32c2: fixed chip revision of ECO2 2022-12-21 15:28:50 +08:00
Mahavir Jain
078835e358 Merge branch 'contrib/github_pr_10391' into 'master'
[Docs] specify Digital Signature byte order, and esp_ds_sign() clarification (GitHub PR)

Closes IDFGH-8978

See merge request espressif/esp-idf!21712
2022-12-21 13:59:00 +08:00
Chip Weinberger
d43dd9246f [Docs] specify Digital Signature byte order, and esp_ds_sign() clarification 2022-12-19 21:30:03 -08:00
Song Ruo Jing
182e937c5a clk_tree: Add basic clock support for esp32c6
- Support SOC ROOT clock source switch
    - Support CPU frequency change
    - Support RTC SLOW clock source switch
    - Support RTC SLOW clock + RC FAST calibration

    Remove FPGA build for esp32c6
2022-12-13 19:18:34 +08:00
morris
7064b668c6 Merge branch 'feature/etm_api_update' into 'master'
etm: introduce config structure for event/task new functions

See merge request espressif/esp-idf!21483
2022-12-12 13:12:09 +08:00
Jakob Hasse
b36c0e823f Merge branch 'feature/linux_esp_hw_support' into 'master'
linux target: add support for building esp_hw_support, soc and hal components for linux target

See merge request espressif/esp-idf!21502
2022-12-12 09:59:31 +08:00
Marius Vikhammer
4ddbaa4166 linux target: add support for building esp_hw_support, soc and hal components for linux target 2022-12-09 13:59:39 +08:00
Song Ruo Jing
9402ab427b ledc: Add basic support for esp32c6 2022-12-07 18:40:50 +08:00
morris
5c06e9cf40 etm: update etm event task new API 2022-12-07 15:43:20 +08:00
Sachin Parekh
7af998d23f esp32c6: Enable IRAM-DRAM split using PMP 2022-12-06 14:50:55 +00:00
Sachin Parekh
2a01e66b25 esp32s3/memprot: Set permission for Icache region 2022-11-30 13:46:53 +00:00
Song Ruo Jing
56302544f6 Merge branch 'ci/enable_esp32c6_target_test_stage' into 'master'
CI: Enable esp32c6 target test stage

Closes IDF-5830 and IDF-5831

See merge request espressif/esp-idf!21010
2022-11-29 19:54:05 +08:00
Konstantin Kondrashov
0786539047 Merge branch 'feature/remove_efuse_dependency' into 'master'
esp_hw_support: Removes efuse dependency

Closes IDF-4713

See merge request espressif/esp-idf!21212
2022-11-29 18:12:26 +08:00
Song Ruo Jing
7466ddfa8c ci: Make consistence between pytest_*.py and .build-test-rules.yml for esp32c6 (i.e. to pass check_test_scripts_build_test_rules.py) 2022-11-28 11:58:30 +08:00
Song Ruo Jing
e13a4ad963 ci: Disable some unit-test-apps for esp32c6 to pass ci build stage 2022-11-28 11:58:30 +08:00
Marius Vikhammer
6a450c4113 Merge branch 'feature/esp_hw_support_pytest' into 'master'
esp_hw_support: migrate to pytest

See merge request espressif/esp-idf!20938
2022-11-28 10:38:54 +08:00
KonstantinKondrashov
741e89cbaa esp_hw_support: Removes efuse dependency 2022-11-25 19:27:33 +08:00
Marius Vikhammer
59e40fafba esp_hw_support: move test to pytest 2022-11-25 16:21:35 +08:00
Aditya Patwardhan
22ad083ccd Merge branch 'refactor/merge_esp_ds_code_between_targets' into 'master'
Merge esp_ds and hmac_hal layers for different targets

Closes IDF-3803, IDF-6144, and DOC-3973

See merge request espressif/esp-idf!21187
2022-11-25 03:59:18 +08:00
Aditya Patwardhan
aa27abb39b esp_hw_support/esp_ds: Improve documentation for esp_ds_sign and esp_ds_encrypt_params API 2022-11-24 16:03:30 +05:30
Aditya Patwardhan
ac1f4a263b esp_hw_support: Merge esp_ds.h file for different targets into one 2022-11-24 16:03:30 +05:30
Aditya Patwardhan
f79d8f9c07 esp_hw_support: Merge esp_ds.c file for different targets into one 2022-11-24 16:03:30 +05:30
Aditya Patwardhan
6a75fe5912 esp_hw_support: Update build system support for mergin esp_ds.c files
into one
2022-11-24 16:03:23 +05:30
C.S.M
28b2deaf24 Merge branch 'feature/add_target_esp32h2' into 'master'
ESP32-H2: Introduce new target for ESP32H2

See merge request espressif/esp-idf!21190
2022-11-24 18:31:19 +08:00
Aditya Patwardhan
efd05fdebb esp32c3/esp_ds.c: Fix RSA_LEN_MAX variable 2022-11-24 15:53:51 +05:30
morris
4019e307f1 doc: add api reference for etm driver 2022-11-23 15:32:34 +08:00