Commit Graph

414 Commits

Author SHA1 Message Date
Marius Vikhammer
52e3f09b32 refactor(spi): moved spi hw sharing func to hw support
Common spi functionality for sharing the SPI bus between modules is moved from esp_driver_spi to
a more fitting location in esp_hw_support (shared HW resource control).

This also allows us to decouple the spi_flash driver from esp_driver_spi, removing
esp_driver_spi and esp_ringbuf from G1 builds.
2023-11-20 12:07:54 +08:00
Lou Tianhao
a02f72bb81 change(pm/ext1): replace deprecated ext1 func 2023-11-17 16:20:54 +08:00
Lou Tianhao
cc0e73a11f feat(pm/ext1): support esp_sleep_enable_io_ext1_wakeup and esp_sleep_disable_io_ext1_wakeup
squash! feat(pm/ext1): support esp_sleep_enable_io_ext1_wakeup and esp_sleep_disable_io_ext1_wakeup
2023-11-17 16:20:38 +08:00
wuzhenghui
6661e11203
fix(esp_hw_support): re-initialize icg map in modem_clock_module_enable 2023-11-17 14:05:23 +08:00
wuzhenghui
783059a592 fix(riscv): supports 1 byte and larger than 64byte range watchpoint setting 2023-11-16 18:11:57 +08:00
Jiang Jiang Jian
97e33fbb75 Merge branch 'bugfix/fix_lightsleep_current_leakage_on_usj_pad' into 'master'
fix(esp_hw_support): fix lightsleep current leakage on usb pad

Closes IDF-6154 and PM-18

See merge request espressif/esp-idf!26470
2023-11-14 11:17:29 +08:00
Marius Vikhammer
d293ad94bd feat(pm): removed dependency on driver component 2023-11-13 15:49:12 +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
Wu Zheng Hui
a9ea49cba2 Merge branch 'bugfix/clear_ulp_wake_intr_in_wake_source_enable' into 'master'
fix(esp_hw_support): clear all type ULP wakeup intr status at ulp wakeup source enable

Closes PM-14

See merge request espressif/esp-idf!26674
2023-11-07 16:58:38 +08:00
morris
d78750306d refactor(emac): use clock_output driver for configuring RMII reference clock 2023-10-31 14:24:48 +08:00
wuzhenghui
18f984fd9c fix(esp_hw_support): clear all type ULP wakeup intr status at ulp wakeup source enable 2023-10-30 11:18:01 +08:00
Lou Tianhao
13a405a32b change(pm): Change sleep callback implement 2023-10-23 08:13:47 +00:00
wuzhenghui
7195bf19df feat(esp_hw_support): support one-to-many signal-gpio mapping output 2023-10-20 14:55:06 +08:00
wuzhenghui
6a436286dc feat(esp_hw_support): add api to gpio driver to support output internal clock on GPIO 2023-10-20 14:35:26 +08:00
Armando (Dou Yiwen)
471f1f61ae Merge branch 'feature/support_sdmmc_ver2_on_p4' into 'master'
sdmmc: esp32p4 support

Closes IDF-6502

See merge request espressif/esp-idf!25405
2023-10-19 22:00:40 +08:00
Jiang Jiang Jian
a94bb6201b Merge branch 'bugfix/deep_sleep_force_to_sleep' into 'master'
fix(esp_hw_support): Return deep sleep APIs to the original behavior

Closes IDFGH-11192, PM-11, and IDF-7600

See merge request espressif/esp-idf!26341
2023-10-19 14:27:02 +08:00
Armando
7879b29b0c feat(dma): added a helper api to check buffer is dma aligned 2023-10-18 11:57:55 +00:00
Michael (XIAO Xufeng)
2308292ca3 Merge branch 'bugfix/revert_pvt' into 'master'
Revert "feat(volt): chip auto adjust volt for esp32c6 & esp32h2"

