Commit Graph

348 Commits

Author SHA1 Message Date
Marius Vikhammer
b06dc30ba2 feat(lp_wdt): add lp wdt HAL support on C6, H2 and P4 2023-09-06 11:39:27 +08:00
Armando
de77ab3061 change(soc): added SOC_ prefix to mmu defs 2023-09-05 15:47:26 +08:00
Marius Vikhammer
e3861261eb fix(wdt): move non-auto generated wdt values to ll 2023-09-05 11:52:34 +08:00
morris
cf61f63bc2 Merge branch 'feature/hw_crc_esp32p4' into 'master'
feat(gdma): support hardware crc calculation on esp32p4

Closes IDF-7497

See merge request espressif/esp-idf!25307
2023-08-31 14:46:32 +08:00
Song Ruo Jing
91aab6bda0 Merge branch 'feature/add_uart_iram_safe_check' into 'master'
feat(uart): Add sdkconfig.ci.iram_safe test for UART driver

See merge request espressif/esp-idf!25618
2023-08-31 12:57:46 +08:00
morris
b962fdee89 refactor(gdma): add reset and clock control in LL driver 2023-08-31 02:11:47 +00:00
Song Ruo Jing
767698b90d feat(uart): Add sdkconfig.ci.iram_safe test for UART driver 2023-08-30 11:30:03 +08:00
morris
47bb157cab refactor(twai): add reset and clock control to twai LL layer 2023-08-29 22:19:57 +08:00
morris
4a45479336 refactor(lp_periph): move enable and reset control to LL driver 2023-08-28 05:17:56 +00:00
morris
911c388cf8 feat(etm): add core driver support for esp32-p4
esp_etm core driver support:
- channel allocator
- gpio etm sub driver
- gptimer etm sub driver
2023-08-23 15:11:56 +08:00
morris
71cf16ec01 feat(gptimer): use RCC atomic block to enable/reset peripheral 2023-08-22 17:05:35 +08:00
Kevin (Lao Kaiyao)
f629c4b7e9 Merge branch 'feature/i2s_support_mclk_input' into 'master'
feat(i2s): supported external clock source input

Closes IDF-7889

See merge request espressif/esp-idf!24942
2023-08-16 19:07:22 +08:00
Gao Xu
0ceb5f2648 Merge branch 'refactor/cache_disable_enable_interface' into 'master'
refactor(cache): abstract cache rom API in cache_ll.h

Closes IDF-7922

See merge request espressif/esp-idf!25040
2023-08-15 19:43:47 +08:00
Chen Ji Chang
b39fd79cb8 Merge branch 'feature/add_mcpwm_carrier_clk_source' into 'master'
feat(MCPWM): Add mcpwm carrier clk source

Closes IDF-8029

See merge request espressif/esp-idf!25342
2023-08-15 18:04:08 +08:00
Chen Jichang
97d5db32ae feat(MCPWM): Add mcpwm carrier clk source
The MCPWM carrier is part of the operator and can work independently
without the MCPWM timer being enabled. This commit add the MCPWM
carrier clk source.
2023-08-15 13:04:11 +08:00
Armando
8c8affc812 feat(mmu): support mmu and flash mmap driver on p4 2023-08-15 10:17:03 +08:00
laokaiyao
4b6d71447c feat(i2s): supported external clock source input 2023-08-14 03:25:12 +00:00
morris
26f438cf89 Merge branch 'feature/esp32p4_gpio_support' into 'master'
feat(gpio): add support for ESP32P4

Closes IDF-6509

See merge request espressif/esp-idf!24868
2023-08-11 11:49:51 +08:00
Song Ruo Jing
be9afeac86 feat(gpio): add support for ESP32P4 2023-08-10 17:58:49 +08:00
C.S.M
96bf37ab78 Merge branch 'feature/i2c_master_new_driver' into 'master'
I2C: Add new i2c master impl APIs and i2c eeprom example

