Commit Graph

306 Commits

Author SHA1 Message Date
Cao Sen Miao
4ef94fc0dc feat(i2c): Add new API and implementation for I2C driver 2023-08-10 11:55:54 +08:00
wuzhenghui
a425d8816a feat(esp_hw_support): manage modem_etm clock in modem_clock for bt/154 indepently 2023-08-09 20:19:50 +08:00
Lou Tianhao
808a01e656 feat(pm/deepsleep): Support EXT1_WAKEUP_MODE_PER_PIN 2023-08-09 19:46:25 +08:00
Armando
00df6b378d refactor(sar): build sar_periph_ctrl related files by chip 2023-08-09 19:33:36 +08:00
Lou Tianhao
d59e91c030 feature: support_hp_regi2c_for_esp32c6 2023-08-09 14:24:31 +08:00
wuzhenghui
c34cdd05e9 fix(esp_hw_support): manage i2c_ana_mst clock witch modem clock driver 2023-08-04 10:39:43 +08:00
Armando
dd71c7fe17 fix(pwdet): fix pwdet wrong base address on c6 h2 2023-07-26 14:39:34 +08:00
Song Ruo Jing
99c2691467 change(driver/rtcio): Describe RTCIO CAPS with more accurate note 2023-07-20 11:43:57 +08:00
morris
fb7cc00378 Merge branch 'refactor/reorganize_the_interrupt_description_files' into 'master'
refactor(interrupt): Put the interrupts definitions in soc/interrupts.h

Closes IDF-5776

See merge request espressif/esp-idf!24578
2023-07-19 12:05:56 +08:00
Shen Weilong
e9e6372690 feat(ble): Added ble examples for multiple connections 2023-07-18 12:05:11 +08:00
Chen Jichang
304c7572a6 refactor(interrupt):put the interrupts definitions in soc/interrupts.h
Now the soc interrupts definitions are scattered around in the esp-idf
which are out of sync. Put interrupts definitions in soc/periph_defs.h
(!ESP32) or soc/soc.h(ESP32) together in soc/interrupts.h.
2023-07-17 19:31:56 +08:00
wuzhenghui
2b600df4ee fix(esp_pm): Constrains the minimum frequency of APB_MAX when the modem is working 2023-07-14 20:10:16 +08:00
cjin
cf744f9466 ble: support eco1 BLE light sleep 2023-07-14 10:49:14 +08:00
muhaidong
de03939923 external coex: rename coex gpio struct field names 2023-07-12 19:23:39 +08:00
Jiang Jiang Jian
ccb6e2887a Merge branch 'bugfix/fix_ftm_dist_est' into 'master'
Enable FTM for ESP32C2, fix other FTM issues

Closes WIFI-3464, WIFI-4127, WIFI-4600, WIFI-4655, WIFI-5001, WIFI-5444, WIFI-5472, WIFI-5742, and WIFI-5893

See merge request espressif/esp-idf!22798
2023-07-11 12:20:42 +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
Nachiket Kukade
6e6139061d fix(esp_wifi): Enable FTM for ESP32C2, fix other FTM issues
Enable FTM for ESP32C2 and update wifi libs with below fixes -

1. Bugfixes in Initiator and Responder mode
2. Fix wrong RTT value in first FTM procedure without connection
3. Update FTM calibration values for ESP32S2, S3, C3 and C2
4. Update distance estimation logic
5. Add some useful command parameters in FTM example
6. Fix bug when number of FTM measurement frames received is more
   than (number_of_brusts * FTMs per brust).

Co-authored-by: Sarvesh Bodakhe <sarvesh.bodakhe@espressif.com>
2023-07-10 10:41:37 +05:30
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
65bfa590da feat(soc): soc updates 2023-07-06 18:23:18 +08:00
Armando
2f6ce0cc17 fix(regi2c): wrong ADC_CALI_PD_WORKAROUND on c6, h2 2023-07-06 17:54:31 +08: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
Armando
070040c444 feat(soc): added soc support for esp32p4, part3 2023-07-05 11:45:48 +08:00
morris
0298e6f257 Merge branch 'feature/gpio_num_per_target' into 'master'
refactor(gpio): per-target gpio number definition

See merge request espressif/esp-idf!24546
2023-07-04 14:12:39 +08:00
morris
d623ce0d53 refactor(gpio): per-target gpio number definition 2023-07-03 13:33:11 +08:00
Alexey Lapshin
4df3ff619e feat(esp_system): implement hw stack guard for riscv chips
- add hardware stack guard based on assist-debug module
- enable hardware stack guard by default
- disable hardware stack guard for freertos ci.release test
- refactor rtos_int_enter/rtos_int_exit to change SP register inside them
- fix panic_reason.h header for RISC-V
- update docs to include information about the new feature
2023-07-01 16:27:40 +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
d18a03b0db Merge branch 'refactor/rename_gpio_ext_reg_name_c6_h2' into 'master'
gpio_ext: rename register prefix to be GPIO_EXT_xxx

