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
jingli
557a1ed1a5
soc_caps: remove SOC_GPIO_SUPPORT_SLP_SWITCH
...
all esp chips support this feature
2023-02-11 01:06:18 +00: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
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
2b5618606b
pmu: clean modem clock pmu related code
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
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
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
6c1d98d556
systimer: assign counter and alarm in esp_hw_support
2023-01-10 17:05:49 +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
b46cfd15a2
mspi: move timing tuning to esp_hw_support
2023-01-06 14:41:20 +08:00
morris
672ac58ad5
io_mux: can set different clock source
2022-12-29 14:46:16 +08:00
Li Shuai
63af1e9631
modem clock(driver): implemented the modem clock driver for esp32c6
2022-12-27 21:31:59 +08:00
morris
5c06e9cf40
etm: update etm event task new API
2022-12-07 15:43:20 +08:00
morris
356c6bb528
gdma: support etm extension
2022-11-23 15:32:34 +08:00
morris
fb26d0e11f
etm: added etm channel allocator
2022-11-23 15:31:33 +08:00
Song Ruo Jing
d0a7dc3e9f
gpio: Fix IO hold function related problems
...
1. Fix deep sleep wakeup IOs can not be unhold issue
2. Correct hold related APIs' description
3. Fix gpio_force_hold_all API
docs: Add GPIO wakeup source to sleep_modes doc for ESP32C3 and C2
2022-11-11 20:39:04 +08:00
laokaiyao
8677216576
esp32h2: renaming esp32h2 to esp32h4
2022-11-08 17:05:33 +08:00
Armando
260ee86c37
rtc: united sar peripheral control
2022-10-27 16:51:25 +08:00
jingli
b903a2253b
esp_hw_support/sleep: fix current leakage when hold digital io during deep sleep
2022-10-11 12:11:28 +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
jingli
ee3423834e
kconfig: refactor xtal freq kconfig to common configuration item
2022-08-05 19:12:29 +08:00
Armando
5e6a16380a
esp_adc: move adc common hw related code into esp_hw_support
2022-07-28 03:49:48 +00:00
morris
5e50ec1d66
systimer: add helper functions to convert between tick and us
2022-07-25 16:08:52 +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
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
morris
7fd9a91034
dma: move from driver to hw_support
2022-06-28 14:17:12 +08:00
Cao Sen Miao
2c0651a671
Add regi2c enable/disable reference count
2022-06-23 15:36:44 +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
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
Armando
38e5043ae8
esp_psram: new psram component
2022-06-14 15:44:27 +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
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
morris
9ab4abfb46
hw_support: move rtc_ctrl from driver to hw_support
2022-04-29 14:28:09 +08:00
Armando
f8249550f8
psram: support .bss on psram on esp32s3
2022-04-19 19:48:00 +08:00
Michael (XIAO Xufeng)
f3adbf9953
esp_phy: use spinlock to avoid regi2c access conflicts
2022-04-01 10:49:29 +08:00
morris
29e9b5b46a
hw_support: move periph_ctrl from driver to hw_support
2022-03-29 11:53:31 +08:00
Michael (XIAO Xufeng)
d5bdf95580
hw_support: fixed regi2c not protected by lock on ESP32S2
2022-03-13 00:24:08 +08: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
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