Commit Graph

138 Commits

Author SHA1 Message Date
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
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
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
Li Shuai
6c1f58f135 pmu: add hal layer codes for esp32c6 2023-01-31 22:12:27 +08:00
Li Shuai
34d0464662 pmu: pmu register address mapping structure redefinition 2023-01-31 22:12:22 +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
Song Ruo Jing
ad55230b0a ledc: Add support for esp32h2; Refactor ledc driver clock source selection related code
LEDC examples and test cases are supported on ESP32H2.
   Switch to use general clock IDs for ledc_clk_cfg_t enum values.
   Deprecate LEDC_USE_RTC8M_CLK.
2023-01-30 19:19:34 +08:00
Mahavir Jain
e7ca2f2622 Merge branch 'feature/esp32c6_enable_hmac_and_ds_support' into 'master'
Feature/esp32c6 enable hmac and ds support

Closes IDF-5355 and IDF-5360

See merge request espressif/esp-idf!21761
2023-01-20 20:30:54 +08:00
Marius Vikhammer
e2d3f7c54c Merge branch 'feature/c6_wdt' into 'master'
wdt: add support for WDTs on C6

Closes IDF-5935 and IDF-5340

See merge request espressif/esp-idf!21038
2023-01-20 10:36:42 +08:00
Marius Vikhammer
5e9e8c396f wdt: add support for WDTs on C6 2023-01-19 12:58:26 +08:00
Aditya Patwardhan
4831edc624
esp32c6/hal: Added support for HMAC and DS on esp32c6
* Update DS test_apps for esp32c6 SoC
2023-01-19 09:53:34 +05:30
Kevin (Lao Kaiyao)
668e125dd4 Merge branch 'feature/support_i2s_on_h2' into 'master'
i2s: support i2s on esp32h2

Closes IDF-6219 and IDF-6700

See merge request espressif/esp-idf!21948
2023-01-19 10:47:33 +08:00