Commit Graph

1223 Commits

Author SHA1 Message Date
laokaiyao
3c2233d48b feat(gdma): supported rx err_eof interrupt 2023-07-20 14:19:39 +08:00
Lou Tianhao
e70763f9a4 feat(pm/deepsleep): Support EXT1 wakeup for esp32h2 deep_sleep 2023-07-20 11:43:57 +08:00
Lou Tianhao
7bd92287c4 change(pm/deepsleep): Update deep_sleep pmu analog parameter for esp32h2 2023-07-20 11:43:57 +08:00
Lou Tianhao
dcacd8cdf8 feat(pm/deepsleep): Support deep_sleep example and deep_sleep_wake_stub example for esp32h2 2023-07-20 11:43:57 +08:00
Ivan Grokhotkov
0ebe2cecfa
feat(system): add an error log and a hint on failed interrupt alloc
When interrupt allocation fails, esp_intr_alloc will now print a
message telling that no free interrupt was found. This message is
then checked in hints.yml, to give a link to the troubleshooting
guide.
2023-07-19 16:47:41 +02:00
Ivan Grokhotkov
621afc48b1
feat(system): add esp_intr_dump function to debug interrupt alloc
esp_intr_dump function can be used to print the list of allocated and
free interrupts. It can be used as a debugging aid when interrupt
allocation fails.
2023-07-19 16:47:40 +02:00
morris
57879e772d feat(gdma): support channel allocator on esp32p4
There's two GDMA groups on ESP32P4, one is connected to AHB bus,
and another one is connected AXI bus.
We now have two seperate APIs for allocating DMA channels,
depends on the bus type.
2023-07-19 18:18:07 +08:00
Mahavir Jain
6431091ce6
fix(esp32h2): correct typo in chip revision prompt 2023-07-18 20:46:45 +05:30
Mahavir Jain
3466204d18 Merge branch 'fix/esp_ptr_check_sign_compare' into 'master'
fix(esp_hw_support): Fix different signed comparison in `esp_ptr_in_drom`

Closes IDFGH-10398 and IDFGH-10632

See merge request espressif/esp-idf!24791
2023-07-17 12:33:56 +08:00
Darian
4fc2e5cb95 Merge branch 'feature/usb_host_restrict_ahb_errata_workaround_to_esp32s2_eco0' into 'master'
USB Host: Restrict ESP32-S2 AHB errata workaround to only ECO0 chips

Closes IDF-3328

See merge request espressif/esp-idf!23873
2023-07-15 19:01:03 +08:00
wuzhenghui
a5c992c8af fix(esp_pm): fix PM_SLP_IRAM_OPT/PM_RTOS_IDLE_OPT feature
- Fix flash accessed code to resolve issues with PM_SLP_IRAM_OPT/PM_RTOS_IDLE_OPT enabled
2023-07-14 21:21:19 +08:00
wuzhenghui
6c14e1de9f fix: put vddsdio configure api always in iram if pd_flash is enabled
- Put vddsdio configure api always in iram if pd_flash is enabled to ensure access flash at flash unavailable time
2023-07-14 20:12:59 +08:00
wuzhenghui
9f993705a6 fix: wait spi bus idle before hold CS pin
- Wait for spi bus idle before holding CS pin to prevent hold selected state during sleep
2023-07-14 20:12:59 +08:00
wuzhenghui
b9550a1609 feat: support cache safe assertion check
- Add support for cache safe assertion check to ensure that code expected to be in RAM is in IRAM
2023-07-14 20:12:59 +08:00
Jiang Jiang Jian
4b484574cd Merge branch 'bugfix/esp32c6_eco1_ble_lpclk_main_xtal' into 'master'
support 40 MHz XTAL as BLE low power clock source of esp32c6 eco1

Closes WIFI-5909 and WIFI-6114

See merge request espressif/esp-idf!24235
2023-07-14 16:26:56 +08:00
Jiang Jiang Jian
0c496896ba Merge branch 'bugfix/wifi_bcn_timeout_m_f_probe_req_l0' into 'master'
fix bcn_timeout and disconnect with error code 201, m f probe req l=0 issue

Closes WIFI-5722

See merge request espressif/esp-idf!24077
2023-07-14 11:31:47 +08:00
cjin
9578fdc250 ble : remove extra retention cnt upon deinit temporarily 2023-07-14 10:49:17 +08:00
cjin
cf744f9466 ble: support eco1 BLE light sleep 2023-07-14 10:49:14 +08:00
Wu Zheng Hui
e9b6472753 Merge branch 'bugfix/enable_i2c_master_clock_in_bbpll_configure' into 'master'
fix(rtc_clk): fix i2c master clock missing in bbpll configure

Closes WIFI-6147

See merge request espressif/esp-idf!24765
2023-07-14 00:40:21 +08:00
Laukik Hase
b61e3777b8
fix(esp_hw_support): Fix different signed comparison in esp_ptr_in_drom
- Closes https://github.com/espressif/esp-idf/issues/11653
- Closes https://github.com/espressif/esp-idf/issues/11865
2023-07-13 18:35:42 +05:30
Li Shuai
efa4eeafd0 light sleep: enable system clock in PMU HP sleep state when selecting a 40 MHz XTAL as low power clock source of ble 2023-07-13 20:44:56 +08:00
Li Shuai
21781b1ab1 modem clock: provide a protected wifipwr clock enable/disable interface to fix the bug of selecting xtal as the low power clock source for ble 2023-07-13 20:44:56 +08:00
Li Shuai
9950b6a527 modem clock: gatable clock interface which can gate or ungate modem clock domain 2023-07-13 20:44:56 +08:00
Chen Ji Chang
7ec38eb309 Merge branch 'bugfix/update_all_esp32xxx/rom/gpio.h_comments' into 'master'
gpio: Update the incorrect comments in rom/gpio.h

Closes IDFGH-10490

See merge request espressif/esp-idf!24487
2023-07-13 19:44:31 +08:00
Darian Leung
8450f3119e soc: Move revision MAX/MIN static assert to esp_hw_support
Previously, "soc/chip_revision.h" contained a static assert to check that the
CONFIG_ESP_REV_MIN_FULL <= CONFIG_ESP_REV_MAX_FULL. There are two issues with
this assert:

- Contained in a header file, so it is only compiled if the "chip_revision.h"
is included somewhere
- CONFIG_ESP_REV_MIN_FULL and CONFIG_ESP_REV_MAX_FULL are defined in
"esp_hw_support", which is a G0 component. This creates a reverse dependency
of G0 on G1.

This commit moves the static assert "revision.c" in "esp_hw_support".
2023-07-13 12:37:35 +02:00
Li Shuai
19809bdebf power save: fix bcn_timeout and disconnect with error code 201, m f probe req l=0 issue 2023-07-13 16:59:31 +08:00
wuzhenghui
14ea226351 fix(rtc_clk): fix i2c master clock missing in bbpll configure 2023-07-13 14:07:35 +08:00
Chen Jichang
b9c22b126a bugfix(driver/gpio):update the incorrect comment
There are some register description errors in parts of rom/gpio.h
This commit update the incorrect comments in rom/gpio.h And now
esp_rom_gpio.h is recommend instead of rom/gpio.h. So this commit adds
macro SIG_GPIO_OUT_IDX in esp_rom_gpio_connect_out_signal
function and removes the reference to gpio.h in some source files.

Closes https://github.com/espressif/esp-idf/issues/11737
2023-07-13 10:52:50 +08:00
morris
56a376c696 feat(esp_gdma): add hal interface for common operations
GDMA driver will be adapted to more DMA peripherals in the future.
This commit is to extract a minimal interface in the hal layer
2023-07-10 13:45:57 +08:00
Song Ruo Jing
ea48030514 Merge branch 'refactor/rtcio_caps_responsibility' into 'master'
refactor(driver/rtcio): Re-wrap RTCIO APIs with more accurate soc_caps

Closes IDF-7406

See merge request espressif/esp-idf!24522
2023-07-07 14:25:47 +08:00
Armando (Dou Yiwen)
adb93a3770 Merge branch 'feature/add_esp32p4_soc_support_part_3' into 'master'
soc: added soc headers for esp32p4 (part 3)

