Commit Graph

1126 Commits

Author SHA1 Message Date
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
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
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
Armando
fda9746bb8 esp_mm: cache_msync API 2023-02-28 10:42:22 +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
Mahavir Jain
ad19981af8 Merge branch 'feature/esp32h2_enable_flash_encryption' into 'master'
Feature/esp32h2 enable flash encryption

Closes IDF-6282 and IDF-6680

See merge request espressif/esp-idf!22502
2023-02-27 16:55:32 +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 (Dou Yiwen)
dc76dde79f Merge branch 'feature/support_c6_cache' into 'master'
cache: support c6/h2 cache error

Closes IDF-5342, IDF-5656, and IDF-6255

See merge request espressif/esp-idf!22078
2023-02-27 11:40:18 +08:00
Aditya Patwardhan
b5b7f32e46 hal/esp32h2: Enable ll layer for flash encryption 2023-02-24 15:21:51 +05:30
Armando
4997689de5 cache: support h2 and c6 cache error 2023-02-24 16:16:46 +08:00
Darian
57b6be22a7 Merge branch 'bugfix/twai_listen_only_errata' into 'master'
TWAI: Add errata workaround for listen only mode

Closes IDFGH-7602

See merge request espressif/esp-idf!22479
2023-02-24 16:12:05 +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
Jing Li
a529771d88 Merge branch 'refactor/pm_use_unified_esp_pm_config_t' into 'master'
pm: refactor pm codes to use unified esp_pm_config_t

See merge request espressif/esp-idf!22472
2023-02-24 14:06:19 +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
Darian Leung
72becf31e4 twai: Add errata workaround for listen only mode
This commit adds a workaround for the TWAI listen only mode errata which is
present on the ESP32, ESP32-S2, ESP32-S3, and ESP32-C3. twai_get_status_info()
has also been updated to account for the fact that TEC/REC are frozen in
listen only mode.

Errata Description:

When the TWAI controller is put into listen only mode, it should not influence
the TWAI bus in any way (i.e., should never send a dominant bit). However,
on the targets listed above, the TWAI controller will send dominant bits in an
error frame (i.e., active error frame), even if the controller is set to listen
only mode.

Workaround:

We can force the TWAI controller into the error passive state on startup (by
setting the REC to >= 128). Since the TEC/REC are frozen in listen only mode,
the TWAI controller will remain error passive and only send recessive bits
(i.e., passive error frames), thus will not influence the TWAI bus.

Closes https://github.com/espressif/esp-idf/issues/9157
2023-02-23 12:50:06 +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
5653018cd1 esp_adc: support selecting clock source for oneshot driver 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
jingli
4c3d1e24d7 codeclean: remove unused sleep related functions 2023-02-23 11:36:13 +08:00
Marius Vikhammer
5d26a0de9a wdt: add support for H2 2023-02-23 11:22:51 +08:00
Alexey Lapshin
1484f2d4f6 Merge branch 'feature/update-gnu-toolchain-to-12.2.0_20230208' into 'master'
tools: update GNU toolchain version to 'esp-12.2.0_20230208'

Closes GCC-297, GCC-224, GCC-299, GCC-254, and GCC-256

See merge request espressif/esp-idf!22270
2023-02-23 01:57:51 +08:00
morris
1c9b96ab37 Merge branch 'feature/support_efuse_for_esp32h2' into 'master'
efuse: Add support for esp32h2

Closes IDF-6252, IDF-4337, and IDF-6897

See merge request espressif/esp-idf!22393
2023-02-22 13:41:40 +08:00
Alexey Lapshin
1e65ea8889 hal: always inline mmu_ll_check_valid_paddr_region for esp32h2 2023-02-22 05:33:03 +00:00
Alexey Lapshin
36d0e275a0 hal: always inline clk_tree_ll functions 2023-02-22 05:33:03 +00:00
Wan Lei
66cda021d0 Merge branch 'feature/h2_gpio_hysteresis_support' into 'master'
gpio: h2 support input hysteresis filter

Closes IDF-6653

See merge request espressif/esp-idf!22263
2023-02-21 17:27:56 +08:00
KonstantinKondrashov
f3394c488a efuse: Add support for esp32h2 2023-02-21 08:18:14 +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
Wan Lei
cf5387fc76 Merge branch 'feature/h2_twai_support' into 'master'
twai: h2 support twai driver

