Commit Graph

700 Commits

Author SHA1 Message Date
Ondrej Kosta
621d5ef724 fixed emac soc structs names to be able to build under C++
Closes https://github.com/espressif/esp-idf/pull/11283
2023-05-11 08:50:49 +02: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
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
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
Ondrej Kosta
22caec278f Merge branch 'feature/emac_hal_cleanup' into 'master'
wrapped emac_ll functions to emac_hal

Closes IDFGH-8474

See merge request espressif/esp-idf!23078
2023-04-24 15:47:29 +08:00
Hanno
8f1cf01ec8 i2c: introduce chip specific cmd register number
Merges https://github.com/espressif/esp-idf/pull/10811
2023-04-21 19:22:53 +08:00
Ondrej Kosta
c231c79fc8 HAL: wrapped emac_ll functions to emac_hal
Closes #9934
2023-04-19 12:46:45 +00:00
Ivan Grokhotkov
e9badf51c7 sdmmc: I/O phase adjustments
1. Fix incorrect meaning of SDMMC.clock bits, synchronize the names
   with the TRM.
2. Choose input and output phases to satisfy typical timing
   requirements.
3. Move use_hold_reg setting into the host driver, since it is related
   to timing.

Closes https://github.com/espressif/esp-idf/issues/8521
Related to https://github.com/espressif/esp-idf/issues/8257
2023-04-14 18:18:54 +08:00
Marius Vikhammer
5cbd311ecf system: add kconfig option for using parts of SRAM1 for IRAM
Using parts of SRAM1 for IRAM allows apps with more statically allocated IRAM

Closes https://github.com/espressif/esp-idf/issues/9824
2023-04-07 07:12:58 +00:00
KonstantinKondrashov
5b00d1f396 efuse: Update efuses for esp32 esp32c2 esp32c3 esp32s2 esp32s3 2023-04-04 22:32:32 +08:00
zhiweijian
7ad9e885e4 If it is not 32 chips, hide the configuration item:BT_BLE_RPA_SUPPORTED 2023-03-20 15:54:32 +08:00
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
Song Ruo Jing
3ec287eaa5 Merge branch 'feature/ledc_gamma_curve_support' into 'master'
ledc: Support gamma curve fade feature

Closes IDF-5811 and IDF-6236

See merge request espressif/esp-idf!22486
2023-03-12 07:54:08 +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
Song Ruo Jing
79f34fe524 ledc: Support gamma curve fade feature on esp32c6 and esp32h2 2023-03-10 12:42:46 +08:00
Marius Vikhammer
284dabf17f ulp: added basic support for building and running a binary in the lp core 2023-03-09 10:12:23 +08:00
wuzhenghui
15eb1931c0 soc: clean WIFI unsupport soc_caps 2023-03-04 00:17:40 +08:00
Li Shuai
f95854dc8f soc_caps: add SOC_PM_MODEM_RETENTION_BY_REGDMA caps
soc_caps: add SOC_PM_SUPPORT_BEACON_WAKEUP caps
soc_caps: add SOC_PM_SUPPORT_PMU_MODEM_STATE caps
soc_caps: add SOC_WIFI_SUPPORT_VARIABLE_BEACON_WINDOW caps
soc_caps: add SOC_PM_SUPPORT_MAC_BB_PD caps
2023-03-04 00:17:40 +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
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
jingli
4c3d1e24d7 codeclean: remove unused sleep related functions 2023-02-23 11:36:13 +08:00
Armando
c56eb8646b g0: resolve MMU_PAGE_SIZE not defined in g0 build issue 2023-02-22 12:37:40 +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
morris
18295bb2f5 Merge branch 'bugfix/i80_pll240_esp32s3' into 'master'
lcd: support PLL240M as i80 clock source on esp32s3

See merge request espressif/esp-idf!22285
2023-02-14 12:27:57 +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
morris
78855a88c9 lcd: support PLL240M as i80 clock source on esp32s3 2023-02-11 00:30:20 +00:00
Armando
d6844051fc esp_mm: new virtual memory mapping apis via mmu 2023-02-07 20:23:52 +08:00
Kevin (Lao Kaiyao)
421e5e6416 Merge branch 'refactor/pack_driver_source_files' into 'master'
components/driver: pack peripherals