See merge request espressif/esp-idf!24481
2023-07-07 11:44:46 +08:00
Wu Zheng Hui
94613a5904 Merge branch 'bugfix/fix_deepsleep_wakestub_example_ci_failure_master' into 'master'
ci: fix deepsleep wakestub example ci failure

See merge request espressif/esp-idf!24466
2023-07-07 11:38:14 +08:00
Kevin (Lao Kaiyao)
a6e2ea141a Merge branch 'refactor/adc_2nd_step_calib_coeff_stuff' into 'master'
adc_calib: refactor 2nd step coeff

Closes IDF-7653

See merge request espressif/esp-idf!24397
2023-07-06 20:32:31 +08:00
Armando
2f6ce0cc17 fix(regi2c): wrong ADC_CALI_PD_WORKAROUND on c6, h2 2023-07-06 17:54:31 +08:00
laokaiyao
edc1abc8ea refactor(adc_calib): Simplify 2nd step coefficient calculation
- remove unnecessary variables and calculations
- improve readability of code
2023-07-06 14:22:03 +08:00
Jin Chen
d918b5226c Merge branch 'ble_dev/support_esp32h2_modem_clock_selection' into 'master'
ble: support esp32h2 modem clock selection

Closes EBLE50Y23-129

See merge request espressif/esp-idf!24387
2023-07-06 13:58:11 +08:00
wuzhenghui
05d15a2eed sleep: enrich top_domain_pd_allowed function description 2023-07-05 11:16:44 +00:00
Song Ruo Jing
4985caa38f refactor(driver/rtcio): Re-wrap RTCIO APIs with more accurate soc_caps 2023-07-05 11:47:51 +08:00
Li Shuai
f4c3b07436 fix(rtc_clk): fix the issue of missing configuration for calibration cycles of the internal 32 kHz RC 2023-07-04 11:23:07 +08:00
cjin
3d2342df6c ble: support esp32h2 modem clock selection 2023-07-03 16:05:42 +08:00
xiaqilin
59ffcd07d6 ieee802154: change BLE_BB/ieee802154_BB 2023-07-03 02:21:58 +00:00
xiaqilin
95afd4b9af openthread: add openthread autostart for sleep device 2023-07-03 02:21:58 +00:00
xiaqilin
485a9d44cf ieee802154: add sleep state 2023-07-03 02:21:58 +00:00
xiaqilin
dc4b3f24bc ieee802154: support light sleep 2023-07-03 02:21:58 +00:00
Lou Tian Hao
7c2ac1feb6 Merge branch 'bringup/esp32h2_light_sleep_for_rebase' into 'master'
esp32h2: support light_sleep

Closes IDF-6266 and IDF-7359

See merge request espressif/esp-idf!23567
2023-06-28 10:37:18 +08:00
morris
7fc9d3fe69 Merge branch 'test/check_soc_header_file_compile' into 'master'
soc: check the soc header files can compile

Closes IDF-5721

See merge request espressif/esp-idf!24393
2023-06-27 13:30:19 +08:00
Wu Zheng Hui
173d0951ee Merge branch 'feature/improve_pd_vddsido_help_doc' into 'master'
Power Management: improve ESP_SLEEP_PSRAM/FLASH_LEAKAGE_WORKAROUND help doc

Closes IDFGH-10297

See merge request espressif/esp-idf!24301
2023-06-26 23:01:31 +08:00
morris
1c0be26531 fix(soc): soc header files can pass CI check 2023-06-26 23:00:45 +08:00
Lou Tianhao
6ee0f89676 Power Management: fix hp xtal wait bug for esp32h2 and esp32c6 2023-06-26 21:05:17 +08:00
Lou Tianhao
a329b15e7e Power Management: support pu xtal in light sleep for esp32h2 2023-06-26 21:05:16 +08:00
Lou Tianhao
117008143b bugfix: remove the workaround implemented in MR 22773 about the lp_timer 2023-06-26 21:05:16 +08:00
Lou Tianhao
7fd74057a3 example: bringup light sleep example for esp32h2 2023-06-26 21:05:16 +08:00
Lou Tianhao
2657d8f307 Power Management: change the IO hold interface for esp32c6 2023-06-26 21:05:16 +08:00
Lou Tianhao
ca55b91242 Power Management: update pmu init and sleep parameter 2023-06-26 21:05:16 +08:00
Lou Tianhao
b06cadddb3 Power Management: fix REGDMA clock issue when wake up form light sleep 2023-06-26 21:05:10 +08:00
Lou Tianhao
8457998505 Power Management: fix REGDMA power issue when TOP domain powered down during light sleep for esp32h2 2023-06-26 20:58:59 +08:00
Lou Tianhao
b4210682c8 Power Management: support TOP domain powered down in light sleep for esp32h2 2023-06-26 20:58:59 +08:00
Lou Tianhao
46cf3ecdc2 Power Management: support PAU REGDMA feature for esp32h2 2023-06-26 20:58:59 +08:00
Lou Tianhao
6ea441c815 Power Management: support CPU powered down in light sleep for esp32h2 2023-06-26 20:57:55 +08:00
Lou Tianhao
63d32ab620 Power Management: support DFS and PMU feature for esp32h2 2023-06-26 20:57:55 +08:00
Kevin (Lao Kaiyao)
028c7bee0d Merge branch 'feature/support_new_adc_cali_scheme_on_c6' into 'master'
adc_calib: support calibration v2 on esp32c6

Closes IDF-7610

See merge request espressif/esp-idf!24343
2023-06-26 18:30:19 +08:00
wuzhenghui
95c79e7ec5 Kconfig: improve ESP_SLEEP_PSRAM/FLASH_LEAKAGE_WORKAROUND help doc
Closes https://github.com/espressif/esp-idf/issues/11558
2023-06-26 11:51:56 +08:00
Armando
c448597f24 kconfig: introduced CONFIG_IDF_ENV_BRINGUP for new chip bringup usage 2023-06-26 03:30:23 +00:00
laokaiyao
f949819976 adc_calib: support calibration v2 on esp32c6 2023-06-26 10:40:36 +08:00
wuzhenghui
6fe405bffc ci: fix failed ci test jobs 2023-06-21 15:24:50 +08:00
wuzhenghui
679ae47271 sleep: enable sleep reject when entering deep sleep and return err if sleep request is rejected 2023-06-21 11:27:40 +08:00
Wu Zheng Hui
1be9eee3ca Merge branch 'bugfix/fix_esp32s3_psram_access_failed_in_dfs_master' into 'master'
esp_pm: fix esp32s3 psram access failed when dfs is enabled

Closes IDF-7400 and IDF-4120

See merge request espressif/esp-idf!24144
2023-06-19 17:58:03 +08:00
wuzhenghui
4196eddff1 esp_hw_support: add modem module mac reset api 2023-06-19 12:53:09 +08:00
Island
81e418b1f2 Merge branch 'ble_dev/support_ble_light_sleep_using_extra_link' into 'master'
ESP32C6: Add BLE light sleep support using extra link

Closes IDF-6528

See merge request espressif/esp-idf!23720
2023-06-19 11:47:58 +08:00
wuzhenghui
9074bee47c ci: add access psram with DFS unity test 2023-06-19 10:15:08 +08:00
wuzhenghui
8334403f3c bugfix: fix esp32s3 psram access failed when dfs is enabled 2023-06-19 10:15:04 +08:00
cjin
d2d65a72a0 btbb: support register retention in esp32c6 2023-06-16 15:37:03 +08:00
cjin
f3457133f6 ble:added esp32c6 light sleep support 2023-06-16 15:37:03 +08:00
Song Ruo Jing
921713fff4 uart: Support LP_UART port with UART driver on esp32c6 2023-06-16 07:31:40 +00:00
Jakob Hasse
006e675656 Merge branch 'bugfix/extern_c_decl' into 'master'
esp_hw_support: Added extern "C" declaration

Closes IDF-2860

See merge request espressif/esp-idf!24217
2023-06-14 23:23:37 +08:00
Michael (XIAO Xufeng)
702e97e9be Merge branch 'feat/kconfig_c3_v1.0_dev' into 'master'
esp32c3: add development option for v1.0 chips

