Commit Graph

904 Commits

Author SHA1 Message Date
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
d965b7fdec Merge branch 'staging/esp_static_assert' into 'master'
C/Cxx: Static assertions are now unified

Closes IDFGH-8479

See merge request espressif/esp-idf!20569
2022-11-22 17:04:02 +08:00
Cao Sen Miao
fb9d0d9f03 temperature_sensor: Add support on ESP32-C6 (No calibration) 2022-11-22 16:22:31 +08:00
KonstantinKondrashov
0eee228700 efuse(esp32-c6): Update efuse_table and rs coding error func 2022-11-22 16:09:10 +08:00
Kevin (Lao Kaiyao)
4867928160 Merge branch 'bugfix/i2s_tdm_doubled_mclk' into 'master'
i2s: fixed double mclk in tdm mode

Closes IDFGH-8764 and IDFGH-8763

See merge request espressif/esp-idf!21138
2022-11-22 15:41:16 +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
laokaiyao
039af72058 i2s: fixed typo 'philip'
Closes: https://github.com/espressif/esp-idf/issues/10197
2022-11-21 15:58:06 +08:00
wanlei
3aeedc2ad3 spi: bringup c6 spi master & slave driver support 2022-11-18 15:54:14 +08:00
Ondrej
6fff81d970 esp_eth: receive buffer allocation optimization
Receive buffers are allocated with a size equal to actual received frame size
2022-11-15 10:44:12 +00:00
Simon Arlott
d1993c01f2 hal/uart_ll.h: Fix compile with C++
I'm including <hal/uart_ll.h> in my C++ application because I need to
bypass the uart driver. The inline functions in the header file fail to
compile as C++.

All of the enums need explicit casts for conversion to/from integers.

Merges https://github.com/espressif/esp-idf/pull/10106
2022-11-15 06:29:05 +00:00
Wan Lei
602884e668 Merge branch 'feature/_spi_slave_reset_trans_queue_api' into 'master'
spi_slave: add a private API to reset transaction queue

Closes IDF-5033

See merge request espressif/esp-idf!20825
2022-11-15 10:45:53 +08:00
Armando
ea0b839302 spi: limit esp32 dma workaround only on esp32 2022-11-14 16:01:48 +08:00
Armando
3dc36f622c spi_slave: add a private API to reset transaction queue 2022-11-14 16:01:48 +08:00
Song Ruo Jing
eae70a8513 Merge branch 'bugfix/wakeup_io_hold_unhold_in_sleep' into 'master'
gpio: Fix deep sleep wakeup IOs unable to unhold after wakeup

Closes IDF-6122

See merge request espressif/esp-idf!20823
2022-11-14 12:48:40 +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
wangyuanze
6fc51c06c7 uart: force inline ll functions 2022-11-11 16:59:40 +08:00
Kevin (Lao Kaiyao)
5bed8fab49 Merge branch 'refactor/rename_h2_to_h4' into 'master'
esp32h2: renaming esp32h2 to esp32h4

Closes IDF-6098

See merge request espressif/esp-idf!20676
2022-11-09 19:19:43 +08:00
morris
7c1ed22ba2 Merge branch 'feature/bringup_spiflash_esp32c6' into 'master'
spi_flash: bringup driver for esp32c6

Closes IDF-5333, IDF-4066, IDF-5631, and IDF-5659

See merge request espressif/esp-idf!20692
2022-11-09 18:36:00 +08:00
Michael (XIAO Xufeng)
34e434451a Merge branch 'bugfix/esp32s3_efuse_wafer_major' into 'master'
esp32s3: fixed bug chip v0.0 detected as vX.0

See merge request espressif/esp-idf!20947
2022-11-09 18:20:31 +08:00
Cao Sen Miao
d9f01ed43c spi_flash: bringup for esp32c6 2022-11-09 12:50:46 +08:00
Mahavir Jain
bdefd7fb6b Merge branch 'esp32c6/add_ecc_support' into 'master'
esp32c6: Add support for ECC peripheral

Closes IDF-5820

See merge request espressif/esp-idf!20950
2022-11-08 17:06:53 +08:00
laokaiyao
8677216576 esp32h2: renaming esp32h2 to esp32h4 2022-11-08 17:05:33 +08:00
C.S.M
86aa012c26 Merge branch 'feature/bringup_i2c_esp32c6' into 'master'
I2C: Add i2c support for ESP32C6

Closes IDF-5326 and IDF-5327