See merge request espressif/esp-idf!23592
2023-08-10 16:51:31 +08:00
Cao Sen Miao
4ef94fc0dc feat(i2c): Add new API and implementation for I2C driver 2023-08-10 11:55:54 +08:00
Lou Tianhao
808a01e656 feat(pm/deepsleep): Support EXT1_WAKEUP_MODE_PER_PIN 2023-08-09 19:46:25 +08:00
gaoxu
fd759d65b0 refactor(cache): abstract cache rom API in cache_ll.h 2023-08-09 10:32:12 +00:00
Sudeep Mohanty
00955f7e59 fix(lp_i2c): Fixed a bug where the LP_I2C did not send NACK for 16-byte reads
This commit updates the LP_I2C driver used by the LP CPU wherein the
driver did not send out a NACK when we do a read of multiple of the FIFO
depth bytes. This was because the LP I2C controller was configured to
send an ACK when the Rx FIFO reaches the threshold instead of a NACK.
This commit updates the behavior.
2023-08-08 06:35:15 +00:00
Laukik Hase
f281c08ce7
fix(hal): Fix the external memory vaddr region validity check
- For c6, h2 and p4, the vaddr end calculated was off by 1
  byte.
2023-08-02 10:53:26 +05:30
Wan Lei
f5e26a595d Merge branch 'bugfix/spi_bus_unify_defualt_mosi_level' into 'master'
spi: unify default mosi level on all targets

Closes IDF-7683

See merge request espressif/esp-idf!24591
2023-07-25 20:06:09 +08:00
morris
ed36b91517 Merge branch 'feature/mcpwm_trigger_driver' into 'master'
feature(MCPWM): Add MCPWM trigger driver

Closes IDF-3613

See merge request espressif/esp-idf!24829
2023-07-25 18:50:57 +08:00
Chen Jichang
5ab755915b feature(MCPWM): Add MCPWM trigger driver and test
Each MCPWM operator has two Trigger (named T0 and T1), and they can be
routed to GPIO fault signal or timer sync event.Generator can be set up
to perform different action on Trigger event.
This commit add a trigger driver and a test for the driver.
2023-07-25 14:44:41 +08:00
wanlei
8f5851d064 fix(all): unify default mosi level to low on all targets 2023-07-24 15:45:21 +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
Lou Tianhao
e70763f9a4 feat(pm/deepsleep): Support EXT1 wakeup for esp32h2 deep_sleep 2023-07-20 11:43:57 +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
4e9cc65763 change(uart): change sleep code to be cache safe
- Set uart ll with FORCE_INLINE_ATTR
- Add no_flash API periph_ll_uart_enabled api
2023-07-14 20:12:59 +08:00
Li Shuai
21781b1ab1 modem clock: provide a protected wifipwr clock enable/disable interface to fix the bug of selecting xtal as the low power clock source for 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
Song Ruo Jing
9526273085 Merge branch 'bugfix/fix_uart_ll_compatible_with_cpp' into 'master'
fix(uart): Fixed C++ type conversion compile error in uart_ll_get_sclk

Closes IDFGH-10573

See merge request espressif/esp-idf!24690
2023-07-12 17:42:18 +08:00
Song Ruo Jing
b60f4a6f37 fix(uart): Fixed C++ type conversion compile error in uart_ll_get_sclk
Closes https://github.com/espressif/esp-idf/issues/11813
2023-07-11 11:18:00 +08:00
morris
682e5ae450 Merge branch 'feature/esp_gdma_ops' into 'master'
feat(esp_gdma): add hal interface for common operations

Closes IDF-7809

See merge request espressif/esp-idf!24433
2023-07-11 10:40:42 +08:00
Zhang Wen Xu
80e1c5a2b7 Merge branch 'fix/txpower_max_value' into 'master'
IEEE802154: match C6/H2 max txpower value with datasheet

See merge request espressif/esp-idf!24325
2023-07-10 14:42:22 +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
morris
6f3e07d97b Merge branch 'feature/gptimer_linker_file' into 'master'
feat(gptimer): add gptimer linker.lf to control the placement of driver and hal

See merge request espressif/esp-idf!24598
2023-07-06 12:42:47 +08:00
morris
2e5eb30382 Merge branch 'origin/bugfix/fix_header_violations_in_hal_component' into 'master'
Fix(components/hal): fix header violations in hal component

Closes IDF-7658

