Commit Graph

2512 Commits

Author SHA1 Message Date
morris
bc2a2d3cde gptimer: support RC_FAST clock source
GPTimer on C6 supports RC_FAST as the clock source. The benefit of this
clock is that, the clock can sustain in light sleep.

Added a new API to return the real resolution of the timer handle.
2022-12-26 13:18:25 +08: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
Kevin (Lao Kaiyao)
42c6ae3522 Merge branch 'feature/support_rtcio_on_c6' into 'master'
rtcio: support rtcio on c6

Closes IDF-6027

See merge request espressif/esp-idf!21603
2022-12-23 10:56:49 +08:00
Darian Leung
acd88e3f5e driver: Fix flakey gptimer tests by allowing larger count deltas 2022-12-22 17:57:00 +08:00
Song Ruo Jing
36cdf88a5b Merge branch 'contrib/github_pr_10402' into 'master'
ledc: move callback to IRAM as it's called from an ISR (GitHub PR)

Closes IDFGH-8990

See merge request espressif/esp-idf!21711
2022-12-22 16:55:29 +08:00
Song Ruo Jing
5d300b9bc1 Merge branch 'refactor/ledc_unit_test' into 'master'
ledc: Move ledc unit test to test_apps pytest framework

Closes IDF-5502

See merge request espressif/esp-idf!21723
2022-12-22 15:24:47 +08:00
Song Ruo Jing
1a6e1aba3d ledc: Add check for whether the registered callback is in iram in ledc_cb_register 2022-12-22 14:38:58 +08:00
laokaiyao
7a002ab7a6 rtcio: support rtcio on c6 2022-12-22 14:14:38 +08:00
Kevin (Lao Kaiyao)
7e29d113ae Merge branch 'bugfix/add_unity_sig_sync_for_i2s_tdm_test' into 'master'
i2s_test: fixed rx_update stuck issue

Closes IDFCI-1527

See merge request espressif/esp-idf!21308
2022-12-22 11:27:52 +08:00
morris
32cd193ddf rmt: support pll clock source on esp32c6 2022-12-22 11:25:54 +08:00
morris
c6e452a871 mcpwm: enable test on esp32c6 2022-12-22 11:17:38 +08:00
Chen Yu Dong
d3716c439d Merge branch 'ci/add_generic_to_xtal_26mhz_runners' into 'master'
CI: add generic to xtal_26mhz jobs

See merge request espressif/esp-idf!21725
2022-12-22 10:56:25 +08:00
laokaiyao
705ddd221f test more freq 2022-12-21 17:31:38 +08:00
Song Ruo Jing
774197b7d3 ledc: Move ledc unit test to test_apps pytest framework
Add ledc_hal_set_duty_start and ledc_hal_set_duty_int_part to IRAM
Fix test_ledc.c minor issues
2022-12-21 12:04:42 +08:00
Chen Yudong
b5eebc490f CI: add generic to xtal_40mhz jobs 2022-12-21 11:53:38 +08:00
Song Ruo Jing
4e8eb6864e pcnt: Re-enable legacy pcnt test for esp32c6 (ledc support completed) 2022-12-20 15:28:33 +08:00
Song Ruo Jing
8db902c57b gpio: Refactor pytest_gpio to separate cases with labels, and update to use new IdfDut class in pytest_embedded_idf 2022-12-20 15:28:33 +08:00
laokaiyao
cd5f2c3d76 i2s_test: add unity signal for synchronization 2022-12-20 14:49:35 +08:00
Armando
ded528e188 adc: no longer support adc2 oneshot mode on esp32c3
Due to HW limitation, we don't support this anymore. On c3, ADC2 under oneshot mode is not stable.

However, you can enable CONFIG_ADC_ONESHOT_FORCE_USE_ADC2_ON_C3 to force use
ADC2.

Refer to errata to know more details:
https://www.espressif.com/sites/default/files/documentation/esp32-s3_errata_en.pdf
https://www.espressif.com/sites/default/files/documentation/esp32-c3_errata_en.pdf
2022-12-16 02:06:03 +00:00
Song Ruo Jing
536d5827c0 gpio_filter: Fix test case fail on esp32c6 due to slow io_mux clock compare to 160MHz cpu clock. 2022-12-13 19:18:34 +08:00
Song Ruo Jing
19ee95e509 gptimer: Fix esp32c6 gptimer clock source, no APB, instead, is PLL_F80M_CLK 2022-12-13 19:18:34 +08: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
182e937c5a clk_tree: Add basic clock support for esp32c6
- 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 esp32c6
2022-12-13 19:18:34 +08:00
morris
f0bea3ce51 mcpwm: support not reset GPIO config at exit
By default, the driver will reset the GPIO used by the MCPWM capture
channel at exit. But in some special use cases, the same gpio may also
be used by another device, which shares the same gpio configuration,
resetting the gpio is not expected.

Closes https://github.com/espressif/esp-idf/issues/10327
2022-12-12 17:50:06 +08:00
Nathan Phillips
6a7e8581e9 rmt: fix bad config initializer
Merges https://github.com/espressif/esp-idf/pull/10331
2022-12-12 15:32:20 +08:00
morris
7064b668c6 Merge branch 'feature/etm_api_update' into 'master'
etm: introduce config structure for event/task new functions

See merge request espressif/esp-idf!21483
2022-12-12 13:12:09 +08:00
morris
62f1cbca2c gpio: support glitch filter 2022-12-09 11:33:42 +08:00
morris
2b9d3a37ee twai: fix coverity warnings 2022-12-09 11:33:42 +08:00
Wan Lei
35a749a76e Merge branch 'test/re-enable_unit-test' into 'master'
test: re-enable some test cases of spi for esp32c2 and c6

Closes IDF-5146

See merge request espressif/esp-idf!21052
2022-12-08 17:54:04 +08:00
Song Ruo Jing
9402ab427b ledc: Add basic support for esp32c6 2022-12-07 18:40:50 +08:00
morris
5c06e9cf40 etm: update etm event task new API 2022-12-07 15:43:20 +08:00
wanlei
dd50bb2d50 test: enable multi-board test of spi for c6 2022-12-07 11:37:48 +08:00
wanlei
5c099a2a49 test: re-enable some test cases of spi for esp32c2 2022-12-07 11:37:48 +08:00
Wan Lei
6cc9380ac9 Merge branch 'bugfix/fix_slave_gpio_cs_mixed_with_iomux_bus' into 'master'
spi_slave: fix slave can't use iomux bus mixed with gpio cs_pin

See merge request espressif/esp-idf!21287
2022-12-01 20:09:11 +08:00
Wan Lei
226870dce3 Merge branch 'contrib/github_pr_10224' into 'master'
SPI_Master: Fix DMA rxbuf size calculation (GitHub PR)

Closes IDFGH-8793

See merge request espressif/esp-idf!21198
2022-12-01 10:43:18 +08:00
wanlei
0ffc813ac8 spi_slave: fix slave can't use iomux bus mixed with gpio cs_pin 2022-12-01 10:38:22 +08:00
Jakob Hasse
56acd2ee03 Merge branch 'feature/uart_new_critical_section_api' into 'master'
driver: added new critical section API to UART driver

See merge request espressif/esp-idf!19678
2022-11-30 19:53:44 +08:00
tgotic
36fcb4b3a1 SPI fix DMA rxbuf size calculation
(x+31)/8 doesn't round to 4 bytes (32 bits), e.g. (16+31)/8=47/8=5,
where ((x+31)/32)*4 does round to 4 bytes: (16+31)/32=(47/32)*4=1*4=4
2022-11-30 11:46:18 +08:00
Song Ruo Jing
56302544f6 Merge branch 'ci/enable_esp32c6_target_test_stage' into 'master'
CI: Enable esp32c6 target test stage

Closes IDF-5830 and IDF-5831

See merge request espressif/esp-idf!21010
2022-11-29 19:54:05 +08:00
Song Ruo Jing
1575b9e43a ci: Disable all currently failed target tests for esp32c6 2022-11-28 12:09:08 +08:00
Song Ruo Jing
7466ddfa8c ci: Make consistence between pytest_*.py and .build-test-rules.yml for esp32c6 (i.e. to pass check_test_scripts_build_test_rules.py) 2022-11-28 11:58:30 +08:00
Song Ruo Jing
e13a4ad963 ci: Disable some unit-test-apps for esp32c6 to pass ci build stage 2022-11-28 11:58:30 +08:00
laokaiyao
502495dec1 i2s_test: update multi dev pytest script 2022-11-28 11:10:22 +08:00
Jakob Hasse
fd04374aa5 feat (driver) added new critical section API to UART driver 2022-11-25 18:11:35 +01:00
laokaiyao
888ca08cb2 uart: support examples and tests on esp32c6 2022-11-24 16:07:24 +08:00
Alexey Gerenkov
8c2ae2f9bd Merge branch 'feature/universal_clang_toolchain_support' into 'master'
build: Adds support for universal Clang toolchain

Closes LLVM-79

See merge request espressif/esp-idf!20090
2022-11-24 03:09:46 +08:00
Alexey Gerenkov
47c2c13de5 build: Adds support for universal Clang toolchain 2022-11-23 13:25:16 +03:00
morris
4186bd041c gptimer: added etm example 2022-11-23 15:32:34 +08:00
morris
00b6ec28b2 gptimer: support etm event and task 2022-11-23 15:31:33 +08:00
morris
494516d5f3 gpio: support etm extension 2022-11-23 15:31:33 +08:00
Omar Chebib
7baa63cbc2 Merge branch 'staging/asm_dedic_gpio_example' into 'master'
Dedicated/Fast GPIO: add examples implementing software I2C, UART and SPI on RISC-V targets

Closes IDF-5936

See merge request espressif/esp-idf!20921
2022-11-23 14:19:01 +08:00
Cao Sen Miao
fb9d0d9f03 temperature_sensor: Add support on ESP32-C6 (No calibration) 2022-11-22 16:22:31 +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
623bffaab8 Dedicated GPIO: add examples implementing software I2C, UART and SPI on RISC-V targets.
Use dedicated GPIOs in examples to show how to emulate a UART, I2C and SPI bus.
(Using assembly and C)
2022-11-22 14:17:40 +08:00
Wan Lei
65c0b2b81a Merge branch 'feature/c6_spi_master_driver_support' into 'master'
esp32c6: support spi master & slave driver

Closes IDF-5335 and IDF-5336

See merge request espressif/esp-idf!20877
2022-11-22 12:29:25 +08:00
Michael (XIAO Xufeng)
439a709c42 Merge branch 'feat/esp32s3_essl_sdmmc_host' into 'master'
essl: add support for ESP32-S3 SDMMC host

See merge request espressif/esp-idf!19325
2022-11-22 11:18:32 +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
laokaiyao
22531d2a9f i2s: fixed tdm mclk doubled issue
Closes: https://github.com/espressif/esp-idf/issues/10196
2022-11-21 15:53:54 +08:00
Michael (XIAO Xufeng)
720b86a886 example/sdio: add support for ESP32-S3 as host (via SD) 2022-11-21 14:03:41 +08:00
morris
5bd99deb48 pcnt: support accumulate count value
Closes https://github.com/espressif/esp-idf/issues/10167
2022-11-21 10:15:19 +08:00
morris
dcaa753f37 Merge branch 'bugfix/legacy_rmt_resource_leak' into 'master'
rmt: fix memory leak in the legacy driver

Closes IDFGH-8732 and IDF-5941

See merge request espressif/esp-idf!21084
2022-11-20 16:55:39 +08:00
wanlei
3aeedc2ad3 spi: bringup c6 spi master & slave driver support 2022-11-18 15:54:14 +08:00
laokaiyao
3b4ec64f26 i2s: support on esp32c6 2022-11-17 11:04:39 +08:00
wanlei
ee4f4ac3e0 test: move sdio unit-test to test_apps 2022-11-16 11:22:31 +08:00
morris
6c8807e789 rmt: fix memory leak in the legacy driver
Closes https://github.com/espressif/esp-idf/issues/10173
2022-11-15 06:29:59 +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
a7289587d3 spi_slave: add a test to internal api spi_slave_reset_trans_queue 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
Song Ruo Jing
dd311381a4 rtcio: Add a test case to test RTCIO's hold ability after deep sleep wakeup 2022-11-11 20:39:04 +08:00
wanlei
76ddc2b8a7 test: move rs485 test to test_app 2022-11-11 16:59:40 +08:00
wanlei
fb7d8f49be test: move uart test to test_app 2022-11-11 16:59:40 +08:00
Wan Lei
c09322430a Merge branch 'test/move_gpspi_to_pytest_app' into 'master'
spi: move spi related unit test into itself pytest app

Closes IDF-5499 and IDFCI-1377

See merge request espressif/esp-idf!19341
2022-11-11 12:18:26 +08:00
Krzysztof Budzynski
acedae1313 Merge branch 'docs/fix-typo-touch-pad-esp32s2-esp32s3' into 'master'
docs:fix a typo in touch_sensor.h of esp32s2 and esp32s3

Closes DOC-4065

See merge request espressif/esp-idf!20956
2022-11-10 19:24:04 +08:00
wanlei
45cf44e5c8 test: move 'driver/test/esp_serial_slave_link' to 'driver/test-apps/components' and make it be a component 2022-11-10 16:02:03 +08:00
wanlei
f31ecbb42b test: move spi related unit-test into pytest app 2022-11-10 16:02:03 +08:00
wanlei
312bc6cb3a test: make 'test_common_spi' as a components named 'test_utils_spi' 2022-11-10 15:51:29 +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
morris
9f18a0bb5b Merge branch 'doc/explain_ledc_callback_return_value' into 'master'
ledc: explain the callback return value