Closes IDF-6217 and IDF-6673

See merge request espressif/esp-idf!22174
2023-02-21 11:43:51 +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
wanlei
c9bcec9212 gpio: h2 support input hysteresis filter 2023-02-20 19:34:48 +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 (Dou Yiwen)
0c635543ff Merge branch 'feature/support_shared_vs_non_shared_mmap' into 'master'
esp_mm: share and non-share mapping

Closes IDF-6575

See merge request espressif/esp-idf!22320
2023-02-18 08:02:15 +08:00
Armando
82ee8403b6 mmu: mmu_hal_check_valid_ext_vaddr_region 2023-02-17 13:04:55 +08:00
Laukik Hase
4cf889b692
memprot: Fix incorrect faulting address reported for esp32c3 & esp32s3
Co-authored-by: Mahavir Jain <mahavir@espressif.com>
2023-02-16 15:27:11 +05:30
wanlei
fdeeced62c twai: h2 support twai driver 2023-02-16 16:34:23 +08:00
Alexey Lapshin
31b7f8f1d8 Merge branch 'fix/revert-sdio-slave-gcc11-workaround' into 'master'
sdio_slave: fix strict aliasing violation for sdio_ringbuf_recv()

Closes GCC-277

See merge request espressif/esp-idf!22085
2023-02-16 14:32:59 +08:00
Wan Lei
814df0ea28 Merge branch 'bugfix/fix_h4_spi_file_missing' into 'master'
spi: fix spi support on h4 after diver/cmakelist refactored

See merge request espressif/esp-idf!22358
2023-02-15 18:41:49 +08:00
wanlei
217e36bec0 spi: fix spi support on h4 after diver/cmakelist refactored 2023-02-15 12:12:22 +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
d3e0e3e3b6 pau: implement the pau regdma driver for esp32c6 2023-02-15 10:45:44 +08:00
Li Shuai
5850cd7492 pau: implement the pau regdma hal&ll layer for esp32c6 2023-02-15 10:45:44 +08:00
Sachin Billore
120fcec026 apm: added support for APM on esp32h2
Closes IDF-6277 IDF-6278 and IDF-5909
2023-02-14 10:43:49 +00:00
morris
e0c98da169 Merge branch 'feature/glitch_filter_h2' into 'master'
gpio: support glitch filter on esp32h2

Closes IDF-6286

See merge request espressif/esp-idf!22273
2023-02-14 13:07: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
Mahavir Jain
61bf801d0f Merge branch 'feature/esp32h2_add_hmac_ds' into 'master'
ESP32-H2 add HMAC and DS Peripheral support

Closes IDF-6279 and IDF-6285

See merge request espressif/esp-idf!22306
2023-02-13 20:04:50 +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
e4e4ffa3f4
esp32h2: enable DS peripheral support in driver and test application 2023-02-13 10:27:15 +05:30
Mahavir Jain
13c8407a19
esp32h2: add DS peripheral HAL 2023-02-13 10:26:37 +05:30
Mahavir Jain
c680113d52
esp32h2: add HMAC peripheral HAL 2023-02-13 10:26:36 +05:30
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
C.S.M
9092b93966 Merge branch 'feature/temp_sensor_esp32h2' into 'master'
temperature_sensor: Add support for esp32h2

Closes IDF-6229

See merge request espressif/esp-idf!22291
2023-02-13 10:24:31 +08:00
morris
a3f887a1fe gpio: support glitch filter on esp32h2 2023-02-11 23:01:01 +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
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
Song Ruo Jing
db59ab5000 Merge branch 'contrib/github_pr_10640' into 'master'
hal/uart_ll.h: Fix compile with C++ (ESP32-S3/H2) (GitHub PR)

Closes IDFGH-9255

See merge request espressif/esp-idf!22238
2023-02-10 10:51:27 +08:00
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
Mahavir Jain
f790fe0e1f
clk_gate_ll: fix issue with DS peripheral clk reset
In ESP32-H2, 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:11:37 +05:30
Ondrej Kosta
05510e67d1 Merge branch 'bugfix/eth_lan8720_ci' into 'master'
esp_eth: start/stop and L2 test stability improvements