See merge request espressif/esp-idf!24493
2023-07-06 10:32:25 +08:00
Planck (Lu Zeyu)
333553caf2 fix(hal): check the public header files and fix violations
fix(hal/include): fix header violations in hal component
fix(hal/include): Move type definitions from `xx_hal.h` to `xx_types.h`
fix(hal/include): Move type definitions from `xx_hal.h` to `xx_types.h`
fix(hal/include): Add comment for a far away `#endif`
fix(hal/include): change scope for cpp guard
ci: Remove components/hal/ comment from public headers check exceptions
Add missing include macro sdkconfig.h for header files
Add missing include macro stdbool.h for header files
Add missing include macro stdint.h for header files
Add missing capability guard macro for header files
Add missing cpp guard macro for header files
Remove some useless include macros
Add some missing `inline` attribute for functions defined in header files
Remove components/hal/ from public headers check exceptions
fix(hal/include): fix invalid licenses
fix(hal/include): fix invalid licenses
fix(hal/include): add missing soc_caps.h
fix(hal): include soc_caps.h before cap macro is used
fix(hal): Remove unnecessary target check
fix(hal): fix header and macro problems
Add missing include macro
Remove loop dependency in hal
Add comment for far-away endif
fix(hal): Add missing soc_caps.h
ci: update check_copyright_ignore.txt
Change the sequence of `#include` macro, cpp guard macro
Change the wrap scope of capacity macro

fix(hal): Change position of C++ guard to pass test
2023-07-05 17:33:32 +08:00
morris
81a641d437 feat(gptimer): add gptimer linker.lf to control the placement of driver and hal
since the linker placement of the hal functions are controlled by the Kconfig in the driver component,
we should create the linker.lf in the driver component, not in the hal component.
2023-07-05 12:09:00 +08:00
morris
f0c07f82b5 fix(test): check call graph for hal component 2023-07-05 09:09:01 +08:00
Alexey Lapshin
4df3ff619e feat(esp_system): implement hw stack guard for riscv chips
- add hardware stack guard based on assist-debug module
- enable hardware stack guard by default
- disable hardware stack guard for freertos ci.release test
- refactor rtos_int_enter/rtos_int_exit to change SP register inside them
- fix panic_reason.h header for RISC-V
- update docs to include information about the new feature
2023-07-01 16:27:40 +00:00
zhangwenxu
806ac94b64 IEEE802154: match C6 max txpower value with datasheet 2023-06-28 14:32:45 +08:00
Armando (Dou Yiwen)
b3b9b327a1 Merge branch 'bugfix/fix_s3_adc1_wrong_clk_div' into 'master'
adc: fix adc oneshot mode clk div issue on esp32, esp32s2 and esp32s3

Closes IDF-7654

See merge request espressif/esp-idf!24420
2023-06-28 11:12:40 +08:00
Armando
eaf21a34af fix(adc): fixed esp32, esp32s2,esp32s3 adc oneshot mode clk div issue 2023-06-27 14:40:22 +08:00
Lou Tianhao
01fb28b65b Power Management: move lp_timer_hal.c to upper hal layer for esp32h2 and esp32c6 2023-06-26 21:05:16 +08:00
laokaiyao
1b22591ea7 i2s: fixed i2s_ll compiling failure under C++ evironment
Closes: https://github.com/espressif/esp-idf/issues/11625
2023-06-23 11:41:43 +08:00
wuzhenghui
4196eddff1 esp_hw_support: add modem module mac reset api 2023-06-19 12:53:09 +08:00
Wan Lei
a0dc515143 Merge branch 'refactor/cache_utils_refactor_to_cache_hal' into 'master'
cache: refactor cache_utils to use cache_hal instade

Closes IDF-7172 and IDF-7385

See merge request espressif/esp-idf!23317
2023-06-19 11:54:12 +08:00
Song Ruo Jing
921713fff4 uart: Support LP_UART port with UART driver on esp32c6 2023-06-16 07:31:40 +00:00
wanlei
0f7e39d15a cache: refactor cache_utils into cache_hal instade 2023-06-15 11:50:42 +08:00
Chen Jichang
5150c578fd ledc:add option to put LEDC function into IRAM
The caches are disabled when reading/writing/erasing flash.
All CPUs should always execute code and access data from internal RAM.
Add an IRAM option to enhance the performance of LEDC.