See merge request espressif/esp-idf!24205
2023-06-14 15:03:50 +08:00
Armando (Dou Yiwen)
17d6768e65 Merge branch 'feature/add_target_esp32p4' into 'master'
esp32p4: introduce the target

See merge request espressif/esp-idf!24155
2023-06-14 10:16:44 +08:00
Jakob Hasse
e87ac7255c esp_hw_support: Added extern "C" declaration 2023-06-13 13:44:21 +02:00
Michael (XIAO Xufeng)
1490424ab6 esp32c3: add development support option for v1.0 chips 2023-06-13 17:39:13 +08:00
Konstantin Kondrashov
ac188ad074 Merge branch 'bugfix/mac_ext_order_for_c6_h2' into 'master'
esp_hw_support: Change the byte order of MAC for IEEE802154 (C6 and H2 chips)

Closes IDF-6809

See merge request espressif/esp-idf!23988
2023-06-13 16:08:13 +08:00
Armando
101e6a18eb esp32p4: introduce the target
Add esp32p4 target to tools and Kconfig
Create directories and files that are essential for `idf.py --preview set-target esp32p4`
2023-06-13 15:16:11 +08:00
Armando (Dou Yiwen)
f9cd9e3e32 Merge branch 'feature/add_log_when_mspi_timing_tuning_is_enabled' into 'master'
mspi: added timing tuning start, and success log

See merge request espressif/esp-idf!24052
2023-06-12 18:22:13 +08:00
morris
575ad2bd6f Merge branch 'bugfix/adc_outof_bound_read' into 'master'
adc: fix out of bound read

See merge request espressif/esp-idf!24134
2023-06-12 14:13:57 +08:00
Armando
b5142b248d mspi: added timing tuning start, and success log 2023-06-12 11:44:24 +08:00
Wu Zheng Hui
2b6551f84d Merge branch 'bugfix/support_esp326_xtal_xpd' into 'master'
esp32c6: support xtal xpd

Closes IDF-7318

See merge request espressif/esp-idf!22932
2023-06-12 11:28:59 +08:00
morris
88600bd91b driver: minor code clean up to pass coverity scan test 2023-06-10 16:21:12 +08:00
Konstantin Kondrashov
f875978fb3 Merge branch 'bugfix/incorrect_time_after_ota' into 'master'
esp_hw_support: Fix invalid system time if s_esp_rtc_time_us & s_rtc_last_ticks were moved around

Closes IDFGH-7930

See merge request espressif/esp-idf!23030
2023-06-09 00:30:52 +08:00
KonstantinKondrashov
f7dfd1f48e mac_addr(C6 and H2): Fix byte order of MAC_EXT and change format of IEEE802154 MAC
The changes only related to C6 and H2 chips where CONFIG_SOC_IEEE802154_SUPPORTED=y.
For this case these APIs return 8 bytes
    esp_efuse_mac_get_default() -> 8 bytes
    esp_efuse_mac_get_custom() -> 8 bytes
    esp_read_mac(..., ESP_MAC_IEEE802154) -> 8 bytes
The rest cases len is 6 bytes
2023-06-08 23:11:32 +08:00
Mahavir Jain
c20f640d51 Merge branch 'feature/anti_dpa_configuration_c6_h2' into 'master'
esp32c6/esp32h2: crypto: add support for DPA protection configuration

Closes IDF-6973

See merge request espressif/esp-idf!23921
2023-06-08 22:49:21 +08:00
KonstantinKondrashov
cb6e2133f0 esp_hw_support: Fix invalid system time if s_esp_rtc_time_us & s_rtc_last_ticks were moved around
The commit fixes the case:
If variables in RTC RAM have been moved around by the linker,
they will be filled with garbage data. Any reset other than OTA would work fine
because the variables would still be initialized from the initial bootup.

So now system time will be valid even after OTA.

Closes https://github.com/espressif/esp-idf/issues/9448
2023-06-08 21:59:21 +08:00
Michael (XIAO Xufeng)
54712f9d9d Merge branch 'bugfix/esp32_package_name' into 'master'
esp32: stop using deprecated name PICOD2 to avoid confusion

See merge request espressif/esp-idf!24109
2023-06-08 21:06:37 +08:00
wuzhenghui
71563e0995 sleep: Fix domain power down status cannot get updated accordingly with the allowance of retention in runtime 2023-06-08 17:26:18 +08:00
wuzhenghui
8a1e63c8ad feature: support xtal_xpd pmu parameters 2023-06-08 17:23:52 +08:00
Mahavir Jain
1696be719c
crypto: add support for DPA protection configuration in C6/H2
- Technical details covered in section "15.3.2 Anti-DPA Attack Security
Control" chapter of the ESP32-C6 TRM
- Default configuration sets the security level low for the DPA
protection
- This change applies to all the crypto peripherals where the clock
frequency is dynamically adjusted to create randomness in the power
consumption trajectory
- This configuration helps to make the SCA attacks difficult on the
crypto peripherals
2023-06-08 11:09:23 +05:30
Xiao Xufeng
91fc40cfd9 esp32: stop using deprecated name PICOD2 to avoid confusion 2023-06-08 02:09:12 +08:00
laokaiyao
71ef56f988
gdma: support on_recv_done callback 2023-06-07 11:38:32 +08:00
morris
630b1b079e drivers: fix issue reported by coverity 2023-06-06 14:16:09 +08:00
xuxiao
722c60c14b esp_wifi: itwt add setup timeout timer to track response frame 2023-06-02 21:10:32 +08:00
wuzhenghui
713da85988 bugfix: fix sleep failed caused by uart clk lost 2023-06-02 20:52:25 +08:00
wuzhenghui
2981d38000 bugfix: fix some flash funcs called in sleep wakeup process 2023-05-31 17:56:46 +08:00
Jiang Jiang Jian
d89919999e Merge branch 'bugfix/fix_hang_during_sleep_process' into 'master'
bugfix: fix hang on pd_top sleep process

Closes AEG-582

See merge request espressif/esp-idf!23634
2023-05-31 17:23:08 +08:00
Jakob Hasse
d7ce04a5cd esp_hw_support: decrease RNG read frequency on C6 and H2
* The RNG reading frequency of 200 KHz has been too high for
  C6 and H2 since on these chips the RNG output is combined
  with the RTC slow clock which is only 150KHz. Reduced the max
  reading frequency via esp_random() from 200KHz to 62.5KHz,
  which show best results in tests.
  Also updated the bootloader_fill_random() max frequency to the
  same value to be in line, even though it was just 83KHz.
2023-05-30 19:16:53 +08:00
Li Shuai
e505e19798 Merge branch 'bugfix/fix_rc_fast_calibration' into 'master'
rtc_clk: fix esp32c6/esp32h2 eco chip `RC_FAST` bad calibration value

Closes WIFI-5938

See merge request espressif/esp-idf!23927
2023-05-29 19:57:46 +08:00
wuzhenghui
4236644071 feature: skip console uart flush and sleep when estimated uart flush time exceeds the sleep duration to avoid rtos tick jump failed 2023-05-29 16:35:03 +08:00
wuzhenghui
5c74093300 bugfix: treat too short sleep duration as sleep reject by software 2023-05-29 16:35:03 +08:00
wuzhenghui
756b5f628d bugfix: fix pmp retention and add pma retention 2023-05-29 16:35:03 +08:00
Niklas Gürtler
be8a0d08f2 gdma: implement descriptor error callback
Merges https://github.com/espressif/esp-idf/pull/11499
2023-05-26 13:24:34 +08:00
Michael (XIAO Xufeng)
8c2b709817 Merge branch 'bugfix/fix_ocode_check_on_c6' into 'master'
adc_cali: fix the condition of ocode calibration

See merge request espressif/esp-idf!23916
2023-05-26 11:35:51 +08:00
laokaiyao
de8ae73de3 adc_cali: fix the condition of ocode calibration 2023-05-25 21:49:40 +08:00
Michael (XIAO Xufeng)
041ce02a14 Merge branch 'bugfix/add_warning_for_rc_fast_calibration_h2' into 'master'
clk: Add warning log if RC_FAST clock calibration is needed on esp32h2