Closes IDFGH-8647

See merge request espressif/esp-idf!20916
2022-11-07 17:55:59 +08:00
Linda
5406c80d99 docs:fix a typo in touch_sensor.h of esp32s2 and esp32s3 2022-11-07 14:32:26 +08:00
Cao Sen Miao
803fc3fbe0 I2C: Add i2c support for ESP32C6 2022-11-07 14:12:53 +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
a83165fea0 twai: add initial version of driver component test 2022-11-04 17:40:29 +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
Ivan Grokhotkov
b14116ff95 Merge branch 'feature/partition_api_new_component_2' into 'master'
Storage: Partition APIs moved to the new component 'esp_partition'

Closes IDF-1234

See merge request espressif/esp-idf!20747
2022-11-04 14:59:08 +08:00
laokaiyao
2cccf3a804 dac: update API and file format aligning to the rule 2022-11-03 13:04:50 +08:00
morris
999a3d5e6b ledc: explain the callback return value
Closes https://github.com/espressif/esp-idf/issues/10093
2022-11-03 11:01:47 +08:00
Martin Vychodil
c9c7573f71 Storage: Partition APIs moved to the new component 'esp_partition'
All the partition handling API functions and data-types were moved from the 'spi_flash' component to the new one named 'esp_partition'. See Storage 5.x migration guide for more details
2022-11-02 21:54:45 +01:00
morris
51527b302a Merge branch 'contrib/github_pr_10083' into 'master'
temperature_sensor: fix typo (github PR)

Closes IDFGH-8638

See merge request espressif/esp-idf!20887
2022-11-01 23:34:26 +08: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
Song Ruo Jing
2557e24a28 ci: Enable esp32c6 example, test_apps, and unit tests CI build stage 2022-11-01 11:23:21 +08:00
Jonas Vanthornhout
d679ab3903 Fixed typo 2022-10-31 17:31:40 +01:00
morris
c25031212d driver: test with non-isr freertos functions in the flash 2022-10-26 13:43:13 +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
morris
7b425cbcd7 mcpwm: new function to fetch capture resolution 2022-10-20 11:30:14 +08:00
morris
a22aa2d183 mcpwm: fix wrong return value in the legacy driver
For APIs that not return esp_err_t value, we can't use macros like
ESP_RETURN_ON_xxx
2022-10-20 11:30:14 +08:00
Song Ruo Jing
c8c9ce0a8b Merge branch 'feature/esp32c6_gpio_support' into 'master'
gpio: bringup driver on esp32c6 FPGA

Closes IDF-5870 and IDF-5937

See merge request espressif/esp-idf!20364
2022-10-19 18:44:30 +08:00
morris
78dfb58295 mcpwm: update compare value on both tep and tez
Closes https://github.com/espressif/esp-idf/issues/9904
2022-10-18 06:29:53 +00: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
d592d983ce esp_adc: added esp32c2 adc runners 2022-10-17 16:23:22 +08:00
Linda
837d29cca0 docs: update the description of uart_read_bytes 2022-10-14 15:55:40 +08:00
Armando
f905f6ab7c esp_adc: add esp32c2 adc high/low test threshold and expected val 2022-10-13 21:03:51 +08:00
morris
9408e1372b Merge branch 'bugfix/i2s_tx_auto_clear_not_totally_clean_the_buf' into 'master'
i2s: fix tx incomplete auto clear

Closes IDFGH-8416

See merge request espressif/esp-idf!20536
2022-10-12 18:15:49 +08:00
laokaiyao
be7c656f6e i2s: fix tx incomplete auto clear
Closes: https://github.com/espressif/esp-idf/issues/9882
2022-10-11 16:57:05 +08:00
morris
a8eacd690c Merge branch 'bugfix/allow_compare_equal_period' into 'master'
mcpwm: allow compare equals to period

See merge request espressif/esp-idf!20514
2022-10-11 16:53:27 +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
morris
ad376e2d99 mcpwm: allow compare equals to period 2022-10-11 11:25:33 +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
morris
c91f693408 test: fix rmt iram case random failure 2022-09-27 18:03:21 +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
Michael (XIAO Xufeng)
02a9de904a essl: move from esp-idf component to extra component 2022-09-26 12:26:55 +08:00
Martin Vychodil
7d28abae4e Merge branch 'feature/sdcard_custom_freq' into 'master'
[Storage] Enable SD card custom frequency setup

Closes IDFGH-7089

See merge request espressif/esp-idf!19038
2022-09-23 17:45:30 +08:00
Song Ruo Jing
82cbcf893a Merge branch 'bugfix/fix_uart_fake_tx_done_temp_revert' into 'master'
uart: Fix unwanted processing of TX_DONE interrupt immediately after calling uart_wait_tx_done()

See merge request espressif/esp-idf!20286
2022-09-23 15:53:45 +08:00
Wan Lei
e352382aa8 Merge branch 'feature/no_return_Q_from_isr_for_slave' into 'master'
spi_slave: add new flag SPI_SLAVE_NO_RETURN_RESULT to bypass return descriptor from ISR

Closes IDF-5971

See merge request espressif/esp-idf!20164
2022-09-23 10:34:07 +08:00
Song Ruo Jing
701e49278a uart: Fix unwanted processing of TX_DONE interrupt immediately after calling uart_wait_tx_done()
In previous transmission(s), the TX_DONE interrupt raw bit may be raised, but never been cleared.
TX_DONE interrrupt status bit should be cleared before enabling it to check the new transmission.

Introduced in 4e09d147b11ed8a094b5858642c9f60d658ef656
2022-09-22 14:30:39 +08:00
morris
c99edc6715 mcpwm: make set_compare_value iram safe
Closes https://github.com/espressif/esp-idf/issues/9793
2022-09-21 13:37:49 +00:00
wanlei
ee6d3de128 spi_slave: add a flag SPI_SLAVE_NO_RETURN_RESULT to bypass return descriptor from ISR
if using this flag, driver willn't return the trans-done descriptor from ISR, so
`spi_slave_get_trans_result()` shouldn't be called.
besides, callback is the only way to know transaction status in that case, so a
`post_trans_cb` will be checked mandatory.
2022-09-21 11:56:27 +08:00
morris
c71bd0e4fa rmt: disable rc_fast clock when it's used up 2022-09-17 04:56:49 +00:00
laokaiyao
af0c0bd8ce i2s: fix the data lagging of slave role
Closes https://github.com/espressif/esp-idf/issues/9513
2022-09-16 18:45:02 +08:00
wangyuanze
4d0ac129b4 test: add i2s tdm full duplex multi device test app 2022-09-16 18:45:02 +08:00
Fu Hanxi
a42849f63c Merge branch 'test/test_adc_on_dedicated_runners' into 'master'
ci: use adc dedicated test runners

See merge request espressif/esp-idf!19164
2022-09-16 15:58:36 +08:00
Armando
7be7a3e996 esp_adc: added comments to c3 test thresh, also sync to legacy tests 2022-09-16 03:21:29 +00:00
Armando
eee5085281 ci: use adc dedicated test runners for adc tests 2022-09-16 03:21:29 +00: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
77ce37f235 Merge branch 'feature/check_mcpwm_sync_direction' into 'master'
mcpwm: check sync direction is valid

See merge request espressif/esp-idf!20134
2022-09-15 19:05:57 +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
morris
1fc458b3f7 mcpwm: check sync direction is valid 2022-09-14 11:49:37 +08:00
Wan Lei
f7748beb4d Merge branch 'bugfix/spi2_add_device_cs_more_than_3' into 'master'
spi_master: fix error when use `spi_bus_add_device` add more than 3 devices

Closes IDFGH-7288

See merge request espressif/esp-idf!19798
2022-09-14 10:33:37 +08:00
wanlei
241f182408 spi_master: add test for spi_bus_add_device() more than 3 device
1.add 6 devices freely to check master can mount 6 devices
2.replace each one by a real device to check they can work
2022-09-13 19:20:07 +08:00
Song Ruo Jing
0b048387bc Merge branch 'test/move_rtcio_test_to_test_app' into 'master'
rtcio: Move unit test to gpio test_apps

Closes IDF-5618

See merge request espressif/esp-idf!19919
2022-09-13 14:33:42 +08:00
Kevin (Lao Kaiyao)
8880d38522 Merge branch 'bugfix/add_error_check_for_esptimer_in_touch_sensor' into 'master'
touch_sensor: add esp_timer error check

Closes IDF-5905

See merge request espressif/esp-idf!20072
2022-09-13 14:09:18 +08:00
wangyuanze
ad8d6cdedd rtcio: Move rtcio test cases from unit-test-app to gpio test_app, and enable the tests for ESP32S3 2022-09-13 12:13:51 +08:00
morris
a1030307f1 gptimer: bringup driver on esp32c6 2022-09-13 10:50:58 +08:00
Martin Vychodil
56f2001317 sdmmc/sdspi: allow custom setup of SD card frequency
In order to allow flexible setup of SD card frequency, sdmmc_host_t.max_freq_khz is used as a limit

Closes https://github.com/espressif/arduino-esp32/issues/6225
2022-09-12 17:08:36 +02:00
Dai Zi Yan
3ca44d4d0f Merge branch 'docs/update_get-started' into 'master'
docs: updated gpio and sync up line numbers

Closes DOC-3350 and DOC-3390

See merge request espressif/esp-idf!19959
2022-09-09 17:24:32 +08:00
Armando (Dou Yiwen)
2c2384e39c Merge branch 'bugfix/fix_spi_bus_lock_concurrency_issue' into 'master'
spi_bus_lock: fix a concurrency bug

Closes IDFGH-6528

See merge request espressif/esp-idf!19925
2022-09-09 15:42:24 +08:00
laokaiyao
91c2928ff5 touch_sensor: add esp_timer error check 2022-09-09 14:59:42 +08:00
daiziyan
49aaea7509 docs: updated gpio and sync up line numbers 2022-09-09 02:39:35 +00:00
morris
6539aa2275 pcnt: support esp32c6 2022-09-08 18:26:04 +08:00
laokaiyao
586a14af63 touch_sensor: fixed timer period 2022-09-07 19:13:39 +08:00
Simon
c6610ec4c2 Merge branch 'bugfix/fix_the_duplicated_type_name_in_i2s' into 'master'
i2s: fix the duplicated type name in i2s

Closes IDF-5891

See merge request espressif/esp-idf!19960
2022-09-07 10:53:28 +08:00
Armando
3c8f6dd1cf SPI_BUS_LOCK: fix a concurrency issue
define: lock_bits = (lock->status & LOCK_MASK) >> LOCK_SHIFT;  This `lock_bits` is the Bit 29-20 of the lock->status