Closes https://github.com/espressif/esp-idf/issues/11554
2023-06-14 18:12:01 +08:00
morris
88600bd91b driver: minor code clean up to pass coverity scan test 2023-06-10 16:21:12 +08:00
laokaiyao
71ef56f988
gdma: support on_recv_done callback 2023-06-07 11:38:32 +08:00
harshal.patil
60ccb8f439 esp32c6: xts-aes register preefix discrepency 2023-05-26 15:33:21 +05:30
wanlei
87848110c1 adc: new feature adc digital monitor supported 2023-05-24 17:46:52 +08:00
laokaiyao
ffb40a89d9 adc_cali: supported channel compensation of adc calibration on esp32c6 2023-05-23 22:44:25 +08:00
Sudeep Mohanty
ec742abb25 lp-i2c: Added support for LP I2C peripheral to LP core
This commit adds support for the LP I2C peripheral driver to be used by
the LP core. An example is also added to demonstrate the usage of the LP
I2C peripheral from the LP core.
2023-05-19 07:27:51 +02:00
C.S.M
224430f6b4 Merge branch 'bugfix/tempsensor_wifi_conflict' into 'master'
temperature_sensor: Fix issue that have conflict with phy

Closes IDF-5227, IDF-5992, IDF-5504, and IDF-6113

See merge request espressif/esp-idf!20210
2023-05-19 12:46:55 +08:00
Cao Sen Miao
faa10947a8 temperature_sensor: Apply new-shared interface in temperature sensor driver 2023-05-18 15:00:36 +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
Cao Sen Miao
ed96dadd06 spi_flash: 2nd stage for supporting flash suspend. (1). Support more esp chips (2). Improve real-time performance (3). Making timing more stable (4) Add documents 2023-05-11 20:10:30 +08:00
morris
6a7f730c77 Merge branch 'feature/efuse_settings' into 'master'
hal: Explicit setting of efuse time settings

See merge request espressif/esp-idf!23533
2023-05-10 19:11:01 +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
Zim Kalinowski
099ffe6243 Merge branch 'feature/c6_ulp_timer' into 'master'
ulp: lp timer support for lp core

Closes IDF-6956, IDF-6830, and IDF-6835

See merge request espressif/esp-idf!23453
2023-05-10 03:06:35 +08:00
KonstantinKondrashov
e48130246a hal: Explicit setting of efuse time settings
EFUSE_PWR_ON_NUM in C3 has default value = 0x2880, now = 0x3000
2023-05-10 00:41:35 +08:00
Wu Zheng Hui
35bb946653 Merge branch 'bugfix/update_esp32c6eco1_sleep_fosc_cal_cycles' into 'master'
bugfix: update esp32c6eco1 / esp32h2eco2 fosc calibration cycles during sleep and support calibrate OSC clock every N times lightsleep

Closes IDF-7287

See merge request espressif/esp-idf!23489
2023-05-09 18:44:20 +08:00
cjin
7a708c35cb pau: fix logic error in extra link retention 2023-05-06 14:58:02 +08:00
Marius Vikhammer
3ced7b12e8 ulp: add support for using lp timer with lp core on C6 2023-05-06 14:13:14 +08:00
morris
eaa4ad502a Merge branch 'bugfix/check_filter_range' into 'master'
rmt: check filter and idle threashold

Closes IDFGH-9977

See merge request espressif/esp-idf!23518
2023-05-05 17:19:45 +08:00
wuzhenghui
dd4d1bbe90 bugfix: fix esp32c6eco1 fosc calibration cycles during sleep 2023-05-04 11:46:21 +08:00
Armando
ea10aac4f0 spi: added transaction length check to refuse longer than hardware supported length 2023-05-04 11:37:23 +08:00
morris
9ae742eb85 rmt: check filter and idle threashold
Closes https://github.com/espressif/esp-idf/issues/11262
2023-04-29 06:51:35 +00:00
Shu Chen
5d222db12f Merge branch 'support/ieee802154_driver_opensrc' into 'master'
ieee802154: Support driver code open src

See merge request espressif/esp-idf!22857
2023-04-26 10:35:42 +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
C.S.M
7d9d27a060 Merge branch 'refactor/driver_ut_to_test_app' into 'master'
CI: Move all UT in driver to test_app