See merge request espressif/esp-idf!22173
2023-02-07 10:20:57 +08:00
morris
15b9352f60 mcpwm: support esp32h2 2023-02-02 19:05:31 +08:00
laokaiyao
f27cd67c00 driver: pack peripherals 2023-02-02 18:19:58 +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
a5467f42a0 codeclean: only S series chip VDDSDIO is configurable 2023-01-31 22:12:58 +08:00
Li Shuai
4e2a32d9b3 soc_cap: add SOC_PM_SUPPORT_VDDSDIO_PD soc_caps
soc_cap: add SOC_PM_CPU_RETENTION_BY_SW/REGDMA

soc caps: add SOC_PMU_SUPPORTED
2023-01-31 22:12:18 +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
laokaiyao
3b450fb865 refactor soc CMakeLists 2023-01-20 22:07:50 +08:00
Marius Vikhammer
5e9e8c396f wdt: add support for WDTs on C6 2023-01-19 12:58:26 +08:00
Wan Lei
e7c520e849 Merge branch 'feature/add_spi_ckl_source_selectable' into 'master'
spi_master: add feature spi periph clk source selectable

Closes IDF-6289

See merge request espressif/esp-idf!21324
2023-01-19 00:54:24 +08:00
wanlei
184145817c spi_master: add feature spi periph clk source selectable 2023-01-18 15:40:12 +08:00
Armando
f1de9faa71 sdio: c6 support 2023-01-18 02:34:46 +00: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
morris
ce84476870 gptimer: support esp32h2 2023-01-12 14:10:11 +00:00
Armando (Dou Yiwen)
297c7852a5 Merge branch 'bugfix/fix_adc_channel_h_not_aligned_to_ng_driver_issue' into 'master'
adc: make adc_channel.h macros work with ng driver

Closes IDFGH-9105

See merge request espressif/esp-idf!21946
2023-01-12 11:07:20 +08:00
Cao Sen Miao
56a2d0b8a2 BOD: Bringup for ESP32C6 2023-01-10 10:37:30 +08:00
Armando
349922dcee adc: make adc_channel.h macros work with ng driver
Closes https://github.com/espressif/esp-idf/issues/10508
2023-01-09 14:25:24 +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
cbe297e5a0 sdm: support derive clock source from IO MUX 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
Michael (XIAO Xufeng)
84a6c6f7d9 Merge branch 'bugfix/rtc_8md256_deepsleep_time_esp32' into 'master'
pm: Fixed sleep time inaccurate bug when select 8MD256 as rtc slow clock on ESP32

Closes IDFGH-4893

See merge request espressif/esp-idf!21558
2022-12-28 15:30:01 +08:00
wuzhenghui
aa20825659 soc_caps: rename ESP_PD_DOMAIN_RTC8M to ESP_PD_DOMAIN_FOSC 2022-12-27 21:31:21 +08:00
cje
a0ed82525e sleep: fix sleep time inaccurate bug when select 8MD256 as rtc slow clock on ESP32
Related to: https://github.com/espressif/esp-idf/issues/6687
2022-12-26 07:19:13 +00:00
laokaiyao
5333ac81bf adc: support ADC on esp32c6 (driver/test/example) 2022-12-23 11:24:06 +08:00
laokaiyao
e27f3e3128 adc: support ADC on esp32c6 (hal) 2022-12-23 11:24:06 +08:00
laokaiyao
7a002ab7a6 rtcio: support rtcio on c6 2022-12-22 14:14:38 +08:00
Armando
6aa7091199 adc: added a soc macro indicating digital controller supported unit 2022-12-16 02:06:03 +00:00
Song Ruo Jing
244d3caa97 i2s: Fix esp32c6 get I2S_CLK_SRC_PLL_160M clock frequency value wrong issue 2022-12-13 19:18:34 +08:00
Song Ruo Jing
9402ab427b ledc: Add basic support for esp32c6 2022-12-07 18:40:50 +08:00
jingli
cf244a14f0 bt: fix bt sleep flow hangs in btdm_sleep_clock_sync
Bluetooth low power related logic and regs have separate power domain from MAC and BB,
and do not power down during light sleep. If reset when power up MAC and BB in sleep
flow, it may destroy the state of bt low power part.
2022-11-29 14:28:32 +08:00
Konstantin Kondrashov
b4580a1980 Merge branch 'feature/esp_timer_add_ll_for_rc_fast_clk' into 'master'
hal: Adds hal/ll func for SYSTIMER to select clock source: XTAL or RC_FAST_CLK