See merge request espressif/esp-idf!20905
2022-11-08 11:56:15 +08: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
Cao Sen Miao
803fc3fbe0 I2C: Add i2c support for ESP32C6 2022-11-07 14:12:53 +08:00
Sachin Parekh
69c8df5e49 esp32c6: Add support for ECC peripheral 2022-11-07 10:42:33 +05:30
Michael (XIAO Xufeng)
32ef2b321a esp32s3: fixed bug chip v0.0 detected as vX.0
A typical value is 2.0.
2022-11-06 02:37:32 +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
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
liuning
57c394c4e0 esp_wifi: add protection for mac reset 2022-10-31 06:41:42 +00:00
Armando
260ee86c37 rtc: united sar peripheral control 2022-10-27 16:51:25 +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
laokaiyao
351a18415c dac: driver-ng framework 2022-10-25 17:00:41 +08:00
Cao Sen Miao
9777c9d5b1 dac: refactor to new api on esp32s2 2022-10-25 17:00:41 +08:00
Cao Sen Miao
9e4ff3d374 dac_dma: Support DAC_DMA on esp32s2 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
Song Ruo Jing
6d24e8bcf4 gpio: Add support for esp32c6 2022-10-18 12:38:36 +08:00
Armando (Dou Yiwen)
542bdea689 Merge branch 'feature/adc_calibration_on_c2' into 'master'
esp_adc: support adc calibration on esp32c2

Closes IDF-5203 and IDF-5899

See merge request espressif/esp-idf!20044
2022-10-18 10:50:59 +08:00
Armando
ccfbba5994 esp_adc: support adc calibration on esp32c2 2022-10-13 21:03:51 +08:00
jingli
2b8c43df69 hal/gpio_ll: fix digital gpio can not enable hold during deep sleep when force_unhold set(32/s2/s3) 2022-10-11 12:11:36 +08:00
jingli
128d82eaaa hal/gpio_ll: fix digital gpio can not disable hold during deep sleep 2022-10-11 12:11:36 +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
Michael (XIAO Xufeng)
9bc18ba480 Merge branch 'feat/sdio_slave_disable_hs' into 'master'
sdio_slave: allow disabling highspeed mode

Closes IDF-5994

See merge request espressif/esp-idf!20312
2022-10-01 01:52:47 +08:00
Michael (XIAO Xufeng)
507864c4f1 sdio_slave: allow disabling highspeed mode 2022-09-27 18:38:35 +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
5115e31175 driver: Minor update for esp32c6
Leave TODO for esp_adc and legacy adc driver
HAL/SOC update for spi and i2s
2022-09-26 20:32:13 +08:00
morris
f6eba4ccfe gpio_sdm: bring up SDM driver on esp32c6 2022-09-17 16:15:56 +08:00
morris
b562754a2f rmt: support esp32c6 2022-09-17 04:56:49 +00:00
Darian Leung
d333833f59 usb_host: Rename struct/ll/hal symbols to use "usb_dwc" prefix
Following the file renaming to use the "usb_dwc" prefix, this commit
updates the symbol names of those files to use the "usb_dwc" as well.

Some LL functions were also renamed so that the register name is
mentioned.
2022-09-16 16:45:26 +08:00
Darian Leung
d8d4e3acb0 usb_host: Rename struct/ll/hal files to use "usb_dwc" prefix
This commit updates the DWC_OTG based struct/ll/hal file names to
use the prefix "usb_dwc". This naming scheme reduces ambiguity if
another USB controller implementation is added.

As a result, "hcd.c" has been renamed to "hcd_dwc.c"
2022-09-16 16:45:26 +08:00
morris
e8a356ec91 Merge branch 'feature/esp32c6_fast_gpio_bringup' into 'master'
fast_gpio: bring up fast gpio driver on esp32c6

Closes IDF-5331

See merge request espressif/esp-idf!20159
2022-09-16 14:17:40 +08:00
laokaiyao
bae4944b90 i2s: bringup i2s on esp32c6 2022-09-15 20:03:39 +08:00
laokaiyao
7197e987cb i2s: add XTAL clock source 2022-09-15 19:32:06 +08:00
morris
fd325c9fa2 fast_gpio: bring up fast gpio driver on esp32c6 2022-09-15 11:02:31 +08:00
morris
5f550b2a13 rmt,gptimer: don't support rc_fast clock source for c6 and h2
The RC_FAST clock source on ESP32C6 and ESP32H2 can't be calibrated.
Which makes it impossible to work stable for peripherals like timer, RMT
2022-09-14 14:40:28 +00:00
Song Ruo Jing
de0401047c rtcio: Disable USB Serial JTAG pad when setting pins 19 and 20 as RTC function on ESP32S3
Similar to the fix in gpio lower layers, USB Serial JTAG pad should be disabled when the DM and DP pins want to be used as rtcio pins.
2022-09-13 12:13:51 +08:00
morris
a1030307f1 gptimer: bringup driver on esp32c6 2022-09-13 10:50:58 +08:00
gaoxu
5934ba731e SPI: Fix SPI wrong dummy bits on ESP32H2 2022-09-09 01:54:53 +00:00
morris
6539aa2275 pcnt: support esp32c6 2022-09-08 18:26:04 +08:00
Song Ruo Jing
0637ea91a3 Merge branch 'bugfix/fix_gpio_intr_lost' into 'master'
gpio: Fix interrupt lost issue