See merge request espressif/esp-idf!23343
2023-04-25 14:10:11 +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
zhangwenxu
c8c1cd1c55 ieee802154: support driver opensrc 2023-04-25 11:48:13 +08:00
Cao Sen Miao
8882ba2ba1 CI: Move all UT in driver to test_app 2023-04-25 10:40:32 +08:00
harshal.patil
4ae1ea7b9f bignum: refactored the hardware abstraction of the mpi peripheral
- `<target>/bignum.c` is replaced by mpi_ll.h ll layer.
- added the mpi hal layer.
2023-04-24 16:15:11 +05:30
Michael (XIAO Xufeng)
59a899230c Merge branch 'feature/support_fosc_calibration_c6_eco1' into 'master'
ESP32C6: Fix fosc calibration fail bug for ECO1 & Above

Closes IDF-7093

See merge request espressif/esp-idf!23215
2023-04-23 18:04:28 +08:00
hongshuqing
e3148369f3 support c6 eco1 fosc calibration
support c6 eco1 fosc calibration

support c6 eco1 fosc calibration

support c6 eco1 fosc calibration

Apply suggestion

Apply

support c6 eco1 fosc calibration

support c6 eco1 fosc calibration
2023-04-23 13:36:20 +08:00
Song Ruo Jing
fcc6514dde ledc: Add an all-in-one HAL function to set fade parameters, and refactor ledc_ll_get_max_duty function 2023-04-21 16:40:54 +08:00
Cao Sen Miao
a3d962d89a brownout: Disable the hardware BOD when BOD interrupt is enabled 2023-04-21 10:22:59 +08:00
Kevin (Lao Kaiyao)
96f2d215a2 Merge branch 'bugfix/i2s_output_wrong_freq_after_switch' into 'master'
i2s: workaround for inaccurate PLL frequency after switching

Closes IDF-6705 and IDFCI-1669

See merge request espressif/esp-idf!22975
2023-04-17 16:26:18 +08:00
laokaiyao
a143a85822 i2s: workaround for inacurate PLL frequency after switching 2023-04-17 03:15:55 +00:00
Omar Chebib
a0f8434f93 i2c: fix a bug in sda sample timing
* Closes https://github.com/espressif/esp-idf/issues/9777

This bug prevented SCL line to work properly after a NACK was received in master mode.
2023-04-13 14:37:44 +08:00
Song Ruo Jing
44915e4251 Merge branch 'bugfix/ledc_channel_update_regression' into 'master'
ledc: Fix two bugs inside LEDC driver

See merge request espressif/esp-idf!23064
2023-04-06 20:52:23 +08:00
Song Ruo Jing
5070e51dde ledc: Fix two bugs inside LEDC driver
1. Regression introduced when refactoring on clock sources selection (0d07f859).
   If channel configuration is called before timer configuration on C6, PWM signal may not be able to output.
2. Missing the improper fade parameter fix inside ledc_set_duty_and_update() function.
2023-04-06 12:37:33 +08:00
morris
1429913042 gdma: support override default channel priority 2023-04-06 10:49:32 +08:00
morris
90c32e8021 Merge branch 'bugfix/glitch_filter_hw_issue' into 'master'
filter: workaround a hw issue in the glitch filter

See merge request espressif/esp-idf!22951
2023-03-30 11:31:06 +08:00
morris
1375627461 filter: workaround a hw issue in the glitch filter
that the internal glitch counter will overflow at 64 constant level
input, causing a wrong filter result
2023-03-29 13:28:07 +08:00
wuzhenghui
485f2882d1 modem_clock: rename modem_clock_lp_timer to ble_rtc_timer 2023-03-29 13:23:32 +08:00
wuzhenghui
43a9456243 modem_clock: implemented the modem clock hal/ll-layer (include modem syscon and lpcon) for esp32h2 2023-03-29 13:23:27 +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
wuzhenghui
bace80016d bugfix: fix misspell 2023-03-17 19:45:56 +08:00
Gustavo Henrique Nihei
866c5cefa4 hal: Fix missing definition for "bool" type
Signed-off-by: Gustavo Henrique Nihei <gustavo.nihei@espressif.com>
2023-03-16 01:50:22 +08:00
Sachin Parekh
0342bb8eab esp32c6/ecc: Remove inverse multiplication mode
On C6, inverse multiplication mode is reserved and not available
2023-03-13 16:39:46 +05:30
Song Ruo Jing
79f34fe524 ledc: Support gamma curve fade feature on esp32c6 and esp32h2 2023-03-10 12:42:46 +08:00
Wu Zheng Hui
31acd5d509 Merge branch 'bugfix/fix_ssc_crash_when_light_sleep_with_main_xtal_power_on' into 'master'
ssc/uart: disable UART_INTR_BRK_DET interrupt to avoid ssc crash when light sleep