See merge request espressif/esp-idf!23969
2023-06-26 22:29:39 +08:00
Lou Tianhao
63d32ab620 Power Management: support DFS and PMU feature for esp32h2 2023-06-26 20:57:55 +08:00
Armando
c448597f24 kconfig: introduced CONFIG_IDF_ENV_BRINGUP for new chip bringup usage 2023-06-26 03:30:23 +00:00
Shu Chen
54e45c7be4 Merge branch 'bugfix/fix_multipan_enable_and_update_reg' into 'master'
ieee802154: fix multipan api error and update coex_arb_delay reg

See merge request espressif/esp-idf!24145
2023-06-26 11:00:08 +08:00
laokaiyao
1b22591ea7 i2s: fixed i2s_ll compiling failure under C++ evironment
Closes: https://github.com/espressif/esp-idf/issues/11625
2023-06-23 11:41:43 +08:00
Song Ruo Jing
921713fff4 uart: Support LP_UART port with UART driver on esp32c6 2023-06-16 07:31:40 +00:00
xiaqilin
4d4f68623e ieee802154: fix multipan api error and update coex_arb_delay reg 2023-06-09 17:14:56 +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
Mahavir Jain
c606127315 Merge branch 'fix/xts_aes_register_prefix_discrepancy_c6_h2' into 'master'
fix: xts aes register prefix discrepancy for ESP32H2 and ESP32C6

Closes DOC-5171 and DOC-5179

See merge request espressif/esp-idf!23944
2023-06-06 12:40:57 +08:00
Song Ruo Jing
c8cf7c5824 gpio_ext: rename register prefix to be GPIO_EXT_xxx 2023-05-31 12:55:22 +08:00
harshal.patil
60ccb8f439 esp32c6: xts-aes register preefix discrepency 2023-05-26 15:33:21 +05:30
wuzhenghui
3ae1f0ea5d bugfix: fix rc_fast bad calibration value 2023-05-25 21:21:14 +08:00
laokaiyao
ffb40a89d9 adc_cali: supported channel compensation of adc calibration on esp32c6 2023-05-23 22:44:25 +08:00
KonstantinKondrashov
3550a2d185 efuse(c6): Adds adc calib efuses 2023-05-23 20:34:29 +08:00
Island
72bf74f904 Merge branch 'feature/update_ble_doc_for_esp32c6_esp32h2' into 'master'
ble docs: Update ble doc for esp32c6 and esp32h2

Closes IDF-5926 and IDF-6686

See merge request espressif/esp-idf!23796
2023-05-22 18:50:55 +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
Shen Weilong
2900ed4858 ble docs: Update the ble docs for esp32c6 and esp32h2 2023-05-19 11:01:11 +08:00
Linda
65ee4992ce docs: update the algorithm and key name from AES-XTS to XTS-AES 2023-05-15 17:54:50 +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
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
Shu Chen
5d222db12f Merge branch 'support/ieee802154_driver_opensrc' into 'master'
ieee802154: Support driver code open src

See merge request espressif/esp-idf!22857
2023-04-26 10:35:42 +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
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
zhangwenxu
c8c1cd1c55 ieee802154: support driver opensrc 2023-04-25 11:48:13 +08:00
harshal.patil
4ae1ea7b9f bignum: refactored the hardware abstraction of the mpi peripheral
- `<target>/bignum.c` is replaced by mpi_ll.h ll layer.
- added the mpi hal layer.
2023-04-24 16:15:11 +05:30
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
Hanno
8f1cf01ec8 i2c: introduce chip specific cmd register number
Merges https://github.com/espressif/esp-idf/pull/10811
2023-04-21 19:22:53 +08:00
Michael (XIAO Xufeng)
c7b852b7c7 bootloader: fix analog reset on C6 and H2 2023-04-11 10:23:20 +08:00
Jiang Jiang Jian
badf267022 Merge branch 'bugfix/block9_can_not_be_used_for_fe' into 'master'
efuse: Prevent burning XTS_AES and ECDSA keys into BLOCK9 (BLOCK_KEY5)

Closes IDF-7175

See merge request espressif/esp-idf!23052
2023-04-06 10:17:07 +08:00
KonstantinKondrashov
3d695b9768 efuse: Prevent burning XTS_AES and ECDSA keys into BLOCK9 (BLOCK_KEY5)
eFuse module has a hardware bug.
It is related to ESP32-C3, C6, S3, H2 chips:
    - BLOCK9 (BLOCK_KEY5) can not be used by XTS_AES keys.
For H2 chips, the BLOCK9 (BLOCK_KEY5) can not be used by ECDSA keys.
S2 does not have such a hardware bug.
2023-04-04 18:45:48 +08:00
Zim Kalinowski
6e67c54a92 Merge branch 'feature/replace_some_efuses_for_c6' into 'master'
efuse(esp32c6): Replace PKG_VERSION BLK_VERSION_MINOR BLK_VERSION_MAJOR

Closes IDF-7174

See merge request espressif/esp-idf!22775
2023-04-04 16:34:29 +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
wuzhenghui
485f2882d1 modem_clock: rename modem_clock_lp_timer to ble_rtc_timer 2023-03-29 13:23:32 +08:00
Mahavir Jain
f22daec784 Merge branch 'feature/secure_set_efuses_to_prevent_brick_chip' into 'master'
security: write-protect DIS_ICAHE and DIS_DCACHE