Closes IDFGH-5069

See merge request espressif/esp-idf!19625
2022-09-02 18:54:17 +08:00
Simon
e923c15859 Merge branch 'refactor/i2c_hal' into 'master'
I2C: Refactor i2c hal and ll(pre-MR of I2C driver-NG)

See merge request espressif/esp-idf!19750
2022-09-02 10:47:35 +08:00
morris
7b2c491064 Merge branch 'feature/add_esp32c6_g0_components' into 'master'
ESP32C6: Add G0 components support (hal, soc, riscv, esp_common)

See merge request espressif/esp-idf!19826
2022-09-01 16:11:40 +08:00
Song Ruo Jing
61282cc5dd gpio: Fix interrupt lost issue
In previous gpio default isr, interrupt status bits get cleared at the exit of the isr.
However, for edge-triggered interrupt type, the interrupt status bit should be cleared before entering the per-pin handlers to avoid any potential interrupt lost.

Closes https://github.com/espressif/esp-idf/pull/6853
2022-09-01 16:01:01 +08:00
Cao Sen Miao
31b88a4c88 I2C: Refactor i2c hal and ll 2022-09-01 15:53:59 +08:00
morris
e2634b5223 Merge branch 'feature/rgb_lcd_yuv_converter' into 'master'
RGB-YUV converter

Closes IDF-4598

See merge request espressif/esp-idf!19094
2022-09-01 13:41:14 +08:00
Song Ruo Jing
158b53e777 esp32c6: mmu & cache related g0 components changes 2022-09-01 12:38:00 +08:00
wuzhenghui
1d299a8976 esp32c6: add hal support 2022-09-01 12:37:51 +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
wuzhenghui
c31aaeda2a ll: add reset interface to rtc_cntl_ll 2022-08-31 01:59:36 +00:00
Gao Xu
0da21aca0d Merge branch 'bugfix/fix_spi_hd_quad_issue_esp32c3' into 'master'
essl_spi: fix wrong dummy cycle under quad spi mode ant add a test to verify spi quad mod

Closes IDF-5182 and IDF-5181

See merge request espressif/esp-idf!18680
2022-08-30 10:53:11 +08:00
Fu Hanxi
0d7f5b3d84 adc: skip linking static functions when not COMPILER_OPTIMIZATION_DEFAULT 2022-08-29 16:57:31 +08:00
Michael (XIAO Xufeng)
4fb1ccdd4e Merge branch 'feature/c2_efuse_with_26mhz' into 'master'
efuse(es32c2): Supports 26MHz XTAL

Closes IDF-5427

See merge request espressif/esp-idf!18851
2022-08-29 01:43:57 +08:00
Armando (Dou Yiwen)
ac63c0afd7 Merge branch 'feature/basic_mmu_framework' into 'master'
mmu: basic mmu driver framework

Closes IDFGH-6659 and IDF-5825

See merge request espressif/esp-idf!19547
2022-08-26 22:19:10 +08:00
morris
ebd3081d97 Merge branch 'bugfix/fix_rtc_gpio_hold' into 'master'
gpio: Fix missing set hold bit in rtc gpio register

Closes IDFGH-2489

See merge request espressif/esp-idf!19760
2022-08-26 18:13:14 +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
morris
060f3a3b13 Merge branch 'refactor/gptimer_software_capture' into 'master'
split gptimer software capture in hal driver

See merge request espressif/esp-idf!19749
2022-08-26 13:25:25 +08:00
Michael (XIAO Xufeng)
8e361d3df0 Merge branch 'bugfix/sdio_slave_gcc11_crash' into 'master'
sdio_slave: workaround the sdio_slave crash issue with release config + GCC11

Closes IDFCI-1296, IDFCI-1297, and IDFCI-1298