See merge request espressif/esp-idf!21252
2023-03-09 14:53:06 +08:00
jingli
238f31d93b uart: add low level func for uart to set err wr mask 2023-03-09 10:28:33 +08:00
Jiang Jiang Jian
7dd7498212 Merge branch 'bugfix/add_mmu_pwr_ctrl_reg_to_retention_link' into 'master'
bugfix: esp32c6 light sleep minor fixes

Closes WIFI-5353

See merge request espressif/esp-idf!22619
2023-03-08 14:44:51 +08:00
Li Shuai
ffcec33057 modem clock: enable all clock enable of wifi module when PMU switch to ACTIVE from sleep state 2023-03-07 16:19:39 +08:00
morris
cc2068684f Merge branch 'feature/support_efuse_for_esp32c6' into 'master'
efuse: Updates efuse table for esp32c6

See merge request espressif/esp-idf!22400
2023-03-06 15:33:11 +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
Wu Zheng Hui
2066977b48 Merge branch 'feature/bringup_esp32c6_deepsleep_support_master' into 'master'
esp32c6: bringup deepsleep examples

Closes IDF-6051, IDF-6052, IDF-5349, IDF-5924, and WIFI-5352

See merge request espressif/esp-idf!22300
2023-03-03 23:53:10 +08:00
Cao Sen Miao
840ff4f865 temperature_sensor: Implement temperature monitor interrupt feature on ESP32H2/ESP32C6 2023-03-03 10:38:40 +08:00
Song Ruo Jing
51777a6862 gpio: Fix io hold functionality on esp32c6 and esp32h2 2023-03-02 18:10:10 +08:00
wuzhenghui
9eae151f7c esp32c6: bringup deepsleep examples 2023-03-02 15:06:05 +08:00
morris
f534247a00 driver: add parallel IO TX driver 2023-03-01 00:43:14 +00:00
KonstantinKondrashov
a0408f7324 efuse: Updates efuse table for esp32c6 2023-02-28 17:13:21 +08:00
Song Ruo Jing
8486a2c3ad Merge branch 'bugfix/revert_rtc_clock_bbpll_power_on_with_usb' into 'master'
usb_serial_jtag: Improve the code for the issue of usb cdc device unable to work during sleep

Closes IDFGH-6887

See merge request espressif/esp-idf!20973
2023-02-27 23:18:54 +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
4997689de5 cache: support h2 and c6 cache error 2023-02-24 16:16:46 +08:00
Armando (Dou Yiwen)
4452a3cf3e Merge branch 'feature/support_h2_adc' into 'master'
adc: support adc h2

Closes IDF-6124, IDF-6214, IDF-6543, IDF-6215, IDF-6664, and IDF-6695

See merge request espressif/esp-idf!22205
2023-02-24 14:28:33 +08:00
Marius Vikhammer
c2f9392be5 Merge branch 'feature/h2_wdt' into 'master'
wdt: add support for H2

Closes IDF-6643 and IDF-6678

See merge request espressif/esp-idf!22422
2023-02-24 13:48:20 +08:00
Armando
486c765a93 adc: remove adc_hal_conf.h
Macros inside adc_hal_conf.h are moved to adc_ll.h
2023-02-23 11:48:31 +08:00
Armando
c2d5c19b28 adc: ll enum renaming 2023-02-23 11:48:31 +08:00
Armando
d0e4d36fb6 esp_adc: support h2 oneshot mode and continuous mode 2023-02-23 11:48:31 +08:00
Marius Vikhammer
5d26a0de9a wdt: add support for H2 2023-02-23 11:22:51 +08:00
Alexey Lapshin
36d0e275a0 hal: always inline clk_tree_ll functions 2023-02-22 05:33:03 +00:00
Song Ruo Jing
987fd3208a Merge branch 'feature/esp32h2_clock_basic_support' into 'master'
clk: Add basic clock support for esp32h2

Closes IDF-6265 and IDF-5973