Closes IDF-5323

See merge request espressif/esp-idf!21136
2022-11-23 15:05:48 +08:00
KonstantinKondrashov
63f852adc8 hal: Adds hal/ll func for SYSTIMER to select clock source: XTAL or RC_FAST_CLK 2022-11-22 20:29:19 +08:00
Omar Chebib
cd21058097 C/Cxx: unify static assertions with the macro ESP_STATIC_ASSERT
Closes https://github.com/espressif/esp-idf/issues/9938
2022-11-21 16:18:08 +08:00
David McCurley
0c89ab3b58 soc: update SOC_GPIO_VALID_GPIO_MASK doc
Merges https://github.com/espressif/esp-idf/pull/10165
2022-11-17 06:24:11 +00:00
morris
f69a53f56d Merge branch 'feature/twai_bringup_esp32c6' into 'master'
TWAI: initial driver bring up on esp32c6 (TWAI0 only)

Closes IDF-5313 and IDF-5940

See merge request espressif/esp-idf!20735
2022-11-07 18:00:05 +08:00
Kevin (Lao Kaiyao)
48b23b7c46 Merge branch 'feature/support_4_line_pdm_rx_on_esp32s3' into 'master'
i2s: support 4 line pdm rx on esp32s3

Closes IDF-6120

See merge request espressif/esp-idf!20753
2022-11-04 18:44:52 +08:00
morris
a25123f703 twai: bringup on esp32c6 2022-11-04 17:40:29 +08:00
morris
6828c011d9 twai: define clock source name
twai clock source is target-specific,
this commit is to define them in the soc layer
2022-11-04 17:40:29 +08:00
morris
f02facbe28 twai: describe peripheral info
Describe peripheral informations in the twai_peirph.c, including:

Interrupt number, GPIO matrix signal ID, etc
2022-11-04 17:40:29 +08:00
laokaiyao
fa9b022f68 i2s: support 4 line pdm rx on esp32s3 2022-11-04 15:46:34 +08:00
KonstantinKondrashov
1f9260d790 all: Apply new version logic (major * 100 + minor) 2022-11-03 08:36:23 +00:00
Song Ruo Jing
be0fdfa176 soc: Add a soc cap, SOC_CLK_RC_FAST_D256_SUPPORTED, for whether the target has the RC_FAST_D256 clock 2022-11-01 11:23:26 +08:00
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
laokaiyao
8ef9fd4623 dac: optimize the dma stratege 2022-10-25 17:14:59 +08:00
laokaiyao
f9f9a09dfb dac: update unit-test docs and examples for driver-NG 2022-10-25 17:00:41 +08:00
morris
4176cb68de twai: remove deprecated code and add hint
name "CAN" has been deprecated for a long time, this commit just remove
it from the code base.

Please use "TWAI" driver instead.
2022-10-22 18:20:07 +08:00
morris
f997b81242 mcpwm: support esp32c6 2022-10-20 11:55:03 +08:00
morris
6b941042d8 mcpwm: default clock cource is PLL160M
On esp32, the default clock source is also PLL160M
2022-10-20 11:30:14 +08:00
Song Ruo Jing
6d24e8bcf4 gpio: Add support for esp32c6 2022-10-18 12:38:36 +08:00
Jiang Jiang Jian
e08e2f071f Merge branch 'bugfix/fix_part_of_modem_not_reset_when_power_on' into 'master'
Coexistence: fix part of modem module not reset when power up