See merge request espressif/esp-idf!23743
2023-05-25 21:39:02 +08:00
wuzhenghui
3ae1f0ea5d bugfix: fix rc_fast bad calibration value 2023-05-25 21:21:14 +08:00
Kevin (Lao Kaiyao)
7a462d8a86 Merge branch 'feature/support_adc_calibration_on_c6' into 'master'
adc_cali: supported adc calibration on esp32c6

Closes IDF-5312 and IDF-6566

See merge request espressif/esp-idf!23499
2023-05-24 11:31:12 +08:00
laokaiyao
ffb40a89d9 adc_cali: supported channel compensation of adc calibration on esp32c6 2023-05-23 22:44:25 +08:00
Jakob Hasse
d3f77ec352 esp_hw_support/bootloader: made ESP32-C6 and ESP32-H2 RNG available 2023-05-23 18:14:51 +08:00
Sudeep Mohanty
ec742abb25 lp-i2c: Added support for LP I2C peripheral to LP core
This commit adds support for the LP I2C peripheral driver to be used by
the LP core. An example is also added to demonstrate the usage of the LP
I2C peripheral from the LP core.
2023-05-19 07:27:51 +02:00
C.S.M
224430f6b4 Merge branch 'bugfix/tempsensor_wifi_conflict' into 'master'
temperature_sensor: Fix issue that have conflict with phy

Closes IDF-5227, IDF-5992, IDF-5504, and IDF-6113

See merge request espressif/esp-idf!20210
2023-05-19 12:46:55 +08:00
wuzhenghui
d197c59eaa bugfix: move adc_oneshot_power_acquire/release to adc_oneshot_read
Closes https://github.com/espressif/esp-idf/issues/10595
Closes https://github.com/espressif/esp-idf/issues/11386
2023-05-18 10:29:50 +08:00
Cao Sen Miao
e304db558b temperature_sensor: Add new interface and reference counts so that phy and driver can use together 2023-05-17 17:40:59 +08:00
Song Ruo Jing
a9c78245a0 clk: Add warning log if RC_FAST clock calibration is needed on esp32h2 2023-05-16 03:52:11 +00:00
Marius Vikhammer
0036e555e9 Merge branch 'contrib/github_pr_11388' into 'master'
Update esp_cpu.h to include esp_attr.h (GitHub PR)

Closes IDFGH-10113

See merge request espressif/esp-idf!23711
2023-05-16 09:20:07 +08:00
Michael (XIAO Xufeng)
e20a57d42e Merge branch 'Bugfix/fix_tsen_issue' into 'master'
Temperature sensor: fix return value issue @low temp on H2

See merge request espressif/esp-idf!23648
2023-05-12 11:55:47 +08:00
Magnus Sörensen
004d55a5ed
Update esp_cpu.h
If esp_attr.h is not included then there are no definitions for the symbol 'FORCE_INLINE_ATTR'.
2023-05-11 21:23:57 +02:00
Jakob Hasse
c8791f30c0 compiler: replaced noreturn by __noreturn__ in header files
* noreturn may be replaced by third-party macros,
  rendering it ineffective

* Closes https://github.com/espressif/esp-idf/issues/11339
2023-05-11 16:07:45 +08:00
Armando (Dou Yiwen)
476e50b026 Merge branch 'bugfix/fix_mspi_octal_psram_timing_tuning_point_fallback_id' into 'master'
mspi: modified 80mhz octal psram timing tuning point fallback id on s3

See merge request espressif/esp-idf!23627
2023-05-11 11:11:51 +08:00
Li Shuai
87dd7bb51a Merge branch 'bugfix/support_esp32c6_sleep_retention_extra_link' into 'master'
support extra linked list retention for BLE and 15.4

Closes IDF-6528

See merge request espressif/esp-idf!22985
2023-05-10 15:07:03 +08:00
Zim Kalinowski
099ffe6243 Merge branch 'feature/c6_ulp_timer' into 'master'
ulp: lp timer support for lp core

Closes IDF-6956, IDF-6830, and IDF-6835

See merge request espressif/esp-idf!23453
2023-05-10 03:06:35 +08:00
zlq
ff88f42819 H2:fix tsensor issue @low temp 2023-05-09 19:40:53 +08:00
Wu Zheng Hui
35bb946653 Merge branch 'bugfix/update_esp32c6eco1_sleep_fosc_cal_cycles' into 'master'
bugfix: update esp32c6eco1 / esp32h2eco2 fosc calibration cycles during sleep and support calibrate OSC clock every N times lightsleep

Closes IDF-7287

See merge request espressif/esp-idf!23489
2023-05-09 18:44:20 +08:00
Armando
8e4974d66f mspi: modified mspi 80mhz octal psram timing tuning point fallback id on s3 2023-05-08 14:57:12 +08:00
Armando (Dou Yiwen)
38e84bdd4f Merge branch 'refactor/mspi_timing_tuning_compatible_on_all_chips' into 'master'
mspi: timing tuning driver framework

Closes IDF-7004

See merge request espressif/esp-idf!22786
2023-05-08 10:27:29 +08:00
Li Shuai
2e22491b02 sleep retention: implement the extra linked list retention for modules with retention clock bugs 2023-05-06 14:58:00 +08:00
Marius Vikhammer
3ced7b12e8 ulp: add support for using lp timer with lp core on C6 2023-05-06 14:13:14 +08:00
Marius Vikhammer
97aab3bedc Merge branch 'bugfix/gdma_log_nano' into 'master'
gdma: fixed crash from logging when using newlib nano

Closes IDFGH-8134

See merge request espressif/esp-idf!23579
2023-05-06 13:46:50 +08:00
Marius Vikhammer
e806d9c9cb gdma: fixed crash from logging when using newlib nano
Newlib nano printf formatting do not support %z, and will crash if such an identifier
is followed by a %s indentifier.

Closes https://github.com/espressif/esp-idf/issues/9631
2023-05-06 10:51:03 +08:00
David Čermák
292d16b440 Merge branch 'bugfix/linux_target_with_out_lwip' into 'master'
linux: Add lwip support to networking components under linux

See merge request espressif/esp-idf!23053
2023-05-05 17:26:45 +08:00
Michael (XIAO Xufeng)
120d848ef8 Merge branch 'bugfix/fix_wrong_hp_ldo_h2' into 'master'
ESP32H2: Fix wrong hp ldo

See merge request espressif/esp-idf!23501
2023-05-05 14:39:54 +08:00
David Cermak
b2af4d9689 lwip/linux: Add lwip support for networking component under linux
linux/lwip: Wrap some IO posix functions
* to workaourd the FreeRTOS EINTR issue (when building without lwip)
* to correctly choose the sub-system based on fd (when building with
lwip) -- passing control to either linux/system or to lwip
This commit also addapts tapio-if to provide DHCP client by default and
configurable settings for static IP
2023-05-05 05:03:39 +00:00
Armando
dbf3612d6d spi_flash: replace flash clock src change API with mspi timing API 2023-05-04 17:05:35 +08:00
Armando
8eec6558d1 mspi: refactor timing tuning driver to make it compatible with p4 2023-05-04 17:05:35 +08:00
morris
da3b3cf4a4 dma: use ccomp_timer component for testing performance metric
ccomp_timer now becomes a standalone component, located in the component registry.
we can use that in the test app by component manager.
2023-05-04 14:09:36 +08:00
wuzhenghui
dcab6368ce feature: support configuration of sleep clock calibration frequency 2023-05-04 12:09:26 +08:00
wuzhenghui
dd4d1bbe90 bugfix: fix esp32c6eco1 fosc calibration cycles during sleep 2023-05-04 11:46:21 +08:00
Jakob Hasse
0a3cfce671 Merge branch 'contrib/github_pr_10895' into 'master'
Fix possible conversion errors by using __builtin_ffsll (GitHub PR)

Closes IDFGH-9541

See merge request espressif/esp-idf!23429
2023-05-04 10:41:46 +08:00
hongshuqing
430776fc46 fix wrong hp ldo for h2 2023-04-27 17:29:10 +08:00
Jiang Jiang Jian
afd0e384db Merge branch 'feature/support_fosc_calibration_h2_eco2' into 'master'
ESP32H2: Fix fosc calibration fail bug for ECO2 & Above