See merge request espressif/esp-idf!19680
2022-08-26 00:39:35 +08:00
morris
995b89fbb6 gptimer: add API to get captured count value 2022-08-25 17:55:19 +08:00
Jan Procházka
ebef6bc97e added missing call to set hold register bit
This commit fixes gpio_hold_en(pin) function for ESP32, where after wakeup from deep sleep, the pin gets reset to default state and stop holding the pin level.
2022-08-24 13:49:05 +02:00
KonstantinKondrashov
f2adee8b28 efuse(es32c2): Supports 26MHz XTAL 2022-08-24 09:10:57 +00:00
Omar Chebib
f6ac350337 I2C: i2c_port_t type is now an enumeration
* Closes https://github.com/espressif/esp-idf/issues/9009
2022-08-24 10:51:09 +08:00
gaoxu
3610b14aef SPI : fix wrong dummy cycle on quad mode and put get-command function in spi_ll.h
1.The dummy_bits is set to 4 in ESP32C3/C2, therefore, the data transmission started too early.This commit fix this issue by changing dummy_bits to 8.
2.Put the spi command the spi defintion in spi_types.h
3.Put the function which get spi command or dummy bits in spi_ll.h
2022-08-23 10:46:56 +08:00
Armando (Dou Yiwen)
fec97b6b16 Merge branch 'bugfix/add_adc_oneshot_disable_ulp_enum' into 'master'
esp_adc: add adc ulp mode disable enum, and kconfig to enable dac output

Closes IDF-5843 and IDF-5846

See merge request espressif/esp-idf!19683
2022-08-23 10:46:54 +08:00
Armando
236ba48efc esp_adc: add a kconfig to disable dac on certain adc IOs
Added a kconfig option. By default, when using ADC oneshot
driver, it will disable
DAC channels:
- ESP32:   IO25, IO26
- ESP32S2: IO17, IO18
if ADC2 is in use.

You can disable this option, to measure DAC output, via internal ADC.
This is for test usage.
2022-08-22 18:04:55 +08:00
Song Ruo Jing
72a15e3c7a Merge branch 'bugfix/gpio_usb_pin_pupd' into 'master'
gpio: fix USB D+ pin cannot disable pullup

Closes IDFGH-7984

See merge request espressif/esp-idf!19191
2022-08-22 17:18:05 +08:00
Michael (XIAO Xufeng)
0a2e5a7774 Merge branch 'feat/support_esp32c2_uart' into 'master'
uart: update console docs about frequency for ESP32-C2, move frequency of clock sources out of HAL

Closes IDF-5424 and IDF-4332

See merge request espressif/esp-idf!19274
2022-08-22 14:24:26 +08:00
Armando
5e31d4bb2b esp_adc: add adc ulp mode disable enum
Prior to this commit, adc ulp is disabled by setting
adc_oneshot_unit_init_cfg_t::ulp_mode to false.

After this commit, a new enum `ADC_ULP_MODE_DISABLE` is added. So
setting `ulp_mode` to `ADC_ULP_MODE_DISABLE`, instead of `false`, to
disable the ulp mode.
2022-08-22 11:00:28 +08:00
Michael (XIAO Xufeng)
19add3fb05 sdio_slave: workaround the sdio_slave crash issue with release config + GCC11 2022-08-22 10:53:24 +08:00
songruojing
01143bd732 gpio: fix USB D+ pin cannot disable pullup
Internally, disable usb serial jtag DP pin's pullup when calling gpio_ll_pullup_dis and rtcio_ll_pullup_disable
At usb serial jtag setup/install, re-enable DP pin's pullup

Closes https://github.com/espressif/esp-idf/issues/9495
2022-08-19 15:05:28 +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
morris
fc1aa2848b rgb_lcd: support yuv converter 2022-08-17 06:33:06 +00:00
morris
104b9c3fb1 Merge branch 'feature/introduce_lcd_color_space_enum' into 'master'
lcd: deprecate esp_lcd_color_space_t

See merge request espressif/esp-idf!19576
2022-08-17 14:19:12 +08:00
morris
bc372f8f55 rgb_lcd: deprecate esp_lcd_color_space_t 2022-08-16 14:35:08 +08:00
Michael (XIAO Xufeng)
746f4b814c uart: move frequency of clock sources out of HAL 2022-08-15 18:55:43 +00:00
laokaiyao
62ab4456a8 touch_sleep: complete the support for touch sleep 2022-08-15 20:04:57 +08:00
morris
6f2ac1ce2a rmt: add iram safe test
Closes https://github.com/espressif/esp-idf/issues/9487
2022-08-12 11:30:14 +08:00