See merge request espressif/esp-idf!21943
2023-02-21 16:16:05 +08:00
Jing Li
75a82988f1 Merge branch 'refactor/wdt_use_unified_type' into 'master'
wdt: refactor wdt codes to use unified type

Closes IDF-5653

See merge request espressif/esp-idf!22378
2023-02-21 09:46:06 +08:00
Song Ruo Jing
2c2a62e323 clk_tree: Add basic clock support for esp32h2
- 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 for esp32h2
2023-02-20 17:15:02 +08:00
Armando
82ee8403b6 mmu: mmu_hal_check_valid_ext_vaddr_region 2023-02-17 13:04:55 +08:00
jingli
9c37441b17 wdt: refactor wdt codes to use unified type 2023-02-15 12:08:55 +08:00
wuzhenghui
0b0da680d2 codeclean: turn on the regdma clock only once 2023-02-15 11:46:40 +08:00
Li Shuai
5850cd7492 pau: implement the pau regdma hal&ll layer for esp32c6 2023-02-15 10:45:44 +08:00
Wu Zheng Hui
d1b6ff6cca Merge branch 'bugfix/reset_modem_lpcon_in_soft_reset' into 'master'
bugfix: reset modem lpcon in soft reset

See merge request espressif/esp-idf!22347
2023-02-14 10:31:17 +08:00
Mahavir Jain
f4fb62eee7 Merge branch 'bugfix/esp32c6_h2_clk_gate_periph_rst' into 'master'
clk_gate_ll: fix issue with DS peripheral clk reset

Closes IDF-6740

See merge request espressif/esp-idf!22301
2023-02-13 20:06:13 +08:00
wuzhenghui
0afeac9951 bugfix: reset modem lpcon in soft reset 2023-02-13 17:04:35 +08:00
Armando (Dou Yiwen)
d3fec8394f Merge branch 'feature/adc_filter' into 'master'
adc: supported adc digital filter

Closes IDF-2529, IDFGH-9113, and IDFGH-9279

See merge request espressif/esp-idf!22035
2023-02-13 16:43:58 +08:00
Mahavir Jain
2974e8f487 Merge branch 'feature/apm_support_esp32c6' into 'master'
apm: added support for APM on esp32c6

Closes IDF-5819 and IDF-5818

See merge request espressif/esp-idf!22157
2023-02-13 12:45:41 +08:00
Armando
3afa671069 esp_adc: added adc digital filter feature 2023-02-10 16:46:20 +00:00
Cao Sen Miao
bbbe569e03 temperature_sensor: Add support for esp32h2 2023-02-10 16:36:56 +08:00
Sachin Billore
8d0f6dab0f apm: added support for APM on esp32c6
Closes: IDF-5819 IDF-5818
2023-02-10 08:18:07 +00:00
Mahavir Jain
725e1fb3cc
clk_gate_ll: remove DPORT_ prefix as this is not required for H2/C6 2023-02-10 10:48:45 +05:30
Mahavir Jain
06def61fe8
clk_gate_ll: fix issue with DS peripheral clk reset
In ESP32-C6, every peripheral reset enable bit is in different register
(unlike some of the previous SoCs) and hence they must be handled with
multiple register write operations.

This allows AES, MPI peripherals to works correctly after DS peripheral
has done some operations.
2023-02-09 17:15:22 +05:30
Song Ruo Jing
b69f983525 uart: Fix two TX concurrency issues
1. Concurrency might cause ESP_ERR_TIMEOUT when calling uart_wait_tx_done
2. Concurrency might cause RTS line being de-assreted during tx transmission for rs485 mode
2023-02-08 14:24:43 +08:00
Armando
d6844051fc esp_mm: new virtual memory mapping apis via mmu 2023-02-07 20:23:52 +08:00
Song Ruo Jing
b72d759290 uart: Add support for esp32h2 2023-02-06 00:48:04 +08: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
wuzhenghui
7a4d38eac1 example: bringup light sleep example for esp32c6 2023-01-31 22:12:58 +08:00
wuzhenghui
cd9d914ba0 codeclean: clean esp32c6 rtc_sleep related code 2023-01-31 22:12:58 +08:00
Li Shuai
c0ddaa5920 lp_timer: add hal-layer codes for esp32c6 2023-01-31 22:12:27 +08:00