Commit Graph

56 Commits

Author SHA1 Message Date
wuzhenghui ec16bd7132 fix(esp_hw_support): fix p4 OTG phy bad suspend cause high power consumption on sleep 2024-12-26 14:44:22 +08:00
Armando 339c24ca47 refactor(mspi): added mspi_timing_tuning dir 2024-12-04 09:45:03 +08:00
Armando 1eef2e8c19 feat(mspi): supported flash 120MHz SDR timing tuning on ESP32P4 2024-11-28 14:53:19 +08:00
Armando (Dou Yiwen) 7755ce186e Merge branch 'bugfix/fix_none_iram_code_before_xip_psram' into 'master'
rtc: fixed non-iram rtc code in early stage on p4 leading xip_psram stuck

See merge request espressif/esp-idf!31742
2024-06-26 20:47:10 +08:00
Armando 5fe080ea5a fix(rtc): fixed non-iram rtc code in early stage on p4 leading xip_psram stuck 2024-06-26 17:30:59 +08:00
Song Ruo Jing 40f3bc2e57 feat(clk): Add basic clock support for esp32c5 mp
- 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
2024-06-26 14:26:34 +08:00
morris c952cfb673 feat(gpio): reserve gpio output atomically 2024-03-09 10:33:58 +08:00
Marius Vikhammer 2d8d87b396 fix(system): fixed rtc_sleep not being placed in IRAM 2024-02-07 09:47:23 +08:00
laokaiyao ea14b24048 ci(esp32c5): fix the build of the template app 2024-02-05 12:39:35 +08:00
Armando 80e18811db feat(psram): support 200mhz psram, experimental feature for now 2024-01-10 11:52:28 +08:00
wuzhenghui 0ab0d2182e fix(esp_hw_support): fix lightsleep current leakage on usb-phy controlled pad 2023-11-11 13:00:55 +08:00
Xiao Xufeng 28ba080c5e Revert "feat(volt): chip auto adjust volt for esp32c6 & esp32h2"
This reverts commit b221f87e00.
2023-10-12 14:51:54 +08:00
zlq b221f87e00 feat(volt): chip auto adjust volt for esp32c6 & esp32h2 2023-09-28 05:55:42 +00:00
Armando 00df6b378d refactor(sar): build sar_periph_ctrl related files by chip 2023-08-09 19:33:36 +08:00
Armando 706d684418 feat(esp32p4): introduced new target esp32p4, supported hello_world 2023-08-09 19:33:25 +08:00
wuzhenghui 26618ad536 fix(lightsleep): suspend cache before goto sleep
There is a possibility that the cache is still accessing the
SPI flashwhen sleep isolating SPI IO, so it is necessary to
wait for the cache to be free before requesting sleep.
2023-08-01 16:29:04 +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
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
wuzhenghui 2981d38000 bugfix: fix some flash funcs called in sleep wakeup process 2023-05-31 17:56:46 +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
Armando 8eec6558d1 mspi: refactor timing tuning driver to make it compatible with p4 2023-05-04 17:05:35 +08:00
laokaiyao c9f780dc2e gpio: support runtime preserve 2023-03-17 11:59:49 +08:00
Li Shuai 1a10eabe41 Power Management: refactor the configuration of each module in sleep mode 2023-03-04 00:17:40 +08:00
jingli 4c3d1e24d7 codeclean: remove unused sleep related functions 2023-02-23 11:36:13 +08:00
Kapil Gupta 30a2558450 esp_wifi: Merge wpa_supplicant and esp_wifi Kconfig 2023-02-11 07:38:45 +08:00
wuzhenghui a5467f42a0 codeclean: only S series chip VDDSDIO is configurable 2023-01-31 22:12:58 +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
Armando b46cfd15a2 mspi: move timing tuning to esp_hw_support 2023-01-06 14:41:20 +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
Cao Sen Miao 4713a9a7f2 ESP32H2: Introduce new chip target esp32h2, hello_world example supported 2022-12-29 12:29:14 +08:00
wuzhenghui 23e37393a7 esp32c6: add esp_hw_support 2022-09-26 20:32:13 +08:00
morris 5e50ec1d66 systimer: add helper functions to convert between tick and us 2022-07-25 16:08:52 +08:00
morris 7fd9a91034 dma: move from driver to hw_support 2022-06-28 14:17:12 +08:00
Armando (Dou Yiwen) 0b80546f8e Merge branch 'feature/new_esp_psram_component' into 'master'
esp_psram: new esp psram component

Closes IDF-4318, IDF-4382, IDF-4841, and IDFGH-7192

See merge request espressif/esp-idf!18050
2022-06-15 19:16:56 +08:00
Armando 38e5043ae8 esp_psram: new psram component 2022-06-14 15:44:27 +08:00
Darian Leung 61eb7baa6b esp_hw_support: Add esp_cpu.h abstraction and API
This commit updates the esp_cpu.h API. The new API presents a new
abstraction of the CPU where CPU presents the following interfaces:

- CPU Control (to stall/unstall/reset the CPU)
- CPU Registers (to read registers commonly used in SW such as SP, PC)
- CPU Interrupts (to inquire/allocate/control the CPUs 32 interrupts)
- Memory Port (to configure the CPU's memory bus for memory protection)
- Debugging (to configure/control the CPU's debugging port)

Note: Also added FORCE_INLINE_ATTR to the DoxyFile in order to pass doc
        builds for esp_cpu.h
2022-06-14 14:30:58 +08:00
Darian Leung 556ec30457 esp_hw_support: Rename cpu_util.c to cpu.c 2022-06-14 14:30:57 +08:00
Armando 44f771c713 psram: support s3 copy flash to psram 2022-06-10 10:39:29 +08:00
Armando f8249550f8 psram: support .bss on psram on esp32s3 2022-04-19 19:48:00 +08:00
Armando c4bcf1117c esp_hw_support: move soc_memory_types.h helper functions into esp_hw_support 2022-04-08 11:46:10 +08:00
morris 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
Omar Chebib 96b362d1da RTC WDT: Use target name instead of caps for rtc wdt 2022-03-03 13:47:22 +08:00
Omar Chebib dbba26643f RTC WDT: refactor code to remove duplicated code 2022-03-03 13:47:22 +08:00
laokaiyao cf049e15ed esp8684: rename target to esp32c2 2022-01-19 11:08:57 +08:00
Armando 7240ad2b3a psram: refactor spiram.c on esp32s2 2022-01-13 11:07:57 +08:00
Cao Sen Miao 3934e24d22 ESP8684: add spi_flash, efuse, hw_support support 2021-11-06 17:33:44 +08:00
Armando 16a91399f1 psram: put opiram_psram and spiram_psram in internal ram
External memory is accessed via SPI0. When modifying the SPI0 registers,
should put the code in internal RAM. Otherwise when there is an ongoing
SPI0 transaction, CPU changes the SPI0 registers. This is dangerous.
Besides, modifying SPI0 registers may lead external memory to an
unstable state. Therefore putting these code in internal RAM is
necessary.
2021-10-08 17:39:41 +08:00
Shu Chen 5e3689ae0f esp32h2: update esp_system and esp_hw_support to support esp32h2 2021-07-01 19:53:11 +08:00