Closes IDF-5177

See merge request espressif/esp-idf!22640
2023-03-29 11:51:09 +08:00
KonstantinKondrashov
723b2e86e5 security: write-protect DIS_ICAHE and DIS_DCACHE
Closes IDF-5177
2023-03-29 00:02:24 +08:00
Rahul Tank
9179456c48 Add Power control specific soc capability 2023-03-24 10:56:03 +05:30
Jiang Jiang Jian
b6fda9723e Merge branch 'bugfix/fix_att_rsp_timeout' into 'master'
Fixed bluedroid host ATT Ignore wrong response error

Closes BLEQABR23-30 and BT-3224

See merge request espressif/esp-idf!22688
2023-03-23 17:10:54 +08:00
Song Ruo Jing
9f972efac0 soc: Fix struct volatile rule in h2 pmu_struct.h 2023-03-22 19:41:40 +08:00
zhiweijian
7ad9e885e4 If it is not 32 chips, hide the configuration item:BT_BLE_RPA_SUPPORTED 2023-03-20 15:54:32 +08:00
wuzhenghui
902064df7d soc_caps: enable SOC_PM_SUPPORT_RTC_PERIPH_PD 2023-03-17 19:42:01 +08:00
KonstantinKondrashov
776a0e8a20 efuse(esp32c6): Replace PKG_VERSION BLK_VERSION_MINOR BLK_VERSION_MAJOR 2023-03-15 23:15:32 +08:00
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
Song Ruo Jing
79f34fe524 ledc: Support gamma curve fade feature on esp32c6 and esp32h2 2023-03-10 12:42:46 +08:00
Rahul Tank
8fc0343e5a Merge branch 'bugfix/modify_configuration_for_ble_5' into 'master'
Nimble: Update example configuration to enable ext adv feature only for BLE5.0 supported chips

See merge request espressif/esp-idf!22409
2023-03-10 12:35:39 +08:00
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
Sachin Parekh
ed0a1f7b52 esp32c6: Fix incorrect PMP configuration
- Enable pytest memprot tests for C6
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
Rahul Tank
d89736babf Nimble: Update example configuration to enable ext adv feature only for BLE5.0 supported chips 2023-03-08 11:59:43 +05:30
morris
cc2068684f Merge branch 'feature/support_efuse_for_esp32c6' into 'master'
efuse: Updates efuse table for esp32c6

See merge request espressif/esp-idf!22400
2023-03-06 15:33:11 +08:00
laokaiyao
fd5bfb2cd4 sdm: fixed wrong sdm struct sequence on esp32h2 2023-03-05 14:10:12 +00:00
Li Shuai
7ee1b09433 power save: wifi beacon monitor support for esp32c6
power save: fix multicast more data always true cause wifi goto sleep fail
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
f95854dc8f soc_caps: add SOC_PM_MODEM_RETENTION_BY_REGDMA caps
soc_caps: add SOC_PM_SUPPORT_BEACON_WAKEUP caps
soc_caps: add SOC_PM_SUPPORT_PMU_MODEM_STATE caps
soc_caps: add SOC_WIFI_SUPPORT_VARIABLE_BEACON_WINDOW caps
soc_caps: add SOC_PM_SUPPORT_MAC_BB_PD caps
2023-03-04 00:17:40 +08:00
wuzhenghui
7fcebce2e5 codeclean: fix struct volatile rule in pmu_struct.h/lp_timer.h 2023-03-04 00:17:40 +08:00
Wu Zheng Hui
2066977b48 Merge branch 'feature/bringup_esp32c6_deepsleep_support_master' into 'master'
esp32c6: bringup deepsleep examples

Closes IDF-6051, IDF-6052, IDF-5349, IDF-5924, and WIFI-5352

See merge request espressif/esp-idf!22300
2023-03-03 23:53:10 +08:00
Cao Sen Miao
840ff4f865 temperature_sensor: Implement temperature monitor interrupt feature on ESP32H2/ESP32C6 2023-03-03 10:38:40 +08:00
Song Ruo Jing
51777a6862 gpio: Fix io hold functionality on esp32c6 and esp32h2 2023-03-02 18:10:10 +08:00
wuzhenghui
4e80c7544a esp32c6: soc caps 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
morris
f534247a00 driver: add parallel IO TX driver 2023-03-01 00:43:14 +00:00
KonstantinKondrashov
a0408f7324 efuse: Updates efuse table for esp32c6 2023-02-28 17:13:21 +08:00
Armando
fda9746bb8 esp_mm: cache_msync API 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
d0e4d36fb6 esp_adc: support h2 oneshot mode and continuous mode 2023-02-23 11:48:31 +08:00
jingli
4c3d1e24d7 codeclean: remove unused sleep related functions 2023-02-23 11:36:13 +08:00
Armando
c56eb8646b g0: resolve MMU_PAGE_SIZE not defined in g0 build issue 2023-02-22 12:37:40 +08:00
KonstantinKondrashov
f3394c488a efuse: Add support for esp32h2 2023-02-21 08:18:14 +00: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