See merge request espressif/esp-idf!26425
2023-10-16 12:53:07 +08:00
Mahavir Jain
dbc33ca7aa Merge branch 'feature/add_intr_priority_config_option' into 'master'
feat(mbedtls): Add config for interrupt priority in AES and RSA

Closes IDF-7963 and IDF-7964

See merge request espressif/esp-idf!26190
2023-10-16 11:33:03 +08:00
Mahavir Jain
6b62065b92 Merge branch 'fix/crypto_periphs_use_rcc_atomic_blocks' into 'master'
Use rcc atomic blocks to enable/reset crypto peripherals

See merge request espressif/esp-idf!25811
2023-10-13 22:37:58 +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
nilesh.kale
cf4a7bb09d feat(mbedtls): Add config for interrupt priority in AES and RSA(MPI) 2023-10-12 11:06:13 +05:30
harshal.patil
57d10477da
feat(ecdsa): use RCC atomic block to enable/reset the ECDSA peripheral 2023-10-11 14:59:04 +05:30
harshal.patil
43864f7fb4
feat(ds): use RCC atomic block to enable/reset the DS peripheral 2023-10-11 14:59:04 +05:30
harshal.patil
18b93e9564
feat(hmac): use RCC atomic block to enable/reset the HMAC peripheral 2023-10-11 14:59:04 +05:30
harshal.patil
1c6ff8ce9f
feat(ecc): use RCC atomic block to enable/reset the ECC peripheral 2023-10-11 14:59:04 +05:30
harshal.patil
c5cc4f488a
feat(mpi): use RCC atomic block to enable/reset the MPI peripheral 2023-10-11 14:59:03 +05:30
KonstantinKondrashov
cd64b228b1 fix(esp_hw_support): Return deep sleep APIs to the original behavior
Closes https://github.com/espressif/esp-idf/issues/12359
2023-10-09 22:19:22 +08:00
wuzhenghui
c667f5a864 feat: support dump last time sleep context 2023-10-09 10:42:10 +08:00
Lou Tian Hao
adae54faca Merge branch 'bringup/support_callback_mechanism_in_lightsleep_flow' into 'master'
Power Management: support_callback_mechanism_in_lightsleep_flow

Closes WIFI-5936

See merge request espressif/esp-idf!24597
2023-10-08 20:16:01 +08:00
gaoxu
817036f46f fix(adc): power settings not taking into effect on C6 2023-09-28 17:41:42 +00:00
Kevin (Lao Kaiyao)
4c6f4b39f1 Merge branch 'feature/support_i2s_on_p4' into 'master'
feat(i2s): support i2s on esp32p4

Closes IDF-6508

See merge request espressif/esp-idf!24280
2023-09-29 00:50:04 +08:00
laokaiyao
72a0746e62 refactor(apll): move the apll soc caps to clk_tree_ll 2023-09-28 15:03:27 +08:00
zlq
b221f87e00 feat(volt): chip auto adjust volt for esp32c6 & esp32h2 2023-09-28 05:55:42 +00:00
laokaiyao
ff7a11e539 feat(ana_cmpr): supported etm in analog comparator example 2023-09-25 19:57:34 +08:00
laokaiyao
bf2a5653a9 feat(ana_cmpr): supported analog comparator etm function on p4 2023-09-25 19:57:34 +08:00
Mahavir Jain
ab74fb4d92 Merge branch 'feature/locking_layer_for_ecdsa' into 'master'
feat(esp_hw_support): Added locking mechanism for the ECDSA and ECC peripherals

Closes IDF-7990