See merge request espressif/esp-idf!23464
2023-04-27 14:37:38 +08:00
Jakob Hasse
ca44fc3847 cxx/esp_hw_support: added build test, changed parameter types
Changed rv_utils_intr_edge_ack and esp_cpu_intr_edge_ack to
take uint32_t instead of int to avoid build errors.

The test is to test in particular that __builtin_ffsll, used in
xt_utils.h, which is included via esp_cpu.h, compiles fine
in C++20 with -Wsign-conversion enabled.

Closes https://github.com/espressif/esp-idf/pull/10895
2023-04-26 19:06:39 +08:00
hongshuqing
cbc5a38e26 support h2 eco2 fosc calibration 2023-04-26 15:31:18 +08:00
Marius Vikhammer
1a5e47bd07 ci: fixed test apps overriding pytest configs 2023-04-26 11:07:35 +08:00
Zim Kalinowski
4a647d08de Merge branch 'feature/c6_ulp_sleep' into 'master'
ulp: added sleep support for lp core

Closes IDF-7012

See merge request espressif/esp-idf!23103
2023-04-25 22:40:52 +08:00
Mahavir Jain
a8b6a70620 Merge branch 'feature/add_bignum_ll_layer' into 'master'
bignum: added bignum hal and ll layer

Closes IDF-7071

See merge request espressif/esp-idf!22823
2023-04-25 19:50:25 +08:00
Song Ruo Jing
e2a5c092f7 Merge branch 'refactor/rename_to_esp_clk_tree_prefix' into 'master'
esp_clk_tree: Rename clk_tree_xxx to esp_clk_tree_xxx

See merge request espressif/esp-idf!23362
2023-04-25 19:41:39 +08:00
Song Ruo Jing
a4e8960ab4 esp_clk_tree: Rename clk_tree_xxx to esp_clk_tree_xxx, add compilation warning to clk_tree.h 2023-04-25 14:12:06 +08:00
Marius Vikhammer
359b237cc5 ulp: added sleep support for lp core
Added support for running LP core while hp core sleeps, as well
as waking up the hp core.
2023-04-25 11:51:35 +08:00
harshal.patil
56327452ce esp_hw_support: add crypto lock layer for esp32 2023-04-24 16:15:11 +05:30
Marius Vikhammer
895c21cc6b system: fix esp32 chip info not listing esp32 pico v3-02 as having embedded spiram
Closes https://github.com/espressif/esp-idf/issues/11233
2023-04-24 11:23:15 +08:00
Michael (XIAO Xufeng)
59a899230c Merge branch 'feature/support_fosc_calibration_c6_eco1' into 'master'
ESP32C6: Fix fosc calibration fail bug for ECO1 & Above

Closes IDF-7093

See merge request espressif/esp-idf!23215
2023-04-23 18:04:28 +08:00
hongshuqing
e3148369f3 support c6 eco1 fosc calibration
support c6 eco1 fosc calibration

support c6 eco1 fosc calibration

support c6 eco1 fosc calibration

Apply suggestion

Apply

support c6 eco1 fosc calibration

support c6 eco1 fosc calibration
2023-04-23 13:36:20 +08:00
laokaiyao
b7053b46ef esp32h4: remove esp32h4 target from peripherals 2023-04-20 15:19:45 +08:00
morris
4123e611dc esp_rom: add common ROM API to update CPU tick rate 2023-04-19 13:21:26 +08:00
Laukik Hase
f6aadd1e39
esp_hw_support: Update memory ptr location/property checks
- to acknowledge the unused DCACHE added to DRAM for ESP32-S3

- For ESP32-S3, when the DCACHE size is set to 16 kB, the unused 48 kB is added to
  the heap in 2 blocks of 32 kB (from 0x3FCF0000) and 16 kB (from 0x3C000000).
- But, if we try allocating memory from the 16 kB block and run an `esp_ptr_internal`
  check on that memory pointer, it fails as the address block from 0x3C000000
  corresponds to the external memory symbols SOC_DROM_LOW and SOC_EXTRAM_DATA_LOW.
  (E.g. freertos - If the IDLE task stack buffer gets allocated from this region,
  the firmware will abort due to this failure).
- Thus, the checks `esp_ptr_internal`, `esp_ptr_in_drom` and `esp_ptr_byte_accessible`
  have been updated to acknowledge this memory as a part of the DRAM.

Co-authored-by: Mahavir Jain <mahavir@espressif.com>
2023-04-17 10:42:04 +05:30
Wu Zheng Hui
98849634b3 Merge branch 'bugfix/fix_wrong_frame_ptr_after_wake_restore' into 'master'
bugfix: fix wrong RvCoreCriticalSleepFrame ptr value after wake restore

See merge request espressif/esp-idf!23113
2023-04-14 13:22:24 +08:00
wuzhenghui
332d6fddb9 esp_pm: check sleep retention frame integrity in ci UT 2023-04-11 11:18:52 +08:00
Jiang Jiang Jian
a624d8d061 Merge branch 'bugfix/fix_chip_broken_bug_in_monitor_mode_S2' into 'master'
ESP32S2/C3/C2: fixed S2 dangerous power parameters in sleep modes and support S2/C3/C2 different sleep mode

Closes IDF-4999, IDFGH-4893, and IDFGH-7938

See merge request espressif/esp-idf!19598
2023-04-11 09:52:02 +08:00
cje
6c35ee3fc5 fix chip broken bug when run in monitor mode of S2 and modify voltage param to fit all sleep mode of S2/C2/C3 2023-04-10 18:04:24 +08:00
wuzhenghui
b2f6ba87f2 bugfix: fix wrong RvCoreCriticalSleepFrame ptr value after wake restore 2023-04-07 18:55:44 +08:00
Li Shuai
94ebda298a fix the issue of failure of receiving beacons in modem state caused by enabling light sleep in wifi min/max modem sleep mode 2023-04-07 05:57:15 +00:00
morris
6057f16cfc Merge branch 'feature/set_gdma_priority' into 'master'
gdma: support override default channel priority

See merge request espressif/esp-idf!22676
2023-04-06 14:52:35 +08:00
Li Shuai
10d02c6c5c power save: add txq memory to mac retention link to fix tx m f null failure 2023-04-06 11:09:46 +08:00
morris
6c19e7b8a7 gdma: avoid manually start/stop when channel is controled by ETM 2023-04-06 10:49:32 +08:00
morris
1429913042 gdma: support override default channel priority 2023-04-06 10:49:32 +08:00
Song Ruo Jing
5816c47457 spi_flash: Move mspi clock source switch to 64M in 2nd bootloader code from rtc_clk.c to bootloader_flash_config_esp32h2.c 2023-04-04 16:09:47 +08:00
Li Shuai
ec61a0e3cc sleep retention: fix crash issue caused by destroying the module after the module node creation fails 2023-04-03 19:24:33 +08:00
Armando
6d4c0bb3aa mspi: support 120M DDR flash and psram on S3 (experimental) 2023-04-03 10:30:50 +08:00
wuzhenghui
bd80be3b83 bugfix: fix deepsleep saradc leakage 2023-03-31 15:49:43 +08:00
Wu Zheng Hui
ee05082e35 Merge branch 'feature/support_esp32h2_modem_clock' into 'master'
esp32h2: support modem clock driver

Closes IDF-7088

See merge request espressif/esp-idf!22880
2023-03-29 16:49:26 +08:00
Zim Kalinowski
e86864c621 Merge branch 'feature/unify_core_host_target_tests' into 'master'
ci: unify core host target tests

Closes IDF-6621, IDF-6622, IDF-6623, and IDF-6624

See merge request espressif/esp-idf!22944
2023-03-29 15:41:01 +08:00
wuzhenghui
042aa93fa2 workaround: bypass clock power_domain maintaining since esp32h2 sleep is not supported 2023-03-29 13:23:32 +08:00
wuzhenghui
ade6d3e5bc esp_hw_support: support esp32h2 modem_clock driver 2023-03-29 13:23:32 +08:00
wuzhenghui
485f2882d1 modem_clock: rename modem_clock_lp_timer to ble_rtc_timer 2023-03-29 13:23:32 +08:00
Marius Vikhammer
f627506f6b ci: update driver tests to use run_all_single_board_cases() 2023-03-28 17:05:50 +08:00
Marius Vikhammer
a5c70c24e5 Merge branch 'bugfix/memprot_cleanup_iram_attr' into 'master'
memprot: move memprot functions out of IRAM

