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
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
Jiang Jiang Jian
73c06b5039
Merge branch 'bugfix/sleep_current_issue_caused_by_sar_adc' into 'master'
...
sleep current issue caused by sar adc
Closes IDF-6111 and WIFI-4370
See merge request espressif/esp-idf!22769
2023-03-17 17:32:59 +08:00
Marius Vikhammer
43784e7a24
memprot: move memprot functions out of IRAM
...
Memprot functions are no longer placed by default in IRAM,
selecting ESP_PANIC_HANDLER_IRAM will still force panic related memprot
functions to be placed in IRAM.
2023-03-17 14:51:20 +08:00
Li Shuai
a25ce78392
sleep: fix sleep current issue caused by sar adc
2023-03-17 13:06:39 +08:00
laokaiyao
c9f780dc2e
gpio: support runtime preserve
2023-03-17 11:59:49 +08:00
Gustavo Henrique Nihei
459ebff4ff
esp_hw_support: Fix check for SOC_MODEM_CLOCK_IS_INDEPENDENT definition
...
Signed-off-by: Gustavo Henrique Nihei <gustavo.nihei@espressif.com>
2023-03-16 01:50:22 +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
Jiang Jiang Jian
abc43d8e94
Merge branch 'bugfix/some_small_fix_for_sleep' into 'master'
...
esp_hw_support/sleep: update soc caps for chips that support power down modem
Closes WIFI-4424
See merge request espressif/esp-idf!20198
2023-03-13 10:47:26 +08:00
jingli
cb0f517fe3
soc/soc_caps: update soc caps for chips that support power-down of modem hardware
...
Closes WIFI-4424
2023-03-10 14:15:27 +08:00
Nachiket Kukade
4c76af3f68
esp_wifi: Add support for NAN Discovery and Datapath
...
Update wifi lib with below -
1. Create NAN Discovery SM for beaconing & cluster formation
2. Create NAN interface for Tx/Rx of beacons & action frames
3. Add commands & events for NAN Services Publish/Subscribe/Followup
4. Add NAN Datapath definitions, Events, Peer structures
5. Support for forming and parsing of Datapath related attributes
6. Modules for NDP Req, Resp, Confirm, Term, Peer management
7. NAN Interface related additions in Datapath, Data Tx Q's
In addition include below changes -
1. Add netif and driver support for NAN Interface
2. Add simple examples for Publisher-Subscriber usecases
3. Add an advanced console example that supports commands
for NAN Discovery, Services & Datapath
4. Add wifi_apps for providing better NAN API's and Peer management
Co-authored-by: Shyamal Khachane <shyamal.khachane@espressif.com>
2023-03-10 11:18:23 +05:30
Li Shuai
1a10eabe41
Power Management: refactor the configuration of each module in sleep mode
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
93c02fed3b
light sleep: add modem power domain and power down the modem power domain during sleep
2023-03-04 00:17:40 +08:00
Li Shuai
3a5fe2ab63
light sleep: rename sleep mac bb to modem, it includes MAC and baseband of wifi, bt and ieee802.15.4 modules
2023-03-04 00:17:40 +08:00
wuzhenghui
186da9af93
codeclean: rename sleep_periph to sleep_sys_periph
2023-03-04 00:17:40 +08:00
wuzhenghui
7ee64bd8e8
refactor: always jump to wake stub wrapper after wakeup
2023-03-02 18:10:06 +08:00
wuzhenghui
9eae151f7c
esp32c6: bringup deepsleep examples
2023-03-02 15:06:05 +08:00
wuzhenghui
d3ec7880fe
bugfix: support GPIO current leakage workaround for esp32c6/esp32h2
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
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
b96c370ab8
esp_hw_support: move driver/intr_types.h to esp_hw_support to make it available to all g1+ components
2023-02-15 19:52:06 +08:00
wuzhenghui
248aa6109d
codeclean: add sleep_mode args to esp_sleep_start()
2023-02-15 11:46:40 +08:00
Li Shuai
aec3f6db1d
light sleep: supported SoC TOP domain powered down
2023-02-15 11:46:40 +08:00
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
Mahavir Jain
8203d40fc3
esp32h2: add support for SHA peripheral
...
Closes IDF-6275
2023-01-30 10:08:58 +05:30
Guillaume Souchere
a5d6f62e7e
heap: Prevent alloc from IRAM to call dram_alloc_to_iram() on esp32c6 target
...
Since DRAM and IRAM are superposed on esp32c6 it is not necessary to convert a freshly allocated
DRAM addr to its IRAM equivalent when MALLOC_CAP_EXEC is passed to heap_caps_malloc(). Instead,
proceed with a default allocation since the address returned by multi_heap_malloc() already belongs
to the IRAM region.
Applies for esp32c6 and every boards with superposed DRAM and IRAM addresses.
2023-01-23 07:42:20 +01: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
1f3507eac0
Merge branch 'feature/gdma_support_h2' into 'master'
...
gdma: support esp32h2
Closes IDF-6222 and IDF-6238
See merge request espressif/esp-idf!21932
2023-01-11 14:04:14 +08:00
morris
6c1d98d556
systimer: assign counter and alarm in esp_hw_support
2023-01-10 17:05:49 +08:00
jiangguangming
51ec91c637
add example deep sleep wake stub
2023-01-10 17:03:50 +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
cb7e957cc4
Merge branch 'feature/io_mux_use_pll80_c6' into 'master'
...
io_mux: support change clock source to PLL_F80M
Closes IDF-6342 and IDF-6345
See merge request espressif/esp-idf!21613
2022-12-29 22:06:52 +08:00
morris
672ac58ad5
io_mux: can set different clock source
2022-12-29 14:46:16 +08:00
Cao Sen Miao
4713a9a7f2
ESP32H2: Introduce new chip target esp32h2, hello_world example supported
2022-12-29 12:29:14 +08:00
Li Shuai
63af1e9631
modem clock(driver): implemented the modem clock driver for esp32c6
2022-12-27 21:31:59 +08:00
wuzhenghui
aa20825659
soc_caps: rename ESP_PD_DOMAIN_RTC8M to ESP_PD_DOMAIN_FOSC
2022-12-27 21:31:21 +08:00
Li Shuai
17f9285524
esp32c6: add SOC_MODEM_CLOCK_IS_INDEPENDENT soc_cap and more pd_caps
2022-12-27 21:31:21 +08:00
Mahavir Jain
078835e358
Merge branch 'contrib/github_pr_10391' into 'master'
...
[Docs] specify Digital Signature byte order, and esp_ds_sign() clarification (GitHub PR)
Closes IDFGH-8978
See merge request espressif/esp-idf!21712
2022-12-21 13:59:00 +08:00
Chip Weinberger
d43dd9246f
[Docs] specify Digital Signature byte order, and esp_ds_sign() clarification
2022-12-19 21:30:03 -08:00
morris
7064b668c6
Merge branch 'feature/etm_api_update' into 'master'
...
etm: introduce config structure for event/task new functions
See merge request espressif/esp-idf!21483
2022-12-12 13:12:09 +08:00
Jakob Hasse
b36c0e823f
Merge branch 'feature/linux_esp_hw_support' into 'master'
...
linux target: add support for building esp_hw_support, soc and hal components for linux target
See merge request espressif/esp-idf!21502
2022-12-12 09:59:31 +08:00
Marius Vikhammer
4ddbaa4166
linux target: add support for building esp_hw_support, soc and hal components for linux target
2022-12-09 13:59:39 +08:00
Song Ruo Jing
9402ab427b
ledc: Add basic support for esp32c6
2022-12-07 18:40:50 +08:00
morris
5c06e9cf40
etm: update etm event task new API
2022-12-07 15:43:20 +08:00
Sachin Parekh
2a01e66b25
esp32s3/memprot: Set permission for Icache region
2022-11-30 13:46:53 +00:00
Aditya Patwardhan
22ad083ccd
Merge branch 'refactor/merge_esp_ds_code_between_targets' into 'master'
...
Merge esp_ds and hmac_hal layers for different targets
Closes IDF-3803, IDF-6144, and DOC-3973
See merge request espressif/esp-idf!21187
2022-11-25 03:59:18 +08:00
Aditya Patwardhan
aa27abb39b
esp_hw_support/esp_ds: Improve documentation for esp_ds_sign and esp_ds_encrypt_params API
2022-11-24 16:03:30 +05:30
Aditya Patwardhan
ac1f4a263b
esp_hw_support: Merge esp_ds.h file for different targets into one
2022-11-24 16:03:30 +05:30
C.S.M
28b2deaf24
Merge branch 'feature/add_target_esp32h2' into 'master'
...
ESP32-H2: Introduce new target for ESP32H2
See merge request espressif/esp-idf!21190
2022-11-24 18:31:19 +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
Cao Sen Miao
86aa4df5b5
ESP32-H2: Introduce new target for ESP32H2
2022-11-23 14:38:05 +08:00
Konstantin Kondrashov
55578295db
Merge branch 'feature/api_to_define_user_mac_addres' into 'master'
...
esp_hw_support: Adds APIs to define user own MAC addresses without generation from the base MAC address
Closes IDFGH-5534 and IDFGH-8022
See merge request espressif/esp-idf!21036
2022-11-17 15:26:35 +08:00
KonstantinKondrashov
244cf14ea8
esp_hw_support: Adds APIs to define user own MAC addresses without generation from the base MAC address
...
Closes https://github.com/espressif/esp-idf/pull/7261
Closes https://github.com/espressif/esp-idf/issues/9531
2022-11-16 19:23:10 +08:00
Jakob Hasse
7fd27f338a
Merge branch 'bugfix/esp_ds_encrypt_param_doc' into 'master'
...
esp_ds: remove requirement of aligned and DMA capable buffer from docs
See merge request espressif/esp-idf!21012
2022-11-14 23:17:35 +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
Mahavir Jain
b168ba98ae
esp_ds: remove requirement of aligned and DMA capable buffer
...
API `esp_ds_encrypt_params` do not require aligned and DMA capable
output buffer for C3/S3/H2/C6. Implementation in ROM code has been
updated to remove usage of DMA mode.
This commit updates the API documentation.
2022-11-09 15:24:36 +05:30
laokaiyao
8677216576
esp32h2: renaming esp32h2 to esp32h4
2022-11-08 17:05:33 +08:00
Marius Vikhammer
1d5d624605
intr_alloc: fixed freed interrupt sources not being able to be allocated again with different flags
...
Mark the vector descriptor source as freed.
2022-11-04 06:39:00 +00:00
Armando
260ee86c37
rtc: united sar peripheral control
2022-10-27 16:51:25 +08:00
Aditya Patwardhan
f9565fd31d
soc/esp_ds.h: Unify esp_ds error codes for all targets
2022-10-27 11:09:25 +05:30
Aditya Patwardhan
a5f1820120
esp_hw_support: Merge esp_hmac.h file for different targets into one
2022-10-27 10:59:54 +05:30
Jiang Jiang Jian
f191b2f034
Merge branch 'bugfix/fix_xtal_related_rtc_params_for_esp32' into 'master'
...
esp32/rtc: fix xtal unstable in some cases when sleep
Closes ESPCS-869
See merge request espressif/esp-idf!20425
2022-10-26 15:57:48 +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
jingli
0a44d09f4f
esp32/rtc: fix xtal unstable in some cases when sleep
...
1. add xtal buf wait to fix high temperature restart issue
2. add min sleep value to fix xtal stop due to too short sleep time issue
2022-10-09 19:58:58 +08:00
wuzhenghui
fca7d70e05
esp32c6: add minimal ci support
...
- enable build_template_app
- enable check public headers
- enable g0 components dependency check
2022-09-26 20:32:13 +08:00
wuzhenghui
fbc19fad70
memory_utils: Modify esp_ptr_in_diram_iram to be compatible with esp32c6
2022-09-26 20:32:13 +08:00
wuzhenghui
23e37393a7
esp32c6: add esp_hw_support
2022-09-26 20:32:13 +08:00
Linda
4723974419
docs: update gpios serving as wakeup source in esp32s2 and esp32s3
2022-09-16 11:23:53 +00:00
wuzhenghui
82ffe7e438
replacing reset by register operations with ROM interfaces to decouple the effects of register name changes
2022-08-31 01:59:36 +00:00
Michael (XIAO Xufeng)
bc0ccd9b6d
Merge branch 'bugfix/rtc_periph_ulp_touch' into 'master'
...
sleep_modes: allow using touch/ULP with RTC_PERIPH domain (including EXT0 wakeup source)
Closes IDF-4528
See merge request espressif/esp-idf!19209
2022-08-25 12:27:29 +08:00
Michael (XIAO Xufeng)
aff90b9853
sleep_modes: allow using touch/ULP with RTC_PERIPH domain (including EXT0 wakeup source)
2022-08-25 12:27:28 +08:00
Marius Vikhammer
7a900bad7f
docs: fix documentation wrongly stating ESP_SLEEP_WAKEUP_GPIO is light sleep only
...
ESP_SLEEP_WAKEUP_GPIO is also a valid deep sleep wakeup cause on targets
with SOC_GPIO_SUPPORT_DEEPSLEEP_WAKEUP
Closes https://github.com/espressif/esp-idf/issues/9567
2022-08-23 16:16:43 +08:00
songruojing
304a8f142d
esp32c6: introduce the target
...
Add esp32c6 target to tools and Kconfig
Create directories and files that are essential for `idf.py --preview set-target esp32c6`
2022-08-19 11:13:02 +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
Jiang Jiang Jian
b885499c74
Merge branch 'refactor/move_common_adc_part_to_hw_support' into 'master'
...
esp_adc: move esp_adc out of g1 dependency list
Closes IDF-5637
See merge request espressif/esp-idf!19159
2022-08-01 15:39:45 +08:00
wuzhenghui
7cb9304b65
Clean IRAM and DRAM address space conversion macros
2022-07-29 17:07:39 +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
Darian
c8ee369a7c
Merge branch 'feature/deprecate-old-cpu-api' into 'master'
...
HAL: Deprecate old CPU/SoC/Interrupt Controller HAL API
Closes IDF-4919 and IDF-5032
See merge request espressif/esp-idf!18987
2022-07-23 00:37:33 +08:00