See merge request espressif/esp-idf!19849
2022-10-18 11:13:10 +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
jingli
cce2af9193 wifi/bt: fix part of modem module not reset when power up 2022-09-22 11:45:20 +08:00
jingli
05a2fbe810 esp_hw_support/clk_cali: fix xtal32k error detect 2022-09-21 03:03:25 +00:00
wangjialiang
6e79d05814 ble_mesh: docs: Remove BLE Mesh related reference for C2 2022-09-16 19:39:51 +08:00
Omar Chebib
53c7dd4efc WDT: implement interrupt wdt and task wdt for ESP32-C2
ESP32-C2 has a single group timer, thus it will use it for the interrupt watchdog,
which is more critical than the task watchdog. The latter is implement in
software thanks to the `esp_timer`component.
2022-09-15 14:37:59 +08:00
wanlei
96aa2792f8 spi_master:fix error when use spi_bus_add_device more than 3 device
update gpio_sig at `spics_out` array in each spi_periph.c of chips later than s2
then `spi_bus_add_device` can correctly distribute gpio_signals for cs_signal

Closes https://github.com/espressif/esp-idf/issues/8876
2022-09-05 12:10:22 +08:00
songruojing
9d515185d0 esp32c6: clean up existing soc files and header file inclusion in IDF to be compatible with the new chip 2022-09-01 12:28:06 +08:00
Song Ruo Jing
6a60ecf780 soc_caps: Introduce SOC_LEDC_SUPPORTED and SOC_I2C_SUPPORTED caps to IDF
Wrap the ledc, i2c source files with the new caps in CMakeLists and linker.lf.
This could avoid potential source file not found warning during linking time.
2022-08-31 20:43:22 +08:00
Armando
2d44dc1eed mmu: driver framework, for vaddr maintenance
This commit gives basic mmu driver framework. Now it is able to maintain
mmu virtual address usage on esp32, esp32s2 and esp32s3. Usage to
external virtual address should rely on mmu functions to know which
address range is available, instead of hardcoded.

This commit also improves psram memory that is added to the heap
allocator. Now it's added to the heap, according to the memory
alignment.

Closes https://github.com/espressif/esp-idf/issues/8295
2022-08-26 17:59:06 +08:00
Chen Jian Hua
7908025c2d Merge branch 'bugfix/fix_ble_rpa_gen_for_esp32' into 'master'
Revert "Fixed ESP32 BLE can't resolve the peer address when enable white list"

Closes BT-2543

See merge request espressif/esp-idf!19641
2022-08-23 16:50:41 +08:00
chenjianhua
e6b9b2fe96 soc: remove soc ble config from Kconfig 2022-08-19 11:15:20 +08:00
chenjianhua
eaa9897386 Revert "Fixed ESP32 BLE can't resolve the peer address when enable white list"
This reverts commit 1cc0f6aac5.
2022-08-19 11:03:15 +08:00
Michael (XIAO Xufeng)
746f4b814c uart: move frequency of clock sources out of HAL 2022-08-15 18:55:43 +00:00
Erhan Kurubas
f8d439dee3 replace CAN with TWAI in the esp_isr_names table 2022-08-11 11:23:03 +02:00
Geng Yuchao
0a1d8c1e09 Fix soc caps define for all chips 2022-08-08 20:50:28 +08:00
jingli
ee3423834e kconfig: refactor xtal freq kconfig to common configuration item 2022-08-05 19:12:29 +08:00
morris
741b031e83 soc: added SOC_TOUCH_SENSE_SUPPORTED macro 2022-07-22 00:12:36 +00:00
laokaiyao
edee3ee3cd i2s: add slot sequence table
Closes: https://github.com/espressif/esp-idf/issues/9208

When I2S is configured into different modes, the slot sequence varies.
This commit updates slot sequence tables and corresponding descriptions
in (both code and programming guide).
2022-07-21 15:52:39 +08:00
laokaiyao
90866e99fb i2s: add basic examples for STD/TDM/PDM mode 2022-07-21 15:52:39 +08:00
morris
4154eaec93 sdm: clean up soc/hal/ll code 2022-07-20 14:59:50 +08:00
Song Ruo Jing
4734b1433b Merge branch 'bugfix/gpio_hal_coverity_fix' into 'master'
gpio: Fix ESP32S3 GPIO48 does not support hold function bug and Fix coverity report

Closes IDF-4901

See merge request espressif/esp-idf!18805
2022-07-19 21:37:15 +08:00