See merge request espressif/esp-idf!20697
2023-03-28 10:18:22 +08:00
Marius Vikhammer
914bb81b95 ci: move linux host tests to test app folder 2023-03-27 17:41:44 +08:00
Michael (XIAO Xufeng)
dbbc1ba5be Merge branch 'feat/merge_nuttx_patch' into 'master'
G0, G1: fix issues that prevents using G0/G1 components on other platforms

See merge request espressif/esp-idf!22521
2023-03-21 20:48:21 +08:00
Wu Zheng Hui
a79c5ef7ed Merge branch 'bugfix/esp32c6_deep_sleep_minor_fixes' into 'master'
bugfix: esp32c6 deep sleep minor fixes

Closes WIFI-5559, WIFI-5425, WIFI-3494, WIFI-3495, WIFI-4163, and WIFI-4164

See merge request espressif/esp-idf!22697
2023-03-18 14:41:43 +08:00
Kevin (Lao Kaiyao)
d659991bbb Merge branch 'feature/gpio_runtime_preserve' into 'master'
gpio: support runtime reserve

Closes IDF-6731

See merge request espressif/esp-idf!22223
2023-03-18 10:55:44 +08:00
wuzhenghui
cb55d51be4 bugfix: set I2C_MST_SEL_160M always be 1 2023-03-17 19:45:56 +08:00
wuzhenghui
bace80016d bugfix: fix misspell 2023-03-17 19:45:56 +08:00
wuzhenghui
8e397f9bd9 bugfix: no need to do retention in deepsleep 2023-03-17 19:45:56 +08:00
wuzhenghui
c50e5d45a3 feature: add deep sleep prepare callback hook 2023-03-17 19:45:56 +08:00
wuzhenghui
acecfe4ba5 bugfix: Slow clock power domain management has been maintained in pd_flags 2023-03-17 19:42:01 +08:00
Jiang Jiang Jian
68185c11bd Merge branch 'bugfix/fix_unit_test_for_esp_phy' into 'master'
esp_phy: fix failure of unit test for test_phy_rtc_init on ESP32-C6

Closes WIFI-5112

See merge request espressif/esp-idf!22787
2023-03-17 17:56:21 +08:00
Jiang Jiang Jian
73c06b5039 Merge branch 'bugfix/sleep_current_issue_caused_by_sar_adc' into 'master'
sleep current issue caused by sar adc

Closes IDF-6111 and WIFI-4370

See merge request espressif/esp-idf!22769
2023-03-17 17:32:59 +08:00
Jiang Jiang Jian
2658fb7623 Merge branch 'feature/add_memprot_support_for_esp32h2' into 'master'
esp32h2: enable memory protection scheme using PMA and PMP

Closes IDF-6452 and IDF-6332

See merge request espressif/esp-idf!22699
2023-03-17 15:19:52 +08:00
Marius Vikhammer
43784e7a24 memprot: move memprot functions out of IRAM
Memprot functions are no longer placed by default in IRAM,
selecting ESP_PANIC_HANDLER_IRAM will still force panic related memprot
functions to be placed in IRAM.
2023-03-17 14:51:20 +08:00
Jiang Jiang Jian
3f3a2cf560 Merge branch 'bugfix/fix_systimer_stall_issue_in_lightsleep' into 'master'
rtc_sleep: workaround systimer stall issue during sleep on ESP32C3

See merge request espressif/esp-idf!22739
2023-03-17 14:16:36 +08:00
Li Shuai
a25ce78392 sleep: fix sleep current issue caused by sar adc 2023-03-17 13:06:39 +08:00
laokaiyao
c9f780dc2e gpio: support runtime preserve 2023-03-17 11:59:49 +08:00
wangmengyang
20e596bbcf esp_phy: fix failure of unit test for test_phy_rtc_init on ESP32-C6
- esp_phy_enable() blocks in the unit test due to the FE related functions in modem clock registers are not enabled. This MR adds dependency of FE for PHY module.
2023-03-16 12:13:00 +08:00
wanlei
a48d1a85c1 mspi: add test_app measuring time cost of mspi APIs
and merge mspi unit test into this
2023-03-16 11:11:43 +08:00
Gustavo Henrique Nihei
459ebff4ff esp_hw_support: Fix check for SOC_MODEM_CLOCK_IS_INDEPENDENT definition
Signed-off-by: Gustavo Henrique Nihei <gustavo.nihei@espressif.com>
2023-03-16 01:50:22 +08:00
liuning
14ca81f03f rtc_sleep: workaround systimer stall issue during lightsleep on ESP32C3 2023-03-15 20:33:03 +08:00
Mahavir Jain
233d8e1a33
esp32c6: Ensure that previous PMP entry is correctly set for TOR case 2023-03-15 13:16:27 +05:30
Mahavir Jain
891df4eff9
Cleanup soc_memprot_types.h for C6/H2
This header is not required as there is no PMS peripheral in C6/H2

Closes IDF-6332
2023-03-15 13:16:27 +05:30
Mahavir Jain
fb1ef7c6d6
esp32h2: enable memory protection scheme using PMA and PMP
Closes IDF-6452
2023-03-15 13:16:18 +05:30
wanlei
d0c70aa7ac mspi: turn down freq to fix crash when sleep 2023-03-15 11:26:34 +08:00
Jiang Jiang Jian
abc43d8e94 Merge branch 'bugfix/some_small_fix_for_sleep' into 'master'
esp_hw_support/sleep: update soc caps for chips that support power down modem

Closes WIFI-4424

See merge request espressif/esp-idf!20198
2023-03-13 10:47:26 +08:00
Marius Vikhammer
75591a8a13 Merge branch 'ci/driver_single_board' into 'master'
ci: update test apps to use run_all_single_board_cases

See merge request espressif/esp-idf!22669
2023-03-13 09:25:42 +08:00
Wu Zheng Hui
c8364fb921 Merge branch 'feature/add_wakeup_cost_info_to_dslp_wakestub_example' into 'master'
feature: add wake up time cost info to deep_sleep_wake_stub example

See merge request espressif/esp-idf!22683
2023-03-11 15:11:53 +08:00
Jiang Jiang Jian
d5f53fb415 Merge branch 'feature/nan_datapath' into 'master'
NAN Datapath support and console example

Closes WIFI-1223

See merge request espressif/esp-idf!13593
2023-03-11 04:50:10 +08:00
C.S.M
b0b99a9a1b Merge branch 'feature/flash_support_h2' into 'master'
spi_flash: Allow clock frequency up to 64M on ESP32H2

See merge request espressif/esp-idf!22476
2023-03-10 19:13:03 +08:00
wuzhenghui
8820efe2e1 feature: add wake up time cost info to deep_sleep_wake_stub example 2023-03-10 16:37:02 +08:00
Marius Vikhammer
0be8e03907 ci: update test apps to use run_all_single_board_cases 2023-03-10 14:27:09 +08:00
jingli
cb0f517fe3 soc/soc_caps: update soc caps for chips that support power-down of modem hardware
Closes WIFI-4424
2023-03-10 14:15:27 +08:00
Armando (Dou Yiwen)
1b4643d323 Merge branch 'refactor/create_mspi_timing_tuning_ll' into 'master'
mspi: create mspi timing tuning ll

Closes IDF-6638

See merge request espressif/esp-idf!21924
2023-03-10 14:14:23 +08:00
Nachiket Kukade
4c76af3f68 esp_wifi: Add support for NAN Discovery and Datapath
Update wifi lib with below -
1. Create NAN Discovery SM for beaconing & cluster formation
2. Create NAN interface for Tx/Rx of beacons & action frames
3. Add commands & events for NAN Services Publish/Subscribe/Followup
4. Add NAN Datapath definitions, Events, Peer structures
5. Support for forming and parsing of Datapath related attributes
6. Modules for NDP Req, Resp, Confirm, Term, Peer management
7. NAN Interface related additions in Datapath, Data Tx Q's

