Commit Graph

376 Commits

Author SHA1 Message Date
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
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
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
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
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
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
laokaiyao
71ef56f988
gdma: support on_recv_done callback 2023-06-07 11:38:32 +08:00
xuxiao
722c60c14b esp_wifi: itwt add setup timeout timer to track response frame 2023-06-02 21:10:32 +08:00
wuzhenghui
5c74093300 bugfix: treat too short sleep duration as sleep reject by software 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
laokaiyao
ffb40a89d9 adc_cali: supported channel compensation of adc calibration on esp32c6 2023-05-23 22:44:25 +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
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
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
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
Armando
8eec6558d1 mspi: refactor timing tuning driver to make it compatible with p4 2023-05-04 17:05:35 +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
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
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
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
laokaiyao
b7053b46ef esp32h4: remove esp32h4 target from peripherals 2023-04-20 15:19:45 +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
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
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
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
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
c50e5d45a3 feature: add deep sleep prepare callback hook 2023-03-17 19:45:56 +08:00