Commit Graph

1609 Commits

Author SHA1 Message Date
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
songruojing
8e3bc160bc ledc: Remove REF_TICK as a supported clock source for LEDC driver on esp32s3 2021-12-21 11:43:18 +08:00
morris
c14638878b Merge branch 'bugfix/dedic_gpio_initial_occupy_mask' into 'master'
fast_gpio: fix wrong initial occupy mask

See merge request espressif/esp-idf!16219
2021-12-18 05:39:53 +00:00
morris
e8c5f8656b fast_gpio: fix wrong initial occupy mask 2021-12-17 15:49:44 +08:00