In addition include below changes -
1. Add netif and driver support for NAN Interface
2. Add simple examples for Publisher-Subscriber usecases
3. Add an advanced console example that supports commands
   for NAN Discovery, Services & Datapath
4. Add wifi_apps for providing better NAN API's and Peer management

Co-authored-by: Shyamal Khachane <shyamal.khachane@espressif.com>
2023-03-10 11:18:23 +05:30
Mahavir Jain
00f30bb199 Merge branch 'esp32c6/fix_pmp_config' into 'master'
esp32c6: Fix incorrect PMP configuration

Closes IDF-6927

See merge request espressif/esp-idf!22435
2023-03-10 12:21:30 +08:00
Cao Sen Miao
bc655a6890 spi_flash: Allow clock frequency up to 64M, and make it default on ESP32H2 2023-03-10 11:39:53 +08:00
Marius Vikhammer
dfedaa2b65 Merge branch 'feature/c6_ulp' into 'master'
ulp: added basic support for building and running a binary in the lp core

Closes IDF-6829 and IDF-6272

See merge request espressif/esp-idf!22554
2023-03-10 09:56:38 +08:00
Armando
36532aaea8 mspi: make mspi_timing_tuning.h available for all supported targets 2023-03-09 10:38:32 +00:00
Armando
99882ac2d1 mspi: mspi timing tuning ll 2023-03-09 10:38:32 +00:00
Sachin Parekh
ed0a1f7b52 esp32c6: Fix incorrect PMP configuration
- Enable pytest memprot tests for C6
2023-03-09 11:37:29 +05:30
Sachin Parekh
7bd5d93905 esp_hw_support: Move cpu protection in port files 2023-03-09 11:37:29 +05:30
Marius Vikhammer
284dabf17f ulp: added basic support for building and running a binary in the lp core 2023-03-09 10:12:23 +08:00
wuzhenghui
43bf9fd3ab bugfix: fix wrong lock in sleep retention entry destroy 2023-03-07 20:56:13 +08:00
Li Shuai
ffcec33057 modem clock: enable all clock enable of wifi module when PMU switch to ACTIVE from sleep state 2023-03-07 16:19:39 +08:00
wuzhenghui
f44e0cdb80 bugfix: add SPI_MEM_MMU_POWER_CTRL_REG to REGDMA_SPIMEM_LINK 2023-03-06 13:41:36 +08:00
wuzhenghui
fd7e8abd73 workaround: bypass esp32c6 flash powedown sleep time adjustment 2023-03-04 00:17:40 +08:00
wuzhenghui
45c2900ec0 resolve WIFI-5150
bugfix: Don't hold CS pin when VDDSDIO is power down to reduce the base current
2023-03-04 00:17:40 +08:00
Li Shuai
1a10eabe41 Power Management: refactor the configuration of each module in sleep mode 2023-03-04 00:17:40 +08:00
Li Shuai
200f69e6eb auto beacon: support esp32c6 autobeacon (advanced DTIM sleep feature)
modem retention: Support esp32c6 wifi MAC and baseband sleep retention

sleep_modem: wifi MAC modem wakeup protect in modem state before PMU trigger sleep enable request

sleep modem: provide a interface to get whether the Modem power domain is allowed to power off during sleep

add i2c_ana master header file to project

auto beacon: release PMU's lock on root clock source (it is locked in the PLL)

wifi receiving beacon frame in PMU modem state strongly depends on the BBPLL
clock, PMU will forcibly lock the root clock source as PLL, when the root
clock source of the software system is selected as PLL, we need to release
the root clock source locking.

When it is judged that the PLL is locked by PMU after wakeing up from the PMU
modem state, switch the root clock source to the PLL in the sleep process (a
critical section).

auto beacon: fix the failure to receive broadcast/multicast frames in modem state

When the multicast field in the beacon frame received in the PMU modem state is
True, the PMU switches to the PMU active state (the PMU waits for the HP LDO to
stabilize and then restores the MAC context) and starts to receive
broadcast/multicast frames (Broadcast/Multicast frames will be sent after a
minimum delay of 48 us after the beacon frame), because the PMU waits for the HP
LDO to stabilize too long (~154 us), which will cause broadcast/multicast frame
reception to be missed.

auto beacon: select the PLL clock source as the REGDMA backup clock source when the PMU switches to ACTIVE from MODEM state

update Digital Peripheral (M2A switch) REGDMA restore time parameter

auto beacon: fix the issue that only channel 1 can connect to AP in modem state
2023-03-04 00:17:40 +08:00
Li Shuai
93c02fed3b light sleep: add modem power domain and power down the modem power domain during sleep 2023-03-04 00:17:40 +08:00
Li Shuai
3a5fe2ab63 light sleep: rename sleep mac bb to modem, it includes MAC and baseband of wifi, bt and ieee802.15.4 modules 2023-03-04 00:17:40 +08:00
wuzhenghui
186da9af93 codeclean: rename sleep_periph to sleep_sys_periph 2023-03-04 00:17:40 +08:00
wuzhenghui
6f7eadf1ea bugfix: fix wrong _ms suffix 2023-03-04 00:17:40 +08:00
wuzhenghui
975a53aee1 bugfix: workaround for CPU stuck due to DBUS request blocking when fetching unaligned instructions in LP_RAM 2023-03-02 18:10:10 +08:00
wuzhenghui
7ee64bd8e8 refactor: always jump to wake stub wrapper after wakeup 2023-03-02 18:10:06 +08:00
wuzhenghui
9eae151f7c esp32c6: bringup deepsleep examples 2023-03-02 15:06:05 +08:00
wuzhenghui
d3ec7880fe bugfix: support GPIO current leakage workaround for esp32c6/esp32h2 2023-03-02 15:06:05 +08:00
wuzhenghui
d1d6b7349f pmu: pmu parameter adjustment 2023-03-02 15:06:05 +08:00
wuzhenghui
709adaaa37 soc_caps: since esp32c6 only support one ext wakeup src, split SOC_PM_SUPPORT_EXT_WAKEUP
Close IDF-5924
2023-03-02 15:06:05 +08:00
Marius Vikhammer
2f6a362be9 Merge branch 'bugfix/c6_pmp_ulp' into 'master'
hw-support: configure PMP to allow writing to ULP memory area

See merge request espressif/esp-idf!22555
2023-03-02 11:56:48 +08:00
zhangwenxu
c07ec73201 efuse: fix esp_read_mac on esp32h2 2023-03-01 14:14:30 +08:00
Marius Vikhammer
3f65959eef hw-support: configure PMP to allow writing to ULP memory area 2023-03-01 12:50:28 +08:00
Armando
663e881868 gdma: fix potential unaligned cache writeback issue 2023-02-28 10:42:22 +08:00
Song Ruo Jing
8486a2c3ad Merge branch 'bugfix/revert_rtc_clock_bbpll_power_on_with_usb' into 'master'
usb_serial_jtag: Improve the code for the issue of usb cdc device unable to work during sleep

Closes IDFGH-6887

See merge request espressif/esp-idf!20973
2023-02-27 23:18:54 +08:00
Song Ruo Jing
1a66459b44 usb_serial_jtag: Improve the code for the issue of usb cdc device unable to work during sleep
1. Remove RTC_CLOCK_BBPLL_POWER_ON_WITH_USB Kconfig option
   During sleep, BBPLL clock always gets disabled
   esp_restart does not disable BBPLL clock, so that first stage bootloader log can be printed
2. Add a new Kconfig option PM_NO_AUTO_LS_ON_USJ_CONNECTED
   When this option is selected, IDF will constantly monitor USB CDC port connection status.
   As long as it gets connected to a HOST, automatic light-sleep will not happen.

Closes https://github.com/espressif/esp-idf/issues/8507
2023-02-27 12:10:49 +08:00
Armando
4997689de5 cache: support h2 and c6 cache error 2023-02-24 16:16:46 +08:00
Armando (Dou Yiwen)
4452a3cf3e Merge branch 'feature/support_h2_adc' into 'master'
adc: support adc h2

Closes IDF-6124, IDF-6214, IDF-6543, IDF-6215, IDF-6664, and IDF-6695

See merge request espressif/esp-idf!22205
2023-02-24 14:28:33 +08:00
Jing Li
a529771d88 Merge branch 'refactor/pm_use_unified_esp_pm_config_t' into 'master'
pm: refactor pm codes to use unified esp_pm_config_t