1. spi_hdl_1:
   acquire_end_core():
   uint32_t status = lock_status_clear(lock, dev_handle->mask & LOCK_MASK);
   Becuase this is the first `spi_hdl_1`, so after this , lock_bits == 0`b0. status == 0

2. spi_hdl_2:
   acquire_core:
   uint32_t status = lock_status_fetch_set(lock, dev_handle->mask & LOCK_MASK);
   Then here status is 0`b0, but lock_bits == 0`b10. Because this is the `spi_hdl_2`

3. spi_hdl_2:
   `acquire_core` return true, because status == 0. `spi_bus_lock_acquire_start(spi_hdl_2)` then won't block.

4. spi_hdl_2:
   spi_device_polling_end(spi_hdl_2).

5. spi_hdl_1:
   acquire_end_core:
   status is 0, so it cleas the lock->acquiring_dev

6. spi_hdl_2:
   spi_device_polling_end:
   assert(handle == get_acquiring_dev(host)); Fail

Closes https://github.com/espressif/esp-idf/issues/8179
2022-09-06 16:59:02 +08:00
laokaiyao
3bdcf2edf5 i2s: add notes for the read task of i2s basic examples 2022-09-06 10:29:30 +08:00
laokaiyao
648a75dbed i2s: fixed the duplicated type name 2022-09-06 10:27:52 +08:00
laokaiyao
045b65e85d touch_senser: fixed ci issue timer expired after it is deleted 2022-09-05 18:25:32 +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
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
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
morris
82f2ad9b6d Merge branch 'bugfix/propagate_isr_allocation_failure' into 'master'
Fix MCPWM multiplication overflow

Closes IDFGH-8151 and IDFGH-8155

See merge request espressif/esp-idf!19829
2022-09-01 10:44:15 +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
morris
731db1c873 mcpwm: fix multiplication overflow in converting us to compare ticks
Closes https://github.com/espressif/esp-idf/issues/9648
2022-08-31 17:38:29 +08:00
morris
a0d03a60cd legacy_timer: propagate isr register failure
Closes https://github.com/espressif/esp-idf/issues/9651
2022-08-31 17:18:55 +08:00
Marius Vikhammer
dfaaefe2ce Merge branch 'bugfix/uart_sclk_freq' into 'master'
uart: fixed sclk_freq not init warning when compiling with asserts disabled

Closes IDFGH-8144

See merge request espressif/esp-idf!19792
2022-08-30 16:24:38 +08:00
morris
1ca3fad458 Merge branch 'bugfix/gpio_ut_usj' into 'master'
gpio: add a test case to test the ability of disabling USB D+ pin pull-up

See merge request espressif/esp-idf!19838
2022-08-30 14:09:45 +08: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
Song Ruo Jing
46886286c4 gpio: add a test case to test the ability of disabling USB D+ pin pull-up 2022-08-29 19:38:13 +08:00
Marius Vikhammer
b844df8c85 uart: fixed sclk_freq not init warning when compiling with asserts disabled
Closes https://github.com/espressif/esp-idf/issues/9642
2022-08-26 11:52:46 +08:00
morris
995b89fbb6 gptimer: add API to get captured count value 2022-08-25 17:55:19 +08:00
Omar Chebib
6f3c6dcd86 Merge branch 'bugfix/i2c_port_unsigned' into 'master'
I2C: i2c_port_t type is now an enumeration

Closes IDFGH-7433

See merge request espressif/esp-idf!18230
2022-08-25 17:25:51 +08:00
Wan Lei
c5b094a96f Merge branch 'test/fix_sio_mode_multi_test_faile' into 'master'
spi_master: in unit test modify communication bringup flow to fix spi sio mode test failure

See merge request espressif/esp-idf!19712
2022-08-25 16:33:10 +08:00
morris
853a27b491 Merge branch 'refactor/migrate_adc_wifi_test_to_test_app' into 'master'
esp_adc: migrate adc wifi test to test app

Closes IDFCI-1405 and IDFCI-578

See merge request espressif/esp-idf!19736
2022-08-25 10:57:07 +08:00
Armando (Dou Yiwen)
335ca8a687 Merge branch 'refactor/use_esp_check_in_adc_legacy_driver' into 'master'
adc: use esp_check in adc_legacy.c

Closes IDF-3657

See merge request espressif/esp-idf!19727
2022-08-24 14:22:51 +08:00
wanlei
0f92a706ba spi_master: change sio test communication bringup flow to fix testcase failure
test failed by slave obtain data incorrectly at the time before master started
2022-08-24 14:20:26 +08: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
Armando
a8c0f1feb6 esp_adc: migrate adc wifi test to test app 2022-08-23 21:23:21 +08:00
Armando
eaf7fbf35a adc: use esp_check in adc_legacy.c 2022-08-23 17:47:04 +08:00
wangyuanze
6ca1db3ef2 touch_sensor: fix touch_sensor_v1 filter issue 2022-08-23 07:34:51 +00:00
gaoxu
ec649b0a30 SPI: a test to verify the SPI halfduplex communicate on quad mod 2022-08-23 10:47:21 +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
Song Ruo Jing
aae3c7ba08 Merge branch 'bugfix/fix_ledc_timer_update_usage' into 'master'
ledc: Fix the usage of ledc_ls_timer_update and ledc_timer_rst

See merge request espressif/esp-idf!19637
2022-08-22 14:23:44 +08:00
Song Ruo Jing
0445c87459 ledc: Fix the usage of ledc_ls_timer_update and ledc_timer_rst
ledc_ls_timer_update is required only when CLK_DIV and DUTY_RES bits are changed.
Calling ledc_timer_rst while re-configure PWM frequency through ledc_set_freq can cause glitch in the signal
2022-08-19 19:07:46 +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
wanlei
a462022205 spi_master:modify test case name for spi sio mode test 2022-08-18 20:17:15 +08:00
Wan Lei
60d794501f Merge branch 'test/add_test_spi_sio_master_all' into 'master'
SPI Master: add sio multi-device test case for all chips

Closes IDF-4455

See merge request espressif/esp-idf!19249
2022-08-18 14:41:48 +08:00
Wan Lei
8226806295 Merge branch 'feature/reduce-overhead-of-xQueueSendFromISR' into 'master'
SPI Master: add callback feature to reducing overhead

Closes IDFGH-7584

See merge request espressif/esp-idf!18969
2022-08-18 11:02:17 +08:00
morris
31d4ab6e04 Merge branch 'bugfix/mcpwm_operator_naming_issue_with_cxx' into 'master'
mcpwm: don't use keyword operator

Closes IDFGH-8000

See merge request espressif/esp-idf!19581
2022-08-18 10:56:15 +08:00
morris
2cea860318 Merge branch 'contrib/github_pr_9491' into 'master'
[gpio] calloc in critical section (GitHub PR)

Closes IDFGH-7980

See merge request espressif/esp-idf!19380
2022-08-18 10:49:41 +08:00
wanlei
4757efe21d spi_master: fix config check of both in&out phases used in half-duplex mode
Add a check in spi_master driver to prevent using both 'trans->length'
and 'trans->rxlength' on chips other than ESP32 and ESP32S2 which hardware
not support using both TX and RX phases in half-duplex mode
2022-08-17 15:52:08 +08:00
wanlei
6864f72ab7 test: add new spi-sio multi-board test for all chip
test sio master only, and splited into master input & output ability
slave device work on full duplex mode to provide input/output source only
2022-08-17 15:52:08 +08:00
wanlei
5726f3d8cb spi_master: add check for 'post_cb' when flag 'SPI_DEVICE_NO_RETURN_RESULT' is set
There are two ways to know which transaction descriptor is finished,
by either calling `spi_device_get_trans_result`, or getting it from `post_cb`.
When `SPI_DEVICE_NO_RETURN_RESULT` is set, driver will not push finished
transaction descriptors into the queue. So you can't get it from
`spi_device_get_trans_result`. The only way to know this is via `post_cb`.

update document for function `spi_bus_add_device`
2022-08-17 15:08:06 +08:00
morris
2c5a866ea3 mcpwm: don't use keyword operator
Closes https://github.com/espressif/esp-idf/issues/9510
2022-08-17 06:31:50 +00:00
Alex Lisitsyn
c78f126eed driver: uart rs485 fix test sync issues and fail threshold 2022-08-16 13:10:13 +08:00
Michael (XIAO Xufeng)
746f4b814c uart: move frequency of clock sources out of HAL 2022-08-15 18:55:43 +00:00
morris
1d4c08cef4 mcpwm: added enable/disable functions
Closes https://github.com/espressif/esp-idf/pull/9523
2022-08-15 14:46:56 +08:00
morris
970d4cab09 driver: add doc on how to unregister event callbacks
Closes https://github.com/espressif/esp-idf/pull/9523
2022-08-15 14:46:56 +08:00
morris
0d881fc9e0 driver: specify the interrupt priority
Closes https://github.com/espressif/esp-idf/issues/9520
2022-08-15 14:46:56 +08:00
meawoppl
677a0c438d spi_master: added a device flag "SPI_DEVICE_NO_RETURN_RESULT"
Add this flag to select if returning done transaction descriptors from ISR.
You should get the finished transaction descriptor by the callback "post_cb"
if you using this flag, if not, same as the past.

Close https://github.com/espressif/esp-idf/pull/9141
2022-08-15 12:10:50 +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
morris
f24983a942 unity_utils: added helper function to disable cache and run user function 2022-08-12 11:29:52 +08:00
Martin Vychodil
d7e3072040 Merge branch 'fix/sdspi_no_cs' into 'master'
sdspi: Allow CS line to be set to GPIO_NUM_NC (-1)

Closes IDFGH-6175

See merge request espressif/esp-idf!19420
2022-08-11 20:17:26 +08:00
morris
6aa08af572 Merge branch 'bugfix/remove_format_warnings_in_driver' into 'master'
driver: remove -Wno-format flag

Closes IDF-5764

See merge request espressif/esp-idf!19401
2022-08-11 12:19:50 +08:00
Wang Yuan Ze
debf2c0b70 Merge branch 'test/move_touch_related_unit_tests_to_test_apps' into 'master'
test: move touch related unit tests to test apps

Closes IDFCI-1283, IDFCI-1156, and IDF-5766

See merge request espressif/esp-idf!19348
2022-08-09 23:15:18 +08:00
morris
ad59ae38d8 Merge branch 'bugfix/duplicate_i2s_test_case_name' into 'master'
i2s: fixed duplicated test case name

See merge request espressif/esp-idf!19442
2022-08-09 12:01:11 +08:00
Omar Chebib
790aa40c38 Merge branch 'contrib/github_pr_7144' into 'master'
Update i2c.c to consider two I2C buses for clear bus counter (GitHub PR)

Closes IDFGH-5398

See merge request espressif/esp-idf!19093
2022-08-09 10:26:25 +08:00
laokaiyao
3c4bc80712 i2s: fixed duplicated test case name 2022-08-08 20:35:47 +08:00
wangyuanze
5e4ab6481f touch_sensor: move unit tests to test_app 2022-08-08 19:12:56 +08:00
wangyuanze
48ce5d7c01 touch: adapt touch-related code to compile with -Wno-format flag 2022-08-08 19:12:56 +08:00
Adam Múdry
afe78ba0aa sdspi: Allow CS line to be set to GPIO_NUM_NC (-1)
Closes https://github.com/espressif/esp-idf/issues/7852
2022-08-08 09:13:36 +00:00
morris
d91c8759c0 driver: remove -Wno-format flag 2022-08-08 08:30:09 +00:00
songruojing
4983b2786a pm: update pm test cases to support esp32c2 2022-08-08 14:45:53 +08:00
Omar Chebib
75ede16b38 I2C: Fix the reset counter 2022-08-08 11:05:11 +08:00
Eckhard Völlm
0257eba526 Update i2c.c
Fix issue with single bus clear counter but two I2C buses (I2C0, I2C1). The previously implemented single (static) counter would impact the second bus either if one bus has counter expiry.
Merges https://github.com/espressif/esp-idf/pull/7144
2022-08-08 02:46:13 +00:00
jingli
ee3423834e kconfig: refactor xtal freq kconfig to common configuration item 2022-08-05 19:12:29 +08:00
songruojing
6e8ebdb6b7 gpio: fix potential race condition inside gpio_install_isr_service 2022-08-05 11:06:01 +08:00
tgotic
34ff721c92 [gpio] calloc in critical section
Remove calloc out of critical section. In critical section, assign allocated memory to gpio_isr_func.
Free resources if gpio_isr_register() fails.
2022-08-04 17:11:32 +08:00
Ivan Grokhotkov
401c10ecfb build system: re-add -Wno-format as private flag for some components 2022-08-03 16:42:47 +04:00
Alex Lisitsyn
f352469cd3 Merge branch 'bugfix/uart_fails_1M_baud_rate' into 'master'
driver: check UART physical communication on 1M baudrate

Closes IDFGH-7366

See merge request espressif/esp-idf!18211
2022-08-03 19:50:09 +08:00
Alex Lisitsyn
76a084caa3 driver: check UART physical communication on 1M baudrate 2022-08-03 19:50:09 +08:00
Kevin (Lao Kaiyao)
762da7e5ba Merge branch 'bugfix/fix_legacy_i2s_clock_test_failure' into 'master'
i2s_legacy_test: fix the clock test failure

Closes IDFCI-1402 and IDFCI-1408

See merge request espressif/esp-idf!19319
2022-08-03 17:13:43 +08:00
morris
307d26659e Merge branch 'bugfix/rmt_hw_issue' into 'master'
rmt: only use register to control the IDLE state (hardware issue workaround)

See merge request espressif/esp-idf!19344
2022-08-03 17:01:44 +08:00
Armando (Dou Yiwen)
df1c54d6fc Merge branch 'ci/raise_c3_adc_high_low_test_threshold' into 'master'
ci: raise legacy adc high/low test low thresh on ESP32C3

See merge request espressif/esp-idf!19356
2022-08-03 15:21:45 +08:00
laokaiyao
4c446222e1 i2s_test: fix mono stereo test 2022-08-03 13:14:48 +08:00
laokaiyao
a32a89b002 i2s_legacy_test: fix the clock test issue 2022-08-03 13:14:48 +08:00
Armando
50229cfe06 ci: raise legacy adc high/low test low thresh 2022-08-03 11:28:52 +08:00
morris
8de9fd8cd7 rmt: only use register to control IDLE state
hardware issue: we can't control the IDLE level by the stop item
when loop transmission is enabled.
But we can always control the IDLE state by register.
2022-08-03 10:51:43 +08:00
morris
480f80868a mcpwm: test iram safe interrupt 2022-08-02 23:07:06 +08:00
morris
a5a171926b rmt: add test with -O0 2022-08-02 23:07:06 +08:00
morris
031adc01c4 gpio: add test with -O0 2022-08-02 23:07:06 +08:00
morris
ca175857d1 pcnt: add test with -O0 2022-08-02 23:07:06 +08:00
morris
8987164385 i2s: add test with -O0 2022-08-02 23:07:06 +08:00
morris
7faf1bee73 gptimer: add test with -O0 2022-08-02 22:53:36 +08:00
Jiang Jiang Jian
b885499c74 Merge branch 'refactor/move_common_adc_part_to_hw_support' into 'master'
esp_adc: move esp_adc out of g1 dependency list

Closes IDF-5637

See merge request espressif/esp-idf!19159
2022-08-01 15:39:45 +08:00
Armando
4f80c0f27e esp_adc: remove esp_adc from g1 component dependencies 2022-07-28 03:49:48 +00:00
Armando
5e6a16380a esp_adc: move adc common hw related code into esp_hw_support 2022-07-28 03:49:48 +00:00
jingli
7211b0a89a esp_hw_support/sleep: fix cannot pd cpu and rc fast at the same time during light sleep
Since cpu retention dma use rc fast as clk source, so rc_fast_digi
will be enabled when we config to pd cpu. And cpu retention does not
need rc fast keep on during light sleep. So, if we use rc_fast_digi
to determine whether rc fast can be powered down, then cpu and and
rc fast cannot pd at the same time.
2022-07-28 11:10:58 +08:00
morris
96c29841bb Merge branch 'feature/mcpwm_new_driver' into 'master'
 MCPWM Driver-NG

Closes IDF-2471, IDF-2895, IDF-20, and IDF-3945

See merge request espressif/esp-idf!11480
2022-07-27 19:25:06 +08:00
morris
1571417679 mcpwm: new driver implementation 2022-07-27 15:22:24 +08:00
morris
fd3a1ffc21 mcpwm: deprecate legacy driver 2022-07-27 15:08:58 +08:00
Armando
0e6c8aef19 esp_adc: increase adc continuous iram test time overhead a bit
Prior to this commit, overhead is 0us on esp32s2, s3, c3, c2. However
when the conv_done event happens, software takes some time to do
necessary operations.
2022-07-26 18:19:14 +08:00
Fu Hanxi
585e0431c7 Merge branch 'test/spi_param_redund_desc' into 'master'
test_spi: fixed redundant quotes in test descriptions

See merge request espressif/esp-idf!19140
2022-07-23 02:22:58 +08:00
Darian
c8ee369a7c Merge branch 'feature/deprecate-old-cpu-api' into 'master'
HAL: Deprecate old CPU/SoC/Interrupt Controller HAL API

Closes IDF-4919 and IDF-5032

See merge request espressif/esp-idf!18987
2022-07-23 00:37:33 +08:00
morris
c4e84751a5 driver: fix public header exceptions for driver 2022-07-22 00:12:36 +00:00
morris
9a921ada7f rmt: const callback event data 2022-07-22 00:12:36 +00:00
morris
741b031e83 soc: added SOC_TOUCH_SENSE_SUPPORTED macro 2022-07-22 00:12:36 +00:00
Guillaume Souchere
6005cc9163 hal: Deprecate interrupt_controller_hal.h, cpu_hal.h and cpu_ll.h interfaces
This commit marks all functions in interrupt_controller_hal.h, cpu_ll.h and cpu_hal.h as deprecated.
Users should use functions from esp_cpu.h instead.
2022-07-22 00:06:06 +08:00
Darian Leung
781d06af73 esp_hw_support: Remove compare_set.h API
This function removes the following legacy atomic CAS functions:

From compare_set.h (file removed):
- compare_and_set_native()
- compare_and_set_extram()

From portmacro.h
- uxPortCompareSet()
- uxPortCompareSetExtram()

Users should call esp_cpu_compare_and_set() instead as this function hides the details
of atomic CAS on internal and external RAM addresses.

Due to the removal of compare_set.h, some missing header includes are also fixed in this commit.
2022-07-22 00:06:06 +08:00
David Čermák
36f49f361c Merge branch 'bugfix/esp_netif_clean_deps_lwip' into 'master'
esp-netif/lw-ip: Make dependencies one-directional

Closes IDF-4459, IDF-4460, IDF-1099, and IDFGH-6287

See merge request espressif/esp-idf!18084
2022-07-21 20:18:05 +08:00
Armando (Dou Yiwen)
097e64f8c7 Merge branch 'bugfix/adc2_legacy_oneshot_clk_gating_issue' into 'master'
adc: fix legacy oneshot driver clock gating issue on c3 and c2

See merge request espressif/esp-idf!19144
2022-07-21 19:13:20 +08: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
92ea22fe81 i2s: support esp32h2 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
wangyuanze
ab0c4abd6e rmt: add open-drain flag on tx channel 2022-07-20 14:12:43 +00:00
David Cermak
5c383d7b73 esp_netif/lwip: Fix deps cycles to "lwip -> esp_netif -> phy-drivers"
Fix dependency tree so that lwip doesn't depend on any specific network
interface component.
Network interface drivers shall depend on esp_netif.
esp_netif shall depend on lwip (but not on any specific interface
driver) -- it optionally depends on vfs and esp_eth (need ethernet
header for L2/bridge mode)
2022-07-20 14:59:07 +02:00
Armando
638f39ff40 adc: fix legacy oneshot driver clock gating issue on c3 and c2 2022-07-20 16:35:59 +08:00
Michael (XIAO Xufeng)
5d24a207b6 test_spi: fixed redundant quotes in test descriptions 2022-07-20 15:36:10 +08:00
morris
edb5600348 sdm: refactor example with new driver 2022-07-20 14:59:50 +08:00
morris
f33428f2e5 sdm: added channel allocator for sigma delta module 2022-07-20 14:59:50 +08:00
morris
e080248141 sdm: deprecate legacy driver 2022-07-20 14:59:50 +08:00
morris
4154eaec93 sdm: clean up soc/hal/ll code 2022-07-20 14:59:50 +08:00
morris
9e532696f4 pcnt: add const qualifier to event data 2022-07-20 14:59:50 +08:00
morris
bec44ca2e9 gptimer: test on c2 with xtal 26mhz 2022-07-20 04:40:28 +00:00
Marius Vikhammer
1315f85e01 docs: fixed misc broken links 2022-07-20 09:43:52 +08:00
Armando (Dou Yiwen)
9f6f61345b Merge branch 'feature/adc_driver_ng' into 'master'
ADC Driver NG

Closes IDF-4560, IDF-3908, IDF-4225, IDF-2482, IDF-4111, IDF-3610, IDF-4058, IDF-3801, IDF-3636, IDF-2537, IDF-4310, IDF-5150, IDF-5151, and IDF-4979

See merge request espressif/esp-idf!17960
2022-07-19 21:28:31 +08:00
Cao Sen Miao
53580a62b5 I2C: Fullfill the I2C clock tree, and support 26M XTAL on ESP32-C2 2022-07-19 11:41:42 +08:00
Armando
5b523a3313 esp_adc: new esp_adc component and adc drivers 2022-07-15 18:31:00 +08:00
Wang Yuan Ze
b666bdb01e Merge branch 'example/fix_ir_nec_transceiver_issue' into 'master'
example: Fix rmt callback memory issue in ir_nec_transceiver

See merge request espressif/esp-idf!19040
2022-07-15 11:39:36 +08:00
wangyuanze
61f19094b0 example: fix rmt callback memory issue in ir_nec_transceiver 2022-07-14 18:59:38 +08:00
Fu Hanxi
c0568611dd docs: changes docs supported targets tables 2022-07-14 08:26:32 +08:00
Fu Hanxi
05d2357062 feat: use standalone project idf-build-apps for find/build apps utils 2022-07-14 08:26:31 +08:00
Fu Hanxi
1129bd7587 test: increase test gpio time timeout 2022-07-14 08:26:01 +08:00
Marius Vikhammer
f463c42791 Merge branch 'bugfix/ringbuf_iram_fix' into 'master'
esp_ringbuf: placement in flash is no longer controlled by...

Closes IDFGH-7646

See merge request espressif/esp-idf!18774
2022-07-12 09:56:25 +08:00
Marius Vikhammer
6cc871d793 Merge branch 'feature/ulp_riscv_adc' into 'master'
ulp-riscv: add support for using ADC as well as an example show-casing it.

Closes IDFGH-7564 and IDF-1714

See merge request espressif/esp-idf!18767
2022-07-11 12:30:31 +08:00
Marius Vikhammer
e8b5096f52 ulp-riscv: add support for using ADC as well as an example show-casing it. 2022-07-11 09:31:22 +08:00
Marius Vikhammer
fd37129651 esp_ringbuf: placement in flash is no longer controlled by CONFIG_FREERTOS_PLACE_FUNCTIONS_INTO_FLASH
esp-ringbuf funtion placement is now controlled by its own configs:
CONFIG_RINGBUF_PLACE_FUNCTIONS_INTO_FLASH and CONFIG_RINGBUF_PLACE_ISR_FUNCTIONS_INTO_FLASH

Closes https://github.com/espressif/esp-idf/issues/9198
2022-07-11 09:24:20 +08:00
morris
a92cce9861 Merge branch 'bugfix/calib_i2c_clk' into 'master'
I2C: Make I2C clock frequency accurate

Closes IDF-5363

See merge request espressif/esp-idf!18686
2022-07-06 20:52:31 +08:00
Cao Sen Miao
e218723e0e I2C: Make I2C clock frequency accurate 2022-07-06 11:58:08 +08:00
songruojing
9d73475e44 uart: Add a new API to get the free space size of tx buffer
Closes https://github.com/espressif/esp-idf/issues/8932

Closes https://github.com/espressif/esp-idf/issues/3078
2022-07-05 18:39:22 +08:00
Cao Sen Miao
a690a87829 spi_flash: Remove legacy spi_flash drivers 2022-07-01 11:01:34 +08:00
Zhang Xiao Yan
be4d13d888 Merge branch 'docs/add_chiptype_link_gpio' into 'master'
docs: Add chip target and link to gpio.h

Closes DOC-3169

See merge request espressif/esp-idf!18623
2022-06-30 17:12:04 +08:00
Kevin (Lao Kaiyao)
47266d7736 Merge branch 'refactor/add_description_to_touch_pad_set_meas_time' into 'master'
touch_sensor: add description to distinguish the API on different target

Closes IDFGH-7499

See merge request espressif/esp-idf!18341
2022-06-28 20:00:02 +08:00
morris
602e154c12 Merge branch 'refactor/move_gdma_to_hw_support' into 'master'
dma: move from driver to hw_support

See merge request espressif/esp-idf!18706
2022-06-28 15:57:56 +08:00
morris
7fd9a91034 dma: move from driver to hw_support 2022-06-28 14:17:12 +08:00
laokaiyao
d5e55e0563 touch_sensor: add description to distinguish the API on different target
Closes https://github.com/espressif/esp-idf/issues/9067
2022-06-28 02:20:43 +00:00
Armando
f31d88e3fe spi: move spi_common_internal to esp_private 2022-06-24 19:12:13 +08:00
Linda
ca7138e653 docs:add chiptype and link to gpio.h 2022-06-24 17:13:15 +08:00
Sudeep Mohanty
2c7b4cf8d5 Merge branch 'bugfix/fix_legacy_pcnt_driver_test_with_freertos_smp' into 'master'
freertos-smp: Fix legacy_pcnt_driver for FreeRTOS SMP config

Closes IDF-5274

See merge request espressif/esp-idf!18631
2022-06-23 20:19:08 +08:00
Cao Sen Miao
2c0651a671 Add regi2c enable/disable reference count 2022-06-23 15:36:44 +08:00
Cao Sen Miao
3a820462ac temperature_sensor: Add temperature sensor support for ESP32-C2 2022-06-23 15:36:43 +08:00
Sudeep Mohanty
755789113b freertos-smp: Fix legacy_pcnt_driver for FreeRTOS SMP config
This commit increases the memory leak threshold for legacy_pcnt_driver
test from 300 bytes to 400 bytes. The test fails due to a breach of the
threshold value by 8 bytes.
2022-06-22 13:19:34 +02:00
Omar Chebib
8fae0f0753 G0: Support Xtensa targets for G0-only compilation
G0-only example now supports Xtensa targets. This means that G0 layer
does not depend on G1+ layers anymore
2022-06-20 11:34:20 +00:00
Jakob Hasse
d7cceabbb4 Merge branch 'feature/upgrade_c_cxx_standards' into 'master'
build system: use C17 and C++2a by default

Closes IDF-1499, IDFGH-1788, IDFGH-2781, and IDFGH-7617

See merge request espressif/esp-idf!18371
2022-06-20 12:24:08 +08:00
morris
06eb494a61 pcnt: support set the level of virtual IO 2022-06-18 15:00:37 +08:00
Ivan Grokhotkov
a2ca5d03c5
examples, components: remove C/C++ standard overrides
...where they are not necessary after switching to C17 and C++20.
2022-06-17 16:44:17 +02:00
Michael (XIAO Xufeng)
7c7d53813c Merge branch 'feat/revert_touch_s3' into 'master'
touch: Added support for using touch in sleep modes back on ESP32-S3

Closes IDF-5041

See merge request espressif/esp-idf!18421
2022-06-15 16:11:50 +08:00
Kevin (Lao Kaiyao)
bb30edf35a Merge branch 'refactor/i2s_driver_rewrite' into 'master'
🔨 i2s: i2s driver-NG

Closes IDF-3714 and IDF-4592

See merge request espressif/esp-idf!15175
2022-06-15 14:22:58 +08:00
morris
d421f26562 Merge branch 'bugfix/update_gpio_intr_enable_note' into 'master'
Update the note of the gpio_intr_enable function

See merge request espressif/esp-idf!18488
2022-06-15 11:16:58 +08:00
Armando (Dou Yiwen)
1b63128237 Merge branch 'contrib/github_pr_9133' into 'master'
driver(spi): fix flag check in bus initialization (GitHub PR)

Closes IDFGH-7574

See merge request espressif/esp-idf!18462
2022-06-15 10:59:42 +08:00
laokaiyao
28b8fc6a7e i2s: update documents for driver-NG 2022-06-15 10:30:04 +08:00
laokaiyao
0fe3bb8ab7 i2s: update examples and unit-tests 2022-06-15 10:29:06 +08:00
laokaiyao
621d0aa942 i2s: Introduced a brand new driver 2022-06-15 10:29:06 +08:00
Darian
e213e66ba3 Merge branch 'refactor/esp_hw_support_cpu' into 'master'
esp_hw_support: Add new esp_cpu.h abstraction

Closes IDF-4769

See merge request espressif/esp-idf!17091
2022-06-14 21:11:30 +08:00
morris
919344547b Merge branch 'bugfix/rmt_register_file_s3' into 'master'
rmt: update register file after fixing csv of RMT peripheral (esp32s2/s3)

Closes IDFGH-7537

See merge request espressif/esp-idf!18392
2022-06-14 18:24:28 +08:00
Darian Leung
149872131a hal: Move dedicated GPIO LL and HAL
This commit moves the dedicated GPIO LL and HAL functions from
cpu_ll.h to dedic_gpio_cpu_ll.h.

- cpu_ll_enable_cycle_count() has also been removed due to lack of feasible usage scenarios
2022-06-14 14:38:29 +08:00
xiongweichao
82730166aa Update the note of the gpio_intr_enable function 2022-06-14 10:44:02 +08:00
Marius Vikhammer
e18f381905 HAL: fix kconfig HAL_ASSERTION typo 2022-06-13 16:19:28 +08:00
Matus Fabo
384d61f156 remove: sdspi_host deprecated api
add: migration guide documentation
2022-06-12 20:07:27 +00:00
Michael (XIAO Xufeng)
f522865462 Revert "touch: add protection for touch sleep case"
This reverts commit 974ac3b4b8.
2022-06-13 01:51:15 +08:00
Michael (XIAO Xufeng)
069ef38ff6 Revert "touch_sensor: forbid from using touch sensor with sleep on ESP32-S3"
This reverts commit a84faa3cef.
2022-06-13 01:51:12 +08:00
morris
4094f13fd3 rmt: fix error in rmt register file
Closes https://github.com/espressif/esp-idf/issues/9100
2022-06-10 18:38:42 +08:00
Martin Vychodil
16a4ee7c36 Merge branch 'bugfix/spi_mode_status_check' into 'master'
sdmmc, sdspi: fixes related to status checks, R1b response support, erase fix for SPI mode, fix for erase timeout calculation

Closes IDF-4728

See merge request espressif/esp-idf!17727
2022-06-10 13:15:47 +08:00
morris
5daa73d236 Merge branch 'refactor/mcpwm_hal_driver_doc' into 'master'
mcpwm: don't support disable carrier one-shot pulse

Closes IDFGH-7406

See merge request espressif/esp-idf!18295
2022-06-10 10:28:59 +08:00
Yannis Huber
3397cf465d driver(spi): fix flag check in bus initialization
The current flag check in the SPI bus initialization is wrong and
causes exceptions when using certain SPI hosts in quad transfert mode.
2022-06-09 17:20:30 +02:00
Michael (XIAO Xufeng)
773715d900 Merge branch 'feature/support_refresh_brownout_v1' into 'master'
spi_flash: send reset when brownout detected on XMC flash

Closes IDF-3882

See merge request espressif/esp-idf!16873
2022-06-06 16:27:58 +08:00
morris
3247335770 mcpwm: don't support disable carrier first pulse
The first pulse of MCPWM carrier can not be disabled, this commit will
remove the feature.

Closes https://github.com/espressif/esp-idf/issues/8984
2022-06-02 15:01:18 +08:00
morris
a12936dca9 mcpwm: rename MCPWM_ISR_IN_IRAM to MCPWM_ISR_IRAM_SAFE 2022-06-02 15:01:18 +08:00
morris
f7ff7ac4d0 mcpwm: clean up hal driver and add doc 2022-06-02 15:01:18 +08:00
Michael (XIAO Xufeng)
6a8aed12ee ci: partially enable ut tests for esp32c2
Disabled test cases are tracked in:

 IDF-4465, IDF-5045, IDF-5057, IDF-5058, IDF-5059, IDF-5060, IDF-5061, IDF-5131

- test_fatfs: IDF-5136

- test_pm: IDF-5053

- test_cache_mmu: IDF-5138

- test_partitions: IDF-5137

- test_vfs: IDF-5139

- test_freertos: IDF-5140

- test_wpa_supplicant: IDF-5046

- test_mbedtls: IDF-5141

- test_pthread: IDF-5142

- test_protocomm: IDF-5143

- test_lightsleep: IDF-5053

- test_taskwdt: IDF-5055

- test_tcp_transport: IDF-5144

- test_app_update: IDF-5145

- test_timer: IDF-5052

- test_spi: IDF-5146

- test_rtc_clk: IDF-5060

- test_heap: IDF-5167

ci: fixed issues for tests of libgcc, ets_timer, newlib

test_pm: support on C2
2022-06-02 14:23:35 +08:00
morris
17a688749a timer: disable nano printf for gptimer examples
because we need to use %llu to print the timer count value, but nano
printf doesn't known that format
2022-06-02 11:08:59 +08:00
morris
4b26a5d340 legacy_timer: fix converting count value into time second 2022-06-02 11:08:59 +08:00
Cao Sen Miao
895a3e1bb2 esp_intr: Split RTC interrupt, making some of signals can be triggered with cache disabled 2022-06-02 10:38:55 +08:00
Djordje Nedic
facab8c5a7 tools: Increase the minimal supported CMake version to 3.16
This updates the minimal supported version of CMake to 3.16, which in turn enables us to use more CMake features and have a cleaner build system.
This is the version that provides most new features and also the one we use in our latest docker image for CI.
2022-06-01 06:35:02 +00:00
Ivan Grokhotkov
79659e3096
sdmmc: better calculation of erase timeout
Previous version of the code used a fixed constant (500 ms) for the
erase timeout and added 1 ms for each sector erased.
This commit improves timeouts calculation:
- For SD cards, check if erase timeout information is present in the
  SSR register. If yes, use it for erase timeout calculation.
  Otherwise assume 250ms per erase block, same as Linux does.
- For eMMC assume 250ms per erase block (but no less than 1 second).
  This has to be improved later to use the erase timeout info in the
  extended CSD register.
2022-05-30 15:39:02 +02:00
Ivan Grokhotkov
3ad98984e9
driver: sdspi: add support for R1b response
Same as R1 but with busy indication polling
2022-05-30 15:39:01 +02:00
Ivan Grokhotkov
f1e3536f3c
driver: sdspi: fix decoding of R2 response 2022-05-30 15:39:00 +02:00
Ivan Grokhotkov
17b7981e2e
driver: sdmmc: add SPI mode R2 response definitions 2022-05-30 15:39:00 +02:00
Anton Maklakov
b0369aa898 test, spi: randr_r() expects unsigned int * type 2022-05-30 12:58:57 +07:00
Tomas Rezucha
3b7018923e Merge branch 'docs/i2c_thread_safety' into 'master'
docs: Fix I2C thread-safety

Closes IDF-5034

See merge request espressif/esp-idf!18172
2022-05-27 08:24:13 +08:00
Song Ruo Jing
cf32e49aeb Merge branch 'refactor/cleanup_rtc_h' into 'master'
clk_tree: Prework2 of introducing clock subsystem control

Closes IDF-4934

See merge request espressif/esp-idf!17861
2022-05-26 09:16:47 +08:00
Tomas Rezucha
b6771b7f83 docs: Fix I2C thread-safety 2022-05-25 07:22:02 +00:00
songruojing
a5b09cf015 rtc_clk: Clean up some clock related enum and macro in soc/rtc.h, replace with new ones in
soc/clk_tree_defs.h
2022-05-24 22:59:41 +08:00
Kevin (Lao Kaiyao)
94d7ae03da Merge branch 'bugfix/i2s_write_timeout_when_setting_clock' into 'master'
i2s: fixed write timeout while setting the clock

Closes IDFGH-7273 and IDFGH-7261

See merge request espressif/esp-idf!18201
2022-05-24 10:01:12 +08:00
Marius Vikhammer
0687daf2c8 kconfig: move remaining kconfig options out of target component
The kconfig options are moved to the component where they are used,
mostly esp_hw_support and esp_system.
2022-05-23 17:57:45 +08:00
laokaiyao
f523fbc73b i2s: Fixed divide 0 issue while setting PDM down sampling issue
Closes https://www.github.com/espressif/esp-idf/issues/8850
2022-05-23 16:28:42 +08:00
laokaiyao
f36ae3f603 i2s: fixed write timeout while setting the clock 2022-05-23 16:28:37 +08:00
Omar Chebib
872a4311f2 I2C: Fix a bug making the I2C task wait too long on an event
The I2C ISR will now notify the task waiting on an event. Thus, the task can stop waiting on the event queue as soon as possible.
2022-05-23 02:02:00 +00:00
morris
8138f8bb02 driver: remove deprecated code
that declared as deprecated in the previous release
2022-05-19 11:31:53 +08:00
morris
ab87dde1d4 rmt_legacy: don't use early log in isr handler
...but use ESP_DRAM_LOGx instead

Closes https://github.com/espressif/esp-idf/issues/5414
2022-05-19 11:10:59 +08:00
Marius Vikhammer
c8617fe965 docs: fix all doxygen warnings
Doxygen warnings would previously not result in a failed pipeline.
Fixed this as well as all current warnings.
2022-05-12 14:50:03 +08:00
morris
24f5fecef0 hal: use ROM implementation for systimer and wdt on esp32c2 2022-05-12 05:18:57 +00:00
morris
df5872b3a4 Merge branch 'feature/support_i2c_on_esp32h2' into 'master'
i2c: support i2c on esp32h2

Closes IDF-4155

See merge request espressif/esp-idf!17798
2022-05-10 22:48:05 +08:00
morris
c49e99f9e7 uart: use clk_tree API to acquire FAST_RC clock 2022-05-09 11:26:30 +08:00
morris
722fde218d uart: add default source clock for all targets 2022-05-09 11:26:30 +08:00
morris
660ff8e840 rmt: declare RMTMEM as a block of memory 2022-05-09 11:26:30 +08:00
Armando (Dou Yiwen)
03aeac1dde Merge branch 'refactor/adc_hal_common_layer' into 'master'
adc: create common adc hal layer

See merge request espressif/esp-idf!17577
2022-05-08 15:45:56 +08:00
Armando
49747bb486 adc: create common adc hal layer 2022-05-07 19:20:44 +08:00
morris
c5cd86ae8b test_utils: migrate to use new rmt driver 2022-05-07 10:34:50 +00:00
morris
2fb43820c2 driver_ng: implement new rmt driver
The legacy driver can't handle the breaking change between esp chips

very well.

And it's not elegant to extend new feature like DMA, ETM.

The new driver can return a opaque handle for each RMT channel.

An obvious transaction concept was also introduced.

TX and RX functionalities are splited out.
2022-05-07 10:34:50 +00:00
morris
df474e74a1 rmt_legacy: fix undetermined idle level
Closes https://github.com/espressif/esp-idf/issues/8864
2022-05-07 10:34:50 +00:00
morris
5bfe873725 driver: deprecate legacy rmt driver
The legacy driver is still available, but new feature won't be added.
Enable RMT_SUPPRESS_DEPRECATE_WARN if you don't want to see the
deprecated warnings.
2022-05-07 10:34:50 +00:00
morris
3a5fdfe35a temp_sensor: added enable/disable functions
The previous start/stop functions have been rename to enable/disable.
2022-05-06 18:18:39 +08:00
morris
d67888b92b pcnt: added enable/disable functions 2022-05-06 18:18:39 +08:00
morris
e7295c3577 gptimer: added enable/disable functions 2022-05-06 18:18:39 +08:00
Simon
0b00831703 Merge branch 'bugfix/i2c_timeout_issue' into 'master'
I2C: Patch for solving watchdog timeout issue

Closes IDFGH-6923, IDFGH-6463, and IDFGH-5558

See merge request espressif/esp-idf!17956
2022-05-06 10:38:38 +08:00
Cao Sen Miao
9a9f10e4c9 I2C: patch for solving watchdog timeout issue 2022-05-05 14:36:49 +08:00
morris
595df1d3fa Merge branch 'refactor/move_rtc_ctrl_to_esp_hw_support' into 'master'
hw_support: move rtc_ctrl from driver to hw_support

See merge request espressif/esp-idf!17963
2022-05-05 11:57:31 +08:00
morris
9ab4abfb46 hw_support: move rtc_ctrl from driver to hw_support 2022-04-29 14:28:09 +08:00
Vamshi Gajjela
f116228cd6 Add high speed mode switch validation check for MMC. 2022-04-28 15:23:21 +02:00
Omar Chebib
5bd4decad1 I2C: Read transactions, without a STOP, won't panic anymore
* Closes https://github.com/espressif/esp-idf/issues/8548
2022-04-27 03:55:19 +00:00
Simon
e4d85807ea Merge branch 'feature/spi_flash_esp8684_support' into 'master'
spi_flash: refactor spi_flash clock configuration logic and support esp32c2

Closes IDF-4474, IDF-4025, and IDF-4066

See merge request espressif/esp-idf!16602
2022-04-27 11:05:45 +08:00
Ivan Grokhotkov
3175e472ba Merge branch 'bugfix/freertos_esp_timer_deps' into 'master'
esp_timer: remove from freertos public requirements

See merge request espressif/esp-idf!17818
2022-04-27 04:13:25 +08:00
Alex Lisitsyn
09c1fbae4a Merge branch 'bugfix/driver_uart_fix_tx_bytes_rts_assert_failure' into 'master'
driver: uart fix send bytes in RS485 mode rts assert failure

See merge request espressif/esp-idf!14583
2022-04-26 21:48:07 +08:00
Alex Lisitsyn
fe41cc13f8 driver: uart fix send bytes in RS485 mode rts assert failure 2022-04-26 21:48:07 +08:00
Cao Sen Miao
4418a855ba spi_flash: refactor the spi_flash clock configuration, and add support for esp32c2 2022-04-26 15:22:37 +08:00
Ivan Grokhotkov
708e99497b
global: add dependency on esp_timer component and include esp_timer.h
Some components were including esp_timer.h without declaring a
dependency on esp_timer component. This used to work due to a
transitive public dependency on esp_timer from freertos component.
Add explicit dependencies where needed.
Also some source files were using esp_timer functions without
including the header file. This used to work because esp_timer.h was
included from freertos port header file. This commit adds esp_timer.h
includes where needed.
2022-04-25 18:39:23 +02:00
morris
080953ce02 Merge branch 'contrib/github_pr_8812' into 'master'
usb_serial_jtag: make CONFIG_DEFAULT initializer match order of structure definition (GitHub PR)

Closes IDFGH-7218

See merge request espressif/esp-idf!17886
2022-04-25 18:54:55 +08:00
david zuhn
52e34fb7fd usb_serial_jtag: make CONFIG_DEFAULT initializer match order of structure definition 2022-04-25 17:52:00 +08:00
Jacques Supcik
2a00945fba fix small typos 2022-04-24 16:50:08 +02:00
Marius Vikhammer
45c1d1cba2 Merge branch 'feature/move_target_kconfig_2' into 'master'
system: move kconfig options out of target component

See merge request espressif/esp-idf!17321
2022-04-24 13:29:43 +08:00
laokaiyao
b99ced08a2 i2s: fix only right case
Closes: https://github.com/espressif/esp-idf/issues/8538
2022-04-23 07:38:45 +00:00
laokaiyao
5b3468ebb3 i2c: support i2c on esp32h2 2022-04-23 07:38:25 +00:00
Anton Maklakov
bbe2bb9994 components: correct abs() use for 64-bit argument 2022-04-21 12:22:15 +07:00
Marius Vikhammer
d2872095f9 soc: moved kconfig options out of the target component.
Moved the following kconfig options out of the target component:
 * CONFIG_ESP*_DEFAULT_CPU_FREQ* -> esp_system
 * ESP*_REV_MIN -> esp_hw_support
 * ESP*_TIME_SYSCALL -> newlib
 * ESP*_RTC_* -> esp_hw_support

Where applicable these target specific konfig names were merged into
a single common config, e.g;
CONFIG_ESP*_DEFAULT_CPU_FREQ -> CONFIG_ESP_DEFAULT_CPU_FREQ_MHZ
2022-04-21 12:09:43 +08:00
morris
373d9b3dbc Merge branch 'feature/default_clk_for_gptimer' into 'master'
clk_tree: added default clock source for peripherals (GPTimer, RMT, LCD, TempSensor)

Closes IDF-4894

See merge request espressif/esp-idf!17759
2022-04-19 18:02:40 +08:00
Michael (XIAO Xufeng)
d64c6f581d ledc: cleanup the clock selection code 2022-04-14 08:15:14 +00:00
songruojing
534346f4bb ledc: Provide support for esp32c2 and esp32h2
LEDC examples, unit test, and programming guide are all updated.
2022-04-14 08:15:14 +00:00
morris
f32a89826c clk_tree: added default clock source for peripheral 2022-04-14 15:44:56 +08:00
morris
cb5507f11c Merge branch 'feature/clk_tree_defs' into 'master'
clk_tree: prework of introducing clock subsystem control

Closes IDF-4892

See merge request espressif/esp-idf!17631
2022-04-13 10:36:56 +08:00
morris
0164ce894d Merge branch 'bugfix/wrong_gpio_is_deep_sleep_wakeup_valid_gpio' into 'master'
gpio: fix wrong GPIO_IS_DEEP_SLEEP_WAKEUP_VALID_GPIO macro

Closes IDFGH-7128

See merge request espressif/esp-idf!17737
2022-04-11 21:15:06 +08:00
morris
bd3ded195a Merge branch 'feature/proper_way_register_testapp_component' into 'master'
Several driver improvements according to coverify scan report

See merge request espressif/esp-idf!17708
2022-04-11 21:04:14 +08:00
songruo
0d52cb04dc gpio: fix wrong GPIO_IS_DEEP_SLEEP_WAKEUP_VALID_GPIO macro
Closes https://github.com/espressif/esp-idf/issues/8733
2022-04-11 15:34:07 +08:00
songruo
60bb5c913d clk_tree: prework of introducing clk subsystem control
1. Clean up clk usage in IDF, replace rtc_clk_xtal/apb_freq_get with
   upper level API esp_clk_xtal/apb_freq
2. Fix small errors and wrong comments related to clock
3. Add clk_tree_defs.h to provide an unified clock id for each chip
   Modify the NGed drivers to adopt new clock ids
2022-04-11 12:09:06 +08:00
morris
0a36cad9e0 driver: register test app component by WHOLE_ARCHIVE 2022-04-08 15:15:05 +08:00
morris
a7d380c80a driver: a better way to avoid new/old driver coexistence 2022-04-08 15:15:05 +08:00
morris
5732e2a4be driver: fix dead code in error handling path
... for gptimer and pulse_cnt driver, reported by Coverity Scan
2022-04-08 15:13:34 +08:00
Armando
c4bcf1117c esp_hw_support: move soc_memory_types.h helper functions into esp_hw_support 2022-04-08 11:46:10 +08:00
morris
483149e41b global: fix some potential out-of-bounds issue
...that found by Coverity Scan
2022-04-08 11:05:43 +08:00
morris
37d8abda0b gdma: add spin lock for gdma channel
... because we allow several control functions to be runable under ISR
context
2022-04-08 10:05:01 +08:00
Song Ruo Jing
e13bb580c7 Merge branch 'refactor/gpio_unit_test' into 'master'
gpio: Clean up unit tests and enable ci ut on some previously disabled test cases

Closes IDF-4620

See merge request espressif/esp-idf!17417
2022-04-01 18:38:19 +08:00
Armando (Dou Yiwen)
ee034d5b6a Merge branch 'feature/support_spi_on_h2' into 'master'
spi: support spi on h2

Closes IDF-3796 and IDF-4226

See merge request espressif/esp-idf!17191
2022-03-30 19:59:31 +08:00
songruojing
8d84033b8c gpio: Clean up unit tests and enable ci ut on some previously disabled test cases
Eliminate UT_T1_GPIO runner requirement by routing internally through gpio matrix and by setting gpio pins to GPIO_MODE_INPUT_OUTPUT mode for all interrupt related test cases.
2022-03-30 15:11:08 +08:00
songruojing
11e555d677 unit test: move gpio, dedicated_gpio, sigmadelta unit test from unit-test-app to components/driver/test_apps/gpio 2022-03-30 15:11:08 +08:00
songruojing
bdb5b11b39 unit test: move unit-test_app test_utils_task_delete API to be a utils API (unity_utils_task_delete) in unity component 2022-03-30 15:11:08 +08:00
Armando
fe9c6cde4f spi: support spi on h2 2022-03-29 11:54:08 +08:00
morris
bf677182a6 sigmadelta: change gpio number from u8 to int
Fix the issue that macro compares unsigned to 0
2022-03-29 11:53:31 +08:00
morris
29e9b5b46a hw_support: move periph_ctrl from driver to hw_support 2022-03-29 11:53:31 +08:00
Michael (XIAO Xufeng)
fdcf5ca540 Merge branch 'test/disable_touch_sleep_testcase' into 'master'
touch: add protection for touch sleep case

See merge request espressif/esp-idf!17578
2022-03-27 02:44:14 +08:00
Michael (XIAO Xufeng)
80904a5815 Merge branch 'bugfix/spi_free_crash_uninitialized' into 'master'
spi: fixed crash when calling spi_bus_free when not initialized

Closes IDFGH-7024

See merge request espressif/esp-idf!17573
2022-03-27 02:31:06 +08:00
Michael (XIAO Xufeng)
bee9b6b9eb spi: fixed crash when calling spi_bus_free when not initialized
introduced in 49a48644e4

Closes: https://github.com/espressif/esp-idf/issues/8642
2022-03-25 01:52:10 +08:00
morris
de662b987e driver: fix issue found by coverity scan 2022-03-24 21:36:03 +08:00
songruo
38090a0248 gpio: fix GPIO_IS_VALID_(OUTPUT_)GPIO macro
... which has the potential of doing bit shift by a negative amount
2022-03-24 21:36:03 +08:00
morris
31f9915603 driver: move deprecated drivers into single folder 2022-03-24 21:34:41 +08:00
Michael (XIAO Xufeng)
974ac3b4b8 touch: add protection for touch sleep case 2022-03-24 18:27:05 +08:00
morris
08a4cff6d5 Merge branch 'bugfix/disable_touch_sleep_s3' into 'master'
touch_sensor: forbid from using touch sensor with sleep on ESP32-S3

Closes IDF-4810

See merge request espressif/esp-idf!17562
2022-03-24 10:22:31 +08:00
Michael (XIAO Xufeng)
a84faa3cef touch_sensor: forbid from using touch sensor with sleep on ESP32-S3
This is not supported yet.
2022-03-24 03:00:47 +08:00
Kevin (Lao Kaiyao)
ba9d3fe819 Merge branch 'refactor/i2s_major_refactoring_for_ng' into 'master'
🔨i2s: Major refactoring for driver-NG

Closes IDF-4781 and IDF-4779

See merge request espressif/esp-idf!17484
2022-03-23 15:32:46 +08:00
Anton Maklakov
118d39c8fe Merge branch 'bugfix/remove-IRAM_ATTR-from-decls' into 'master'
Remove IRAM_ATTR from any function declarations

Closes GCC-223

See merge request espressif/esp-idf!17440
2022-03-23 11:49:22 +08:00
Ivan Grokhotkov
8506b2f6c9 Merge branch 'bugfix/driver_hal_essl_static_analysis_fixes' into 'master'
driver, essl, hal: fix issues reported by PVS-Studio

Closes IDF-2749, IDF-2753, and IDF-2785

See merge request espressif/esp-idf!17490
2022-03-22 21:47:15 +08:00
Anton Maklakov
68e5d9d585 Remove IRAM_ATTR from any function declarations
IRAM_ATTR expands to a unique section attribute. Applying it to both
declaration and definition results in a section conflict.
2022-03-22 09:58:50 +00:00
laokaiyao
f17edba20b i2s: extract std/pdm/tdm modes
Type structures of these modes are defined. Driver and HAL layer are modified to fit these concepts.
2022-03-22 10:14:45 +08:00
Armando (Dou Yiwen)
36457b1346 Merge branch 'refactor/adc_unify_adc_unit' into 'master'
adc: adc single driver NG pre-step - unify adc_ll_num_t and adc_unit_t

See merge request espressif/esp-idf!17408
2022-03-18 20:29:36 +08:00
Armando
386363cafd adc: unify adc_ll_num_t and adc_unit_t 2022-03-18 11:36:50 +08:00
Marius Vikhammer
453516fbbe Merge branch 'bugfix/replace_deprecated_options' into 'master'
kconfig: replace deprecated options with new values

See merge request espressif/esp-idf!17494
2022-03-16 09:32:55 +08:00
morris
cd10ac50cb Merge branch 'bugfix/temp_sensor_coexist_issue' into 'master'
temp_sensor: avoid coexistence of new and legacy driver

See merge request espressif/esp-idf!17395
2022-03-15 21:43:05 +08:00
Marius Vikhammer
ca3c056ac9 kconfig: replace deprecated options with new values 2022-03-15 16:28:53 +08:00
Ivan Grokhotkov
cda3c2b92b
driver: spi_slave: make sure CS helpers are in IRAM if the ISR is
Closes https://github.com/espressif/esp-idf/issues/3870
2022-03-14 23:30:51 +01:00
Ivan Grokhotkov
0fe3281713
driver: fix issues reported by PVS-Studio
https://www.viva64.com/en/b/0790/#ID88049D3FA2
https://www.viva64.com/en/b/0790/#IDE0890EE01C
Reported in https://github.com/espressif/esp-idf/issues/6440
2022-03-14 18:46:47 +01:00
morris
7112009473 lcd: support rgb lcd interupt iram safe 2022-03-14 14:00:40 +08:00
morris
f35edeb5a3 lcd: add debug log on/off Kconfig 2022-03-14 13:49:18 +08:00
morris
5963de1caf Merge branch 'ci/fix_duplicated_test_names' into 'master'
CI: rename some tests to avoid duplicated test names

See merge request espressif/esp-idf!17463
2022-03-14 11:52:02 +08:00
Michael (XIAO Xufeng)
aab535fe4a Merge branch 'bugfix/regi2c_ctrl_spinlock_s2' into 'master'
hw_support: fixed regi2c not protected by lock on ESP32S2

See merge request espressif/esp-idf!16653
2022-03-13 02:47:53 +08:00
Michael (XIAO Xufeng)
d5bdf95580 hw_support: fixed regi2c not protected by lock on ESP32S2 2022-03-13 00:24:08 +08:00
Chen Yudong
6c56f54ed8 temperature_sensor: fix typo 2022-03-11 20:56:48 +08:00
Chen Yudong
4dc74c9c42 CI: rename some tests to avoid duplicated test names 2022-03-11 18:38:41 +08:00
Mahavir Jain
a8ba5a0264 Merge branch 'ci/all_alloc_psram_config' into 'master'
[ci] Add unit test configs with aggressive PSRAM allocations

See merge request espressif/esp-idf!14996
2022-03-11 00:30:56 +08:00
morris
f38c13adea Merge branch 'contrib/github_pr_8497' into 'master'
ledc: Do not drive output during init if the output is inverted (GitHub PR)

Closes IDFGH-6875

See merge request espressif/esp-idf!17433
2022-03-10 16:55:59 +08:00
Laukik Hase
3b3b668256 ci: Disable failing UTs
- For ESP32 | SPIRAM_MALLOC_ALWAYSINTERNAL=0
2022-03-10 05:01:17 +00:00
morris
da28f7e2d9 Merge branch 'feature/rmt_hal_dma' into 'master'
rmt: document and improve LL driver

See merge request espressif/esp-idf!17297
2022-03-09 17:55:08 +08:00
Marius Vikhammer
934a3951b8 Merge branch 'feature/s2_s3_support_ext_mem_stack' into 'master'
soc: support placing task stacks in external memory for S2 and S3

Closes IDF-2797 and IDF-1805

See merge request espressif/esp-idf!16186
2022-03-09 11:57:31 +08:00
morris
4dfbc9ee7b rmt: remove deprecated functions 2022-03-09 10:58:14 +08:00
morris
21e29f285f temp_sensor: avoid coexistence of new and legacy driver 2022-03-08 11:57:53 +08:00
Zim Kalinowski
0440aca4e3 Merge branch 'feature/reevaluate_headers_include_dirs' into 'master'
esp_hw_support/esp_system: Re-evaluate header inclusions and include directories

See merge request espressif/esp-idf!16763
2022-03-08 01:32:24 +08:00
morris
4aa81975d1 Merge branch 'bugfix/i2c_fix_typo_of_slave_macro' into 'master'
i2c: fix typo in SOC_I2C_SUPPORT_SALVE

Closes IDFGH-6893

See merge request espressif/esp-idf!17373
2022-03-07 23:38:13 +08:00
Vamshi Gajjela
a9454c9776 Merge branch 'feature/sdmmc_erase_cmd_support' into 'master'
[sdmmc] Add erase command support

Closes IDFGH-5947 and IDFGH-5935

See merge request espressif/esp-idf!17054
2022-03-07 21:52:23 +08:00
Simon
4bf4a020a6 Merge branch 'refactor/abstract_temperature_sensor' into 'master'
temperature_sensor: Refactor temperature sensor to new APIs (follow rule of driverNG) and support esp32s3

Closes IDF-3665, IDF-3367, and IDF-1793

See merge request espressif/esp-idf!16787
2022-03-07 20:17:39 +08:00
Sudeep Mohanty
a9fda54d39 esp_hw_support/esp_system: Re-evaluate header inclusions and include directories
This commit updates the visibility of various header files and cleans up
some unnecessary inclusions. Also, this commit removes certain header
include paths which were maintained for backward compatibility.
2022-03-07 11:18:08 +05:30
Kevin Guilloy
1fce1616c4 i2c: fix typo in SOC_I2C_SUPPORT_SALVE
Merges: https://github.com/espressif/esp-idf/pull/8513
2022-03-07 10:40:57 +08:00
Armando (Dou Yiwen)
748037708f Merge branch 'bugfix/fix_adc_digital_not_reset_issue' into 'master'
adc: fix adc digital part not reset issue

Closes IDF-4680

See merge request espressif/esp-idf!17279
2022-03-06 13:49:18 +08:00
Vamshi Gajjela
ffdbeee9f6 sdmmc: Add erase command-38. Support erase/trim/discard/sanitize
options.

Erase command (38) for SD cards allows option for erase/dicard/fule
operation at block level and for MMC cards supports option for
discard/trim at block level. When Sanitize is executed only the
portion of data that was unmapped by a Discard command shall be
removed by the Sanitize command.

Unit test cases added to verify ERASE feature in SD/SDSPI mode.
TRIM/DISCARD/SANITIZE tests for eMMC devices.

Closes https://github.com/espressif/esp-idf/pull/7635
Closes https://github.com/espressif/esp-idf/issues/7623
2022-03-05 16:02:01 +05:30
Armando (Dou Yiwen)
48daa38a63 Merge branch 'bugfix/fix_adc_calibration_light_sleep_issue' into 'master'
adc: fix calibration error when waking up from light sleep

Closes IDF-4406, IDF-4605, IDFGH-6252, and IDFGH-6651

See merge request espressif/esp-idf!16259
2022-03-04 23:05:09 +08:00
Ivan Grokhotkov
c8b43ee0c1 Merge branch 'bugfix/sdspi_example_esp32s3' into 'master'
examples: sdspi: re-enable for ESP32-S3, add Kconfig options for pins

Closes IDF-4641

See merge request espressif/esp-idf!17067
2022-03-04 18:42:53 +08:00
morris
a0283234cd Merge branch 'feature/support_esp32h2_gpio' into 'master'
esp32h2: support GPIO peripheral, IO_MUX, GPIO matrix

Closes IDF-4232 and IDF-3439

See merge request espressif/esp-idf!16609
2022-03-04 18:22:28 +08:00
Cao Sen Miao
b248046bcb Temperature_sensor: Create new temperature sensor API 2022-03-04 18:13:35 +08:00
Cao Sen Miao
214e206111 Temperature_sensor: Add temperature support for ESP32-S3 2022-03-04 18:13:27 +08:00
Cao Sen Miao
441900caa2 Temperature_sensor: keep legacy drivers 2022-03-04 17:59:07 +08:00
Nonoo
062f6164ae ledc: Do not drive output during init if the output is inverted 2022-03-04 08:39:57 +01:00
Marius Vikhammer
374712921a CI: add configs for running S2, S3 unit tests with PSRAM
Fixed various minor failures detected with these configs.
2022-03-04 15:29:17 +08:00
Armando
d7512d8b38 adc: add adc single read & light sleep test 2022-03-04 12:10:20 +08:00
Armando
4ca115be98 adc: fix adc digital not reset issue 2022-03-04 03:49:33 +00:00
songruojing
c8c137f2b7 esp32h2: support GPIO peripheral, IO_MUX, GPIO matrix.
Generic GPIO example is supported as well.
2022-03-04 11:25:05 +08:00
Ivan Grokhotkov
6b8e4212be
driver: sdspi: set default DMA channel compatible with S3, C3 or later 2022-03-03 21:40:04 +01:00
morris
0d920a47f7 unit_test: migrate to use pulse_cnt driver 2022-03-03 22:38:32 +08:00
morris
04b3f8b210 pcnt: deprecated as legacy driver 2022-03-03 22:38:32 +08:00
morris
ec8defaa96 pulse_cnt: new driver for PCNT peripheral 2022-03-03 22:38:32 +08:00
Song Ruo Jing
ed3469ea65 Merge branch 'bugfix/i2c_iram_placement_fix' into 'master'
i2c: Correct hal functions iram placement

Closes IDFGH-6795

See merge request espressif/esp-idf!17282
2022-03-03 16:19:31 +08:00
Kevin (Lao Kaiyao)
433d6ee1fd Merge branch 'bugfix/i2s_dac_incorrect_clock' into 'master'
i2s: fix adc/dac clock calculation

Closes IDFGH-6715

See merge request espressif/esp-idf!17233
2022-03-03 12:23:13 +08:00
Song Ruo Jing
b665dcbe68 Merge branch 'feature/esp32c2h2_support_uart' into 'master'
UART: Provide support for esp32c2 and esp32h2

Closes IDF-3823, IDF-4154, and IDF-4221

See merge request espressif/esp-idf!16832
2022-03-03 11:45:10 +08:00
morris
869e503875 Merge branch 'bugfix/i2s_mono_issue_on_c3_s3' into 'master'
🔧 i2s: fix bug of switching mono/stereo mode by 'i2s_set_clk' on c3/s3

See merge request espressif/esp-idf!16843
2022-03-03 10:46:13 +08:00
Omar Chebib
2571aaf3c9 G0: target component (components/esp32*) doesn't depend on driver anymore 2022-03-02 04:21:00 +00:00
laokaiyao
db3a1c707e i2s: add mclk_div underflow check
Closes https://github.com/espressif/esp-idf/issues/8344
2022-03-02 04:17:36 +00:00
Stephan Hadinger
2f0e7e9b6c Fix for mclk/bclk divisors #8326
Merges https://github.com/espressif/esp-idf/pull/8327
2022-03-02 04:17:36 +00:00
laokaiyao
b336a838b6 i2s: fix bug of switching mono/stereo mode by 'i2s_set_clk' on c3/s3 2022-03-02 03:34:25 +00:00
songruojing
24a60c12c6 uart: Provide support for esp32c2 and esp32h2
UART examples, unit test, and programming guide are all updated.
2022-03-02 11:29:13 +08:00
songruojing
1ceb7c8cd6 i2c: Correct hal functions iram placement and remove IRAM_ATTR for i2c_hw_fsm_reset
Closes https://github.com/espressif/esp-idf/issues/8422
2022-02-28 15:44:35 +08:00
Kevin (Lao Kaiyao)
cc1d89ebba Merge branch 'feature/i2c_support_on_esp8684_esp32h2' into 'master'
i2c: support i2c on esp32c2 and esp32h2

Closes IDF-3918

See merge request espressif/esp-idf!16444
2022-02-28 13:59:02 +08:00
Darian Leung
2f2df82bc5 twai: Enable ESP32 errata workarounds by default 2022-02-23 20:22:02 +08:00
laokaiyao
cf353c505a i2c: support esp32h2 2022-02-23 15:19:37 +08:00
laokaiyao
7da023ceae i2c: support esp32c2 2022-02-23 15:19:37 +08:00
Kevin (Lao Kaiyao)
1d30c23455 Merge branch 'feature/i2c_use_input_only_pin_in_slave_mode' into 'master'
i2c: support  using input-only pin as SCL in slave mode

Closes IDFGH-6682

See merge request espressif/esp-idf!17137
2022-02-23 02:54:49 +00:00
Marius Vikhammer
06d8a5bf33 Merge branch 'bugfix/inline_intrmask_from_isr' into 'master'
freertos: always inline xPortSetInterruptMaskFromISR and vPortClearInterruptMaskFromISR

Closes IDFGH-6669

See merge request espressif/esp-idf!16970
2022-02-23 01:05:40 +00:00
John
bcf7608cf8 i2c: Enable I2C Slave mode with input-only pin as SCL.
Merges https://github.com/espressif/esp-idf/pull/8312

If we use I2C in slave mode, we can use input-only pin for SCL line (GPI 34-39).
But there is a problem in i2c_set_pin() which is called by i2c_param_config().
In case of using GPI as SCL the following statements are failed:
	1. gpio_set_level(scl_io_num, I2C_IO_INIT_LEVEL);
Function fails because it cannot set level for input pin. As a result a ESP_LOGE() is called.
	2. gpio_set_direction(scl_io_num, GPIO_MODE_INPUT_OUTPUT_OD);
Function fails because it accepts only GPIO pins. ESP_LOGE() is called, input mode is not enabled for the pin and as a result - no interrupts from the pin.
2022-02-21 17:32:04 +08:00
Ivan Grokhotkov
6782971332 sdmmc: accept CMD_DONE being is reported together with RTO
SDMMC databook specifies that when an error interrupt is generated
(such as RTO, DCRC, RCRC), CMD_DONE interrupt is also generated.
The code used to break out of the event handling loop to wait for
another interrupt event to happen, reporting CMD_DONE.
However if interrupt processing was delayed, it is possible that
a single event contains both RTO and CMD_DONE. Previously, CMD_DONE
would not be handled, and the state machine would be stuck in
SDMMC_SENDING_CMD state, until a timeout. This didn't change the
outcome (err=0x107), but delayed the handling of response timeout
event.

Fix by not breaking out of the event handler, optionally processing
the CMD_DONE interrupt if it has been reported in the same message.
2022-02-20 12:39:36 +00:00
Marius Vikhammer
6d50a8dd7a docs: remove peripherals that are not supported from C2 docs 2022-02-16 10:22:46 +08:00
Ivan Grokhotkov
c372248624 Merge branch 'contrib/github_pr_7710' into 'master'
sdspi_host: fix clock being sent out before the bus is acquired (GitHub PR)

Closes IDFGH-6024

See merge request espressif/esp-idf!16851
2022-02-11 08:27:06 +00:00
Darian Leung
7d78cec149 ledc: Remove usage of legacy FreeRTOS type 2022-02-10 15:19:36 +08:00
Omar Chebib
0cfa7ca20f Merge branch 'bugfix/fix_i2c_crash' into 'master'
I2C: Fix I2C Master operation with repeated start condition

Closes IDFGH-6719 and IDFGH-6724

See merge request espressif/esp-idf!17035
2022-02-10 07:05:59 +00:00
Darian
61639fe1ec Merge branch 'refactor/freertos_remove_legacy_types' into 'master'
FreeRTOS: Remove usage of legacy data types

Closes IDF-4566

See merge request espressif/esp-idf!16680
2022-02-10 04:57:00 +00:00
Song Ruo Jing
40d1102ca5 Merge branch 'bugfix/cpu_reset_perip_clk_disable' into 'master'
esp_system: change range comparsion for reset reason to specifc cpu reset reason comparison

See merge request espressif/esp-idf!15492
2022-02-10 03:44:15 +00:00
Darian Leung
57fd78f5ba freertos: Remove legacy data types
This commit removes the usage of all legacy FreeRTOS data types that
are exposed via configENABLE_BACKWARD_COMPATIBILITY. Legacy types can
still be used by enabling CONFIG_FREERTOS_ENABLE_BACKWARD_COMPATIBILITY.
2022-02-09 23:05:45 +08:00
morris
5810ed1d04 Merge branch 'refactor/remove_ets_sys_from_public_header' into 'master'
esp_rom: remove ets_sys.h dependency from public header files

See merge request espressif/esp-idf!16919
2022-02-09 12:27:06 +00:00
Martin Vychodil
c143090109 Merge branch 'bugfix/driver_sdmmc_host_disable' into 'master'
driver: disable sdmmc in cmake based on soc_caps

Closes IDF-613

See merge request espressif/esp-idf!17069
2022-02-09 11:33:24 +00:00
songruojing
c1dedb33fa esp_system: replace the range comparsion for reset reason in perip clk init with specific reset reason check, also add a test case in LEDC to check for the perip clk not being disabled after cpu reset 2022-02-09 15:54:34 +08:00
morris
5893797bf0 Merge branch 'bugfix/rmt_s2_doesnt_support_rx_wrap' into 'master'
rmt: rx wrap doesn't support on esp32s2

Closes IDFGH-6725

See merge request espressif/esp-idf!17052
2022-02-09 06:54:41 +00:00
morris
ef00bd59dc esp_rom: extract int matrix route and cpu ticks getter 2022-02-09 13:52:20 +08:00
Marius Vikhammer
d57dce5b0e gpio: update gpio sleep workaround config name 2022-02-09 09:27:27 +08:00
Ivan Grokhotkov
01dd2dd45d
driver: disable sdmmc in cmake based on soc_caps 2022-02-08 21:22:36 +01:00
Jiang Jiang Jian
ff6b863736 Merge branch 'bugfix/fix_common_clock_bug' into 'master'
esp_wifi: fix common clock bug

See merge request espressif/esp-idf!16964
2022-02-08 07:23:16 +00:00
morris
9887c7e780 rmt: do not support rx wrap on esp32s2
Closes https://github.com/espressif/esp-idf/issues/8354
2022-02-08 13:57:31 +08:00
Marius Vikhammer
ca6f76d831 spi flash: fix cache accessed while disabled issues at -O0
mask_get_id and gpio_hal_iomux_func_sel were called while cache
is disabled, but were not inlined as expected at -0O.
Force these functions to always be inlined.
2022-02-07 11:33:33 +08:00
Dmitry Koptsov
57716e3d86 I2C: Fix I2C Master operation with repeated start condition
* Closes https://github.com/espressif/esp-idf/pull/8353
2022-02-07 10:58:13 +08:00
Michael (XIAO Xufeng)
c1b30491dd Merge branch 'feature/esp32c3_uart_add_wakeup_event' into 'master'
UART: add uart wakeup event for esp32c3 and esp32s3

Closes IDF-3416

See merge request espressif/esp-idf!14482
2022-02-04 17:23:29 +00:00
morris
0f11a17678 Merge branch 'docs/add_cb_to_ledc_rst' into 'master'
ledc: Mention source clock and fade end callback in LEDC API reference

Closes IDFGH-5637 and IDF-3293

See merge request espressif/esp-idf!14683
2022-01-28 03:12:10 +00:00
Ivan Grokhotkov
05b644ec50 Merge branch 'bugfix/twai_isr_iram' into 'master'
hal: fix CONFIG_TWAI_ISR_IN_IRAM for C3, hide TWAI menu for C2

See merge request espressif/esp-idf!16881
2022-01-27 22:14:05 +00:00
liuning
2a8c8686ac esp_wifi: fix common clock bug 2022-01-27 19:21:48 +08:00
songruojing
31f9a69454 ledc: Update LEDC programming guide
Add source clock in timer config
Add fade end callback and ledc_fade_stop usage
Explain ledc_fade_mode_t difference and limitation
2022-01-27 19:13:53 +08:00
Song Ruo Jing
3821a09f83 Merge branch 'bugfix/ledc_consecutive_fade' into 'master'
ledc: Bugfixes for issues related to fade protection on ESP32

Closes IDFGH-4918 and IDFGH-5565

See merge request espressif/esp-idf!14568
2022-01-26 06:00:59 +00:00
laokaiyao
c4cfb654d2 uart: support light sleep on esp32s3 2022-01-25 17:43:02 +08:00
Chen Yi Qun
56e9920958 uart: add wakeup event for esp32c3 2022-01-25 17:43:02 +08:00
Omar Chebib
473974c8f6 UART & I2C: remove custom ISR registration function
Breaking change for v5.0: custom UART ISR and I2C ISR cannot be installed anymore.
2022-01-25 14:46:43 +08:00
songruojing
68e12f7092 ledc: Add ledc_fade_stop API to support stopping the fade operation.
Note that ESP32 cannot support this new feature.
2022-01-25 11:19:20 +08:00
songruojing
be2ab09832 ledc: Fix FADE_NO_WAIT mode concurrency problem.
Add test cases for fade concurrency issue and fade timing check.

Closes https://github.com/espressif/esp-idf/issues/6710
2022-01-25 11:19:10 +08:00
songruojing
e175086226 ledc: Simplify the procedure to perform a one-time duty update
Avoid adding one extra fade cycle when performing a one-time duty update.
Add some notes to ledc_get_duty and ledc_update_duty APIs, so that users
are aware of when the new duty will be effective.

Closes https://github.com/espressif/esp-idf/issues/7288
2022-01-24 19:36:13 +08:00
Fu Hanxi
a801555299 ci: replace all component ut with pytest-embedded 2022-01-24 16:37:23 +08:00
Ivan Grokhotkov
355b501126 driver: show TWAI config menu only if TWAI is supported 2022-01-20 22:23:45 +01:00
Kevin (Lao Kaiyao)
bf8d4d55d0 Merge branch 'refactor/rename_esp8684_to_esp32c2' into 'master'
esp8684: rename esp8684 to esp32c2

Closes IDF-4530

See merge request espressif/esp-idf!16745
2022-01-19 09:08:58 +00:00
laokaiyao
a8ab869a84 i2s: fix mclk stop issue when setting clock 2022-01-19 11:52:09 +08:00
laokaiyao
cf049e15ed esp8684: rename target to esp32c2 2022-01-19 11:08:57 +08:00
lovyan03
8bb95150bf sdspi_host: bugfix The clock may be sent out before the bus that was used immediately before is released.
Merges https://github.com/espressif/esp-idf/pull/7710
2022-01-18 21:07:10 +00:00
morris
a298e44b33 gptimer: added a section to describe the thread safety 2022-01-18 10:06:26 +08:00
morris
608a1dc237 driver: place iram functions by linker generator 2022-01-18 10:06:26 +08:00
morris
e51474ef70 build: fix unused tag string
Closes https://github.com/espressif/esp-idf/issues/8250
2022-01-18 10:06:08 +08:00
Michael (XIAO Xufeng)
7fb3e06c69 Merge branch 'bugfix/adc_include_sdkconfig' into 'master'
adc: add explicit sdkconfig.h include

See merge request espressif/esp-idf!16746
2022-01-12 15:35:13 +00:00
Michael (XIAO Xufeng)
a2fc3629bd adc: add explicit sdkconfig.h include 2022-01-12 15:35:12 +00:00
Armando
6a74cb695d spi: support spi on 8684 2022-01-12 11:30:29 +08:00
laokaiyao
6e39b4b3bd i2s: revert reading/writing return error code
Closes https://github.com/espressif/esp-idf/issues/8121

Revert reading/writing return ESP_ERR_TIMEOUT introduced in commit b26da6f
2022-01-10 15:51:01 +08:00
morris
7000f5d85a legacy_timer: move unit test to test app 2022-01-07 14:44:50 +08:00
morris
5deb83b12d gptimer: new driver for previous timer group 2022-01-07 14:44:50 +08:00
morris
869bed1bb5 soc: don't expose unstable soc header files in public api 2022-01-06 23:10:22 +08:00
morris
8cdcb4e291 rmt: move RMT item definition from soc to driver 2022-01-06 21:43:12 +08:00
morris
d8f2eaf94e gpio: remove legacy rtc_io description for esp32 2022-01-06 21:43:12 +08:00
Michael (XIAO Xufeng)
476da74796 Merge branch 'bugfix/ledc_fade_array_check' into 'master'
ledc: fixed check to s_ledc_fade_rec array

See merge request espressif/esp-idf!16086
2022-01-06 03:28:10 +00:00
Michael (XIAO Xufeng)
466f3a91cb ledc: fixed check to s_ledc_fade_rec array 2022-01-06 03:28:05 +00:00
morris
090b4aa1f3 adc: make adc2_wifi share resource private 2022-01-04 13:59:24 +08:00
Omar Chebib
8d1fa78378 i2c: fix buffer check when SPIRAM used as a heap
* Closes https://github.com/espressif/esp-idf/issues/8173
2021-12-31 14:36:16 +08:00
songruojing
e0bc3a923c esp8684: support GPIO peripheral, IO_MUX, GPIO matrix.
Generic GPIO example and GPIO unit test on esp8684 are both supported as well.
2021-12-29 22:01:45 +08:00
Kevin (Lao Kaiyao)
952b4d848f Merge branch 'bugfix/apll_coeff_calculate' into 'master'
i2s: impove the clock division calculation

Closes IDFGH-6283

See merge request espressif/esp-idf!16095
2021-12-29 09:35:13 +00:00
morris
1f06c1bd1b Merge branch 'feature/fast_gpio_esp32c2' into 'master'
fast gpio support on esp32c2/esp8684

See merge request espressif/esp-idf!16531
2021-12-29 07:01:41 +00:00
laokaiyao
4f28b33bbc apll: add lock for apll 2021-12-29 10:13:13 +08:00
laokaiyao
af4e448928 i2s: impove the clock division calculation
Reported from: https://esp32.com/viewtopic.php?f=25&t=24542&p=87595#p87595
2021-12-29 10:13:13 +08:00
morris
5624dffc52 Merge branch 'contrib/github_pr_8139' into 'master'
ledc.h - fix extern "C" to include ledc_cb_register() (GitHub PR)

Closes IDFGH-6484

See merge request espressif/esp-idf!16557
2021-12-28 03:50:22 +00:00
morris
f028107359 fast_gpio: support esp32c2/esp8684 2021-12-28 10:18:18 +08:00
Omar Chebib
b54f7aa7b4 Merge branch 'bugfix/uart_no_int_after_flush' into 'master'
UART: RX interrupts are now properly restored after a flush

Closes IDF-4374

See merge request espressif/esp-idf!16328
2021-12-27 08:56:00 +00:00
Omar Chebib
708e3b6ec0 UART: RX interrupts are now properly restored after a flush
Added a unit test to make sure the expected behavior happens
2021-12-27 12:31:25 +08:00
Michael (XIAO Xufeng)
322a0beb87 Merge branch 'bugfix/sdio_slave_dma_desc_int' into 'master'
sdio_slave: Fixed the issue that DMA descriptors allocated to non-DMA capable area

See merge request espressif/esp-idf!16159
2021-12-27 03:10:52 +00:00
Kevin (Lao Kaiyao)
4586bd7ec8 Merge branch 'bugfix/i2s_receive_data_lost' into 'master'
i2s: fix message queue overflow condition

Closes IDFGH-5854

See merge request espressif/esp-idf!15551
2021-12-24 03:12:12 +00:00
Emil Muratov
d4de08182e ledc.h - fix extern "C" to include ledc_cb_register() 2021-12-24 02:05:43 +03:00
Song Ruo Jing
7f5e93a582 Merge branch 'bugfix/remove_ref_tick_on_s3' into 'master'
ledc: Remove REF_TICK as a supported clock source for LEDC driver on S3

See merge request espressif/esp-idf!16408
2021-12-23 12:21:01 +00:00
laokaiyao
45ea21e8a0 doc: add application notes for i2s 2021-12-23 18:59:56 +08:00
laokaiyao
c74b2e8635 i2s: fix the wrong condition of event queue 2021-12-23 18:59:56 +08:00
morris
8f2199cd88 timer: unit test and doc update for esp8684 2021-12-23 11:54:41 +08:00
morris
4ed33afc3f timer: stop alarm if alarm value doesn't change in ISR handler
Alarm will be disabled by hardware when alarm event happend.
In the ISR, if auto-reload is enabled, we should re-enable the alarm.
If the alarm target value is changed in user's callback,
the alarm will be reenabled as well.

Closes https://github.com/espressif/esp-idf/issues/7001
Closes https://github.com/espressif/esp-idf/issues/8095
2021-12-23 11:39:32 +08:00
morris
2c810f8451 timer: save alarm value in driver layer 2021-12-23 11:39:32 +08:00
Michael (XIAO Xufeng)
ad90373a69 sdio_slave: fixed the issue DMA desc not capable 2021-12-22 01:34:38 +08:00