See merge request espressif/esp-idf!26029
2023-09-25 18:04:21 +08:00
Lou Tianhao
450e685cb7 feat(PowerManagement/lightsleep): Support ESP_SLEEP_EVENT_CALLBACKS 2023-09-25 15:39:18 +08:00
Armando
900aebd158 feat(dma): added APIs for dma specific malloc 2023-09-22 14:19:41 +08:00
harshal.patil
6a7caa7b8e
feat(esp_hw_support): Added locking mechanism for the ECDSA and ECC peripheral 2023-09-20 16:05:50 +05:30
harshal.patil
aa4783519a
feat(esp_hw_support): Add esp_crypto_lock layer for esp32c2 2023-09-20 16:05:49 +05:30
Lou Tian Hao
925a7310ca Merge branch 'feat/add_internal_pull_up_or_pull_down_option_for_deepsleep_wakeup_prepare' into 'master'
feat(pm): add internal pull-up/downs option for gpio used for deepsleep wakeup

Closes IDFGH-10994

See merge request espressif/esp-idf!25972
2023-09-20 10:44:07 +08:00
Lou Tianhao
88364b8b11 feat(pm): add internal pull-up/downs option for gpio used for deepsleep wakeup
stash
2023-09-19 11:00:59 +08:00
liuning
c6db306833 sleep_modem: split esp_wifi_internal_mac_sleep_configure, add lock for pm functions 2023-09-18 11:49:52 +08:00
liuning
90698bf1f5 fix(sleep_modem): fix lightsleep failure if enable lightsleep at phy disabled 2023-09-18 11:46:32 +08:00
Chen Jichang
7638235311 feat(mcpwm): MCPWM event comparator driver
In esp32p4, the MCPWM has a new feature, mainly ETM-oriented.
Each operator has two event comparators, can generate an event
when the count value of the timer that operator connects is equal
to the value of event comparator.
2023-09-11 16:53:34 +08:00
morris
94d39009b4 Merge branch 'feature/esplcd_replace_periph_func_with_atomic' into 'master'
feat(esp_lcd): Replace `periph_module` function call with new ll func

Closes IDF-8167

See merge request espressif/esp-idf!25717
2023-09-07 01:59:04 +08:00
Planck (Lu Zeyu)
86d4f9993f feat(esp_lcd): replace periph_module func with new ll func
Update periph_ctrl.h
2023-09-06 14:42:01 +08:00
morris
e8847a176f refactor(intr): add namespace for intr_cpu_id_t
previously the intr_types.h doesn't have a namespace,
it has the risk of introduing conflict in user's project.
2023-09-06 09:50:41 +08:00
Sudeep Mohanty
5cd989f23b fix(interrupts): Cleanup pending tags in the code base regarding interrupt vectors 2023-09-01 17:18:39 +08:00
Omar Chebib
d3afca3020 Merge branch 'fix/esp32p4_supports_interrupts' into 'master'
feat(riscv): Add support to ESP32-P4's CLIC interrupt controller

Closes IDF-7795 and IDF-7793

See merge request espressif/esp-idf!25383
2023-09-01 11:48:39 +08:00
Omar Chebib
8ca191e4c1 fix(esp32p4): Fixed interrupt handling to use the CLIC controller 2023-08-31 12:16:08 +08:00
morris
200eb866dc feat(gdma): support hardware crc calculation
On ESP32-P4, the GDMA peripherals support CRC calculating.
2023-08-31 02:11:47 +00:00
morris
4a45479336 refactor(lp_periph): move enable and reset control to LL driver 2023-08-28 05:17:56 +00:00
Marius Vikhammer
e07023292a Merge branch 'feature/p4_spinlocks' into 'master'
esp32p4: support spinlocks

Closes IDF-7771

See merge request espressif/esp-idf!25036
2023-08-25 11:43:38 +08:00
Marius Vikhammer
0d9f9e6816 feat(core-systems): add support for spinlock/compare and set on esp32p4 2023-08-24 10:30:25 +08:00
morris
a9c813ca3e feat(hw_support): add atomic code block for peripheral bus clock and reset 2023-08-22 17:05:35 +08:00
Planck (Lu Zeyu)
e99a1e1bdd fix(intr_flags_to_level): fix value returned one more than correct value 2023-08-18 19:49:50 +08:00
Marius Vikhammer
27baef2424 docs(esp32p4): added building docs for ESP32-P4 2023-08-16 10:13:47 +08:00
Armando (Dou Yiwen)
337aeb4b78 Merge branch 'feature/add_esp32p4_hello_world' into 'master'
esp32p4: introduced new chip ESP32P4: Hello World! 🌏