See merge request espressif/esp-idf!22472
2023-02-24 14:06:19 +08:00
Armando (Dou Yiwen)
aeaf119338 Merge branch 'refactor/resolve_mmu_soc_dependency_to_sdkconfig_h' into 'master'
g0: resolve MMU_PAGE_SIZE not defined in g0 build issue

Closes IDF-5219

See merge request espressif/esp-idf!22447
2023-02-23 12:05:13 +08:00
Armando
486c765a93 adc: remove adc_hal_conf.h
Macros inside adc_hal_conf.h are moved to adc_ll.h
2023-02-23 11:48:31 +08:00
Armando
c2d5c19b28 adc: ll enum renaming 2023-02-23 11:48:31 +08:00
Armando
5653018cd1 esp_adc: support selecting clock source for oneshot driver 2023-02-23 11:48:31 +08:00
Armando
d0e4d36fb6 esp_adc: support h2 oneshot mode and continuous mode 2023-02-23 11:48:31 +08:00
jingli
3a648e8ed6 ci: h2 does not support deep sleep currently, comment some codes to avoid ci error 2023-02-23 11:36:13 +08:00
jingli
4c3d1e24d7 codeclean: remove unused sleep related functions 2023-02-23 11:36:13 +08:00
Alexey Lapshin
1e3c18a94a esp_hw_support: fix gcc-12 compile errors 2023-02-22 05:33:03 +00:00
Armando
c56eb8646b g0: resolve MMU_PAGE_SIZE not defined in g0 build issue 2023-02-22 12:37:40 +08:00
Song Ruo Jing
987fd3208a Merge branch 'feature/esp32h2_clock_basic_support' into 'master'
clk: Add basic clock support for esp32h2

Closes IDF-6265 and IDF-5973

See merge request espressif/esp-idf!21943
2023-02-21 16:16:05 +08:00
Jing Li
75a82988f1 Merge branch 'refactor/wdt_use_unified_type' into 'master'
wdt: refactor wdt codes to use unified type

Closes IDF-5653

See merge request espressif/esp-idf!22378
2023-02-21 09:46:06 +08:00
Song Ruo Jing
2c2a62e323 clk_tree: Add basic clock support for esp32h2
- 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 esp32h2
2023-02-20 17:15:02 +08:00
Omar Chebib
5e5343d429 TWDT: Use the new TWDT Kconfig options in the examples and tests 2023-02-17 11:22:25 +08:00
Armando
b96c370ab8 esp_hw_support: move driver/intr_types.h to esp_hw_support to make it available to all g1+ components 2023-02-15 19:52:06 +08:00
Wu Zheng Hui
113132e4f4 Merge branch 'feature/bringup_esp32c6_light_sleep_pd_top' into 'master'
esp32c6: support light_sleep (Stage 2: support Digital Peripheral power down)

See merge request espressif/esp-idf!22197
2023-02-15 16:17:53 +08:00
jingli
9c37441b17 wdt: refactor wdt codes to use unified type 2023-02-15 12:08:55 +08:00
wuzhenghui
a0492202b7 bugfix: unhold SPI CS pin in pd_top lightsleep 2023-02-15 11:46:41 +08:00
wuzhenghui
0b0da680d2 codeclean: turn on the regdma clock only once 2023-02-15 11:46:40 +08:00
wuzhenghui
248aa6109d codeclean: add sleep_mode args to esp_sleep_start() 2023-02-15 11:46:40 +08:00
Li Shuai
aec3f6db1d light sleep: supported SoC TOP domain powered down 2023-02-15 11:46:40 +08:00
Li Shuai
6e307c04a3 clock retention: supported soc and modem system power and clock sleep retention 2023-02-15 11:46:40 +08:00
fuzhibo@espressif.com
e252748d92 periph retention: runtime critical digital peripherals sleep retention support 2023-02-15 11:46:40 +08:00
Li Shuai
d097bbe40b sleep retention: wraps the regdma link and hardware driver to provide system sleep retention (WiFi, BLE, 15.4 and digital peripheral) support 2023-02-15 11:46:40 +08:00
Li Shuai
8c18393d23 regdma: add regdma link operation api support 2023-02-15 11:46:36 +08:00
Li Shuai
d3e0e3e3b6 pau: implement the pau regdma driver for esp32c6 2023-02-15 10:45:44 +08:00
Cao Sen Miao
fd3e0b0b18 esp32h2(ci): enable target test 2023-02-15 10:20:43 +08:00
morris
e0c98da169 Merge branch 'feature/glitch_filter_h2' into 'master'
gpio: support glitch filter on esp32h2

Closes IDF-6286

See merge request espressif/esp-idf!22273
2023-02-14 13:07:44 +08:00
Mahavir Jain
ac7b42d742
esp_hw_support: fix test apps build for IDF_ENV_FPGA case 2023-02-13 10:27:23 +05:30
Mahavir Jain
e4e4ffa3f4
esp32h2: enable DS peripheral support in driver and test application 2023-02-13 10:27:15 +05:30
Mahavir Jain
2974e8f487 Merge branch 'feature/apm_support_esp32c6' into 'master'
apm: added support for APM on esp32c6

Closes IDF-5819 and IDF-5818

See merge request espressif/esp-idf!22157
2023-02-13 12:45:41 +08:00
morris
a3f887a1fe gpio: support glitch filter on esp32h2 2023-02-11 23:01:01 +08:00
jingli
28c7620cba sleep: fix gpio wakeup not working properly in some cases
Before this fix, when we call esp_pm_configure after gpio_wakeup_enable,
the configuration of GPIO in sleep state in gpio_wakeup_enable will be
overwritten by esp_pm_configure.
2023-02-11 01:06:18 +00:00
jingli
557a1ed1a5 soc_caps: remove SOC_GPIO_SUPPORT_SLP_SWITCH
all esp chips support this feature
2023-02-11 01:06:18 +00:00
Kapil Gupta
30a2558450 esp_wifi: Merge wpa_supplicant and esp_wifi Kconfig 2023-02-11 07:38:45 +08:00
Sachin Billore
8d0f6dab0f apm: added support for APM on esp32c6
Closes: IDF-5819 IDF-5818
2023-02-10 08:18:07 +00:00
wanlei
5300bd3b2f spi: support H2 spi master, slave, slave_hd driver 2023-02-08 11:38:45 +08:00
morris
990c6f58a6 Merge branch 'feature/etm_support_h2' into 'master'
etm: add basic driver on esp32h2

Closes IDF-6225

See merge request espressif/esp-idf!22246
2023-02-08 10:42:10 +08:00
morris
6f8ee89302 etm: add basic driver on esp32h2 2023-02-07 14:54:08 +00:00
wuzhenghui
75d15e8b80 bugfix: remove redundant SOC_PM_SUPPORT_XTAL_PD wrapping
Closes https://github.com/espressif/esp-idf/issues/10681
2023-02-07 20:25:59 +08:00
Jing Li
409804f673 Merge branch 'feature/support_feature_depend_on_rtc_fast_mem_for_esp32c2' into 'master'
esp32c2: support feature(rtc time) depend on rtc fast mem

Closes IDF-3901, IDF-4239, IDF-5053, IDF-5060, and IDF-5131

See merge request espressif/esp-idf!19067
2023-02-07 15:16:01 +08:00
Song Ruo Jing
b72d759290 uart: Add support for esp32h2 2023-02-06 00:48:04 +08:00
jingli
af9c6e3175 esp32c2/rtc: fix 8md256 as rtc slow clk not work properly during deep sleep 2023-02-02 20:41:11 +08:00
jingli
2e4f0c7926 UT/esp32c2: reenable rtc clk calibration compensation UT 2023-02-02 20:26:08 +08:00
jingli
f8cc2ec86d esp32c2: support rtc time feature depend on rtc memory, since c2 does not have rtc memory 2023-02-02 20:25:59 +08:00
Wu Zheng Hui
04987ac201 Merge branch 'feature/add_ram_loadable_app_support' into 'master'
feature: add ram loadable app support

See merge request espressif/esp-idf!19465
2023-02-02 10:28:13 +08:00
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