See merge request espressif/esp-idf!21898
2023-02-09 15:36:12 +08:00
Wan Lei
005e4c7e0b Merge branch 'feature/spi_h2_support' into 'master'
SPI: Support master, slave, slave_hd driver for H2

Closes IDF-6245, IDF-6246, IDF-6247, and IDF-6696

See merge request espressif/esp-idf!22048
2023-02-09 11:04:46 +08:00
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
Simon Arlott
d78d1a2376 hal/uart_ll.h: Fix compile issue with C++
Merges https://github.com/espressif/esp-idf/pull/10640
2023-02-08 06:24:24 +00:00
wanlei
5300bd3b2f spi: support H2 spi master, slave, slave_hd driver 2023-02-08 11:38:45 +08:00
morris
990c6f58a6 Merge branch 'feature/etm_support_h2' into 'master'
etm: add basic driver on esp32h2

Closes IDF-6225

See merge request espressif/esp-idf!22246
2023-02-08 10:42:10 +08:00
morris
6f8ee89302 etm: add basic driver on esp32h2 2023-02-07 14:54:08 +00:00
Armando
d6844051fc esp_mm: new virtual memory mapping apis via mmu 2023-02-07 20:23:52 +08:00
Armando
1fc55af6af cache: invalidate addr hal api 2023-02-07 20:23:52 +08:00
Armando
16398c2d06 mmu: move mem_caps macro to hal/mmu_types.h as an enum type 2023-02-07 20:23:52 +08:00
Armando
af15b6d885 mmu: simplify mmu vaddr region macro on esp32c2
ESP32C2 mmu vaddr region macros, and related mask macros in
ext_mem_defs.h depends on mmu page size.
2023-02-07 20:23:51 +08:00
Jiang Jiang Jian
248c15475f Merge branch 'feature/implement_esp32h2_regi2c_api' into 'master'
esp32h2: implement regi2c apis

See merge request espressif/esp-idf!22250
2023-02-07 20:22:52 +08:00
Jing Li
409804f673 Merge branch 'feature/support_feature_depend_on_rtc_fast_mem_for_esp32c2' into 'master'
esp32c2: support feature(rtc time) depend on rtc fast mem

Closes IDF-3901, IDF-4239, IDF-5053, IDF-5060, and IDF-5131

See merge request espressif/esp-idf!19067
2023-02-07 15:16:01 +08:00
wuzhenghui
146b9b047b soc: add modem regs and force enable i2c_ana_mst clock 2023-02-06 21:43:26 +08:00
Song Ruo Jing
b72d759290 uart: Add support for esp32h2 2023-02-06 00:48:04 +08:00
Ondrej Kosta
256d457969 esp_eth: possible start/stop issue fixed
ESP32 EMAC could hang when stopped/started multiple times at 10Mbps speed mode
2023-02-03 10:48:39 +01:00
jingli
f8cc2ec86d esp32c2: support rtc time feature depend on rtc memory, since c2 does not have rtc memory 2023-02-02 20:25:59 +08:00
morris
15b9352f60 mcpwm: support esp32h2 2023-02-02 19:05:31 +08:00
morris
753eab91ee Merge branch 'feature/usj_support_h2' into 'master'
USJ console support on esp32h2

Closes IDF-6239

See merge request espressif/esp-idf!22156
2023-02-02 17:07:19 +08:00
Kevin (Lao Kaiyao)
6cef87fea3 Merge branch 'feature/support_i2c_on_h2' into 'master'
i2c: support i2c on esp32h2

Closes IDF-6233 and IDF-6689

See merge request espressif/esp-idf!21982
2023-02-02 15:18:37 +08:00
Wu Zheng Hui
04987ac201 Merge branch 'feature/add_ram_loadable_app_support' into 'master'
feature: add ram loadable app support

See merge request espressif/esp-idf!19465
2023-02-02 10:28:13 +08:00
wuzhenghui
44df5b31af feature: add ram loadable app support 2023-02-01 17:57:22 +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
laokaiyao
330149f3a6 i2c: support i2c on esp32h2 2023-02-01 11:23:11 +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