Closes IDF-7523

See merge request espressif/esp-idf!25013
2023-08-10 16:04:55 +08:00
Lou Tianhao
808a01e656 feat(pm/deepsleep): Support EXT1_WAKEUP_MODE_PER_PIN 2023-08-09 19:46:25 +08:00
Armando
706d684418 feat(esp32p4): introduced new target esp32p4, supported hello_world 2023-08-09 19:33:25 +08:00
morris
fd3d1aa101 feat(async_memcpy): refactor driver code to support different DMA backen
To support AHB and AXI DMA memory copy for the same target (esp32p4).
2023-08-03 12:02:09 +08:00
Lou Tian Hao
3f6be5938b Merge branch 'docs/rewrite_all_low_to_any_low_when_not_esp32' into 'master'
Docs: rewrite_all_low_to_any_low_when_not_esp32

See merge request espressif/esp-idf!24997
2023-08-01 20:56:36 +08:00
Mahavir Jain
53ff7d43db Merge branch 'ci/fix_test_switch_ota' into 'master'
fix(app_update): Fix CI test_switch_ota by increasing deepsleep

See merge request espressif/esp-idf!24801
2023-08-01 16:49:25 +08:00
Lou Tianhao
f33188fb35 docs(pm/sleep): rewrite_all_low_to_any_low_when_not_esp32 2023-08-01 11:53:14 +08:00
Armando
e11b154c99 feat(interrupt): mtvt, mtvec base support on p4 2023-07-25 05:59:10 +00:00
Armando
c156e56684 feat(spinlock): added spinlock base support on p4 2023-07-25 05:59:10 +00:00
Armando
bc182ef010 feat(brc_predictor): p4 base support for branch predictor 2023-07-25 05:59:10 +00:00
Lou Tian Hao
57c6c0a1a3 Merge branch 'bringup/esp32h2_deep_sleep_for_rebase' into 'master'
esp32h2: support deep_sleep

Closes IDF-6268, IDF-6572, and IDF-7406

See merge request espressif/esp-idf!24438
2023-07-24 10:47:51 +08:00
Lou Tianhao
0d30bbe855 change(pm/deepsleep): rewrite the option all low as any low for esp32s2, esp32s3, esp32c6 and esp32h2 2023-07-21 20:44:15 +08:00
Kevin (Lao Kaiyao)
7219e50579 Merge branch 'feature/gdma_support_err_eof_callback' into 'master'
feat(gdma): supported rx err_eof interrupt

See merge request espressif/esp-idf!24557
2023-07-21 14:41:46 +08:00
KonstantinKondrashov
28aec9594a fix(app_update): Fix CI test_switch_ota by increasing deepsleep
It increases the deepsleep time from 2000 to 20000.
2000 is too small for esp32-s3 chip.
2023-07-21 13:58:20 +08:00
Ivan Grokhotkov
e6c3f62281 Merge branch 'feature/esp_intr_dump' into 'master'
system: add esp_intr_dump API to debug interrupt allocation

Closes IDF-4281 and IDF-6066

See merge request espressif/esp-idf!23877
2023-07-20 19:53:58 +08:00
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
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
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
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
cjin
9578fdc250 ble : remove extra retention cnt upon deinit temporarily 2023-07-14 10:49:17 +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
9950b6a527 modem clock: gatable clock interface which can gate or ungate modem clock domain 2023-07-13 20:44:56 +08: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
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
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
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 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
46cf3ecdc2 Power Management: support PAU REGDMA feature for esp32h2 2023-06-26 20:58:59 +08:00
Lou Tianhao
63d32ab620 Power Management: support DFS and PMU feature for esp32h2 2023-06-26 20:57:55 +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
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
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