Commit Graph

1630 Commits

Author SHA1 Message Date
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
Jakob Hasse
7572f75d6b refactor (cxx)!: I2C C++ classes use strong value types now
Added host-based I2C C++ unit tests

BREAKING CHANGE: I2C C++ interface changes, raw values for
    arguments are mostly not allowed anymore.
2021-12-17 14:05:52 +08:00
Armando
4dc0d6b2fe adc: support adc dma driver on all chips 2021-12-16 00:19:15 +00:00
Simon
1c82e6eac7 Merge branch 'ci/8684_build_ci' into 'master'
CI: Enable ESP8684 build (2nd stage) CI on master (except example build)

Closes IDF-4388

See merge request espressif/esp-idf!16197
2021-12-14 11:12:10 +00:00
morris
11b2973b0a Merge branch 'bugfix/gdma_potential_uaf_bug' into 'master'
gdma: fix potential use after free issue

See merge request espressif/esp-idf!16196
2021-12-14 06:16:11 +00:00
morris
14c926350a gdma: fix potential use after free issue 2021-12-14 10:08:26 +08:00
Cao Sen Miao
e81841318f CI: Enable ESP8684 build stage CI on master 2021-12-13 19:18:47 +08:00
intern
467525f846 docs: fix typo in header files 2021-12-13 13:17:17 +08:00
Ivan Grokhotkov
c358aceb1b Merge branch 'feature/soc_caps_build_sys' into 'master'
build-system: parse soc caps and integrate into kconfig

Closes IDF-2223

See merge request espressif/esp-idf!15305
2021-12-09 06:54:08 +00:00
Marius Vikhammer
23c4534d23 Merge branch 'bugfix/spi_slave_test_non_dma' into 'master'
spi-slave: fix single-board: hd test failing due to DMA buffers ending up in PSRAM

See merge request espressif/esp-idf!16293
2021-12-08 02:42:31 +00:00
Kevin (Lao Kaiyao)
9bc274b47b Merge branch 'refactor/i2s_deprecate_confusing_names' into 'master'
i2s: deprecate confusing names

Closes IDF-4368

See merge request espressif/esp-idf!16088
2021-12-07 11:52:44 +00:00
Marius Vikhammer
ee684b58fb spi-slave: fix single-board: hd test failing due to DMA buffers ending up in PSRAM 2021-12-07 16:39:33 +08:00
Song Ruo Jing
210b131529 Merge branch 'bugfix/gpio_intr_on_core1_s3' into 'master'
gpio: Fix the bug that gpio interrupt cannot be triggered on app cpu on ESP32S3

Closes IDFGH-6211 and IDFGH-3635

See merge request espressif/esp-idf!15945
2021-12-07 06:07:19 +00:00
songruojing
91f1159f9c gpio: Fix the bug that gpio interrupt cannot be triggered on app cpu on ESP32S3
Add a test case for checking the interrupt on other cores.

Closes https://github.com/espressif/esp-idf/issues/7885
2021-12-06 14:17:03 +08:00
songruojing
0e8286c57b gpio: Bugfix - Move esp_intr_free() out of the critical section in gpio_uninstall_isr_service()
Closes https://github.com/espressif/esp-idf/issues/5571

Fix the bug that if the API was called from one core to free the interrupt source on the other core, it would trigger interrupt watchdog.
2021-12-06 14:15:54 +08:00
Marius Vikhammer
c6d60615c6 build-system: include soc_caps defines into kconfig
Adds gen_soc_caps_kconfig.py which parses the soc caps (soc_caps.h) into
a format that can be included in kconfig.
2021-12-06 12:37:07 +08:00
paul
ef1df8d41a I2C: Fix typo in I2C_TIMING_VAL_ERR_STR macro name
* Closes https://github.com/espressif/esp-idf/pull/8012
2021-12-06 11:43:49 +08:00
Ivan Grokhotkov
dbd3aa5bfc driver: adc: use SOC_ADC_PERIPH_NUM for array size
ADC_UNIT_MAX is no longer equal to the number of ADC units.
This makes the static s_adc_cali_param arrays larger than necessary.
2021-12-01 22:00:33 +01:00
Cao Sen Miao
eddc196081 esp_clk: refactor target/clk.h to private/esp_clk.h 2021-11-26 14:56:30 +08:00
laokaiyao
fa4e77eb44 i2s: deprecate confusing names 2021-11-24 13:21:13 +08:00
morris
2e008825a9 Merge branch 'feat/rm_makefiles' into 'master'
Build & config: Remove leftover files from the unsupported make build system

Closes IDF-4273 and IDF-2827

See merge request espressif/esp-idf!15829
2021-11-16 03:44:41 +00:00
Omar Chebib
76fbd73b20 Merge branch 'bugfix/ledc_auto_clk_refactor' into 'master'
ledc: improved support for ESP32-C3 and refactored divisor calculation

Closes IDF-2441

See merge request espressif/esp-idf!13837
2021-11-12 03:21:46 +00:00
Roland Dobai
766aa57084 Build & config: Remove leftover files from the unsupported "make" build system 2021-11-11 15:32:36 +01:00
Omar Chebib
1e8a0909f6 LEDC: divisor calculation will now be rounded up when necessary
Closes https://github.com/espressif/esp-idf/issues/7722
2021-11-11 12:21:22 +08:00
Omar Chebib
aa2ca7dd94 LEDC: improved support for ESP32-C3 and refactored divisor calculation
As ESP32C3 does not have support for REF_TICK source clock, it is now not
possible to select it anymore.
Auto cfg clock has been improved for all boards.
2021-11-11 12:21:15 +08:00
Omar Chebib
9d5923a13e IPC: Move ipc sources to esp_system
IPC shall be put back into esp_system as it is an 'OS additions'.
2021-11-11 10:30:01 +08:00
morris
83d16aa00c gdma: support IRAM interrupt 2021-11-08 16:14:51 +08:00
morris
490d3fee71 Merge branch 'refactor/make_peripheral_ctrl_as_private_api' into 'master'
global: make periph enable/disable APIs private

Closes IDF-3647

See merge request espressif/esp-idf!15632
2021-11-08 07:31:01 +00:00
Wang Fang
b86619fc61 Merge branch 'docs/add_a_note_to_mck_io_num' into 'master'
docs: add a note to mck_io_num: for esp32, only gpio0/gpio1/gpio3 can be set

Closes DOC-2218

See merge request espressif/esp-idf!15812
2021-11-08 05:14:41 +00:00
morris
16677b0d3c global: make periph enable/disable APIs private
peripheral enable/disable usually should be managed by driver itself,
so make it as espressif private APIs, not recommended for user to use it
in application code.
However, if user want to re-write the driver or ports to other platform,
this is still possible by including the header in this way:
"esp_private/peripheral_ctrl.h"
2021-11-08 10:37:47 +08:00
Cao Sen Miao
a9f0a3531e ESP8684: add driver esp_pm heap support 2021-11-06 17:33:44 +08:00
Wang Fang
21378f007f docs: add a note to mck_io_num: for esp32, only gpio0/gpio1/gpio3 can be set 2021-11-04 19:38:51 +08:00
Jakob Hasse
1eb96cfc79 feat (driver)!: Added mocking for i2c.h
BREAKING CHANGE: removed ringbuf.h from public i2c.h
2021-11-02 14:16:31 +08:00
morris
e2275b1f63 gptimer: clean up hal and ll for driver-ng 2021-10-20 18:40:08 +08:00
Kevin (Lao Kaiyao)
dc20768913 Merge branch 'feature/add_i2s_es8311_example_and_loop_unit_test' into 'master'
example/i2s: add es8311 example and i2s unit-test

Closes IDF-3412

See merge request espressif/esp-idf!14459
2021-10-14 09:28:35 +00:00
Kevin (Lao Kaiyao)
a9faafee3c Merge branch 'feature/touch_sensor_driver_support_for_esp32s3' into 'master'
driver(touch): support touch sensor for esp32s3 platform

Closes IDF-1784 and IDF-3302

See merge request espressif/esp-idf!14102
2021-10-12 05:50:58 +00:00
laokaiyao
3eb09287f9 example/i2s: add es8311 example and i2s loop unit-test 2021-10-11 18:32:34 +08:00
laokaiyao
a1cadba191 touch_sensor: apply general check 2021-10-08 11:32:12 +08:00
fuzhibo
589646a31e update touch with review advice 2021-10-08 10:39:46 +08:00
fuzhibo
3ca9da0386 update touch sensor examples 2021-10-08 10:39:46 +08:00
fuzhibo
057b9d61b5 driver(touch): support touch sensor for esp32s3 platform 2021-10-08 10:39:46 +08:00
laokaiyao
1327a56369 i2s: fix the param check on PDM mode
Closes https://github.com/espressif/esp-idf/issues/7604
2021-10-01 16:05:04 +01:00
SalimTerryLi
bd89dcc683
RMT: add loop_autostop driver support for esp32s3 2021-09-24 15:24:45 +08:00
morris
56e617d747 timer: fix unit test regression 2021-09-17 10:45:06 +08:00
Jiang Jiang Jian
a015123a1d Merge branch 'feature/rename_apbctrl_to_syscon' into 'master'
rename apbctrl to syscon

See merge request espressif/esp-idf!14524
2021-09-16 12:58:07 +00:00
Wu Zheng Hui
1080e4f6a2 rename APB_CTRL ro SYS_CON
save
2021-09-16 20:57:57 +08:00
Alex Lisitsyn
f40ae9cae9 Merge branch 'bugfix/fix_esp_restart_does_not_reset_timer_groups_periph' into 'master'
driver: fix esp_restart() does not reset timer group peripheral

Closes IDFGH-4652

See merge request espressif/esp-idf!12188
2021-09-16 11:45:42 +00:00
Alex Lisitsyn
c5d0d89508 driver: fix timer driver initialization sequence to not trigger interrupt immediately
add timer_hal_reset_periph()
fix timer_init() to reset timer counter during init
2021-09-16 19:45:33 +08:00
Armando
ddd0235783 adc: support adc self-calibration on esp32s3 2021-09-16 15:17:29 +08:00
Armando (Dou Yiwen)
13b63cd9d2 Merge branch 'feature/support_adc_calibration_s3' into 'master'
adc: support adc calibration on s3

Closes IDF-1950, IDF-3730, and IDF-3036

See merge request espressif/esp-idf!15031
2021-09-14 08:51:03 +00:00
Kevin (Lao Kaiyao)
a287f34f88 Merge branch 'bugfix/i2s_apll_fixed_clock' into 'master'
i2s: fix apll bug introduced in 'refactor/i2s_driver'

Closes IDFGH-5824

See merge request espressif/esp-idf!15109
2021-09-14 08:31:12 +00:00
morris
502e132e5d Merge branch 'feature/fast_gpio_c3' into 'master'
fast gpio support on esp32-c3

Closes IDF-3783

See merge request espressif/esp-idf!14986
2021-09-14 06:09:34 +00:00
Armando
9aae92fd16 adc: add a ut for calibration speed 2021-09-14 11:42:50 +08:00
Armando
c45c6f52f1 adc: support adc efuse-based calibration on esp32s3 2021-09-14 11:42:50 +08:00
Andrei Safronov
9159aa58d3 tests: refactoring of the gcc's inner functions, because clang doesn't support them 2021-09-10 19:51:27 +03:00
SalimTerryLi
932d4d13f0
MCPWM/sync: expose API for configuring timer sync
removed example: mcpwm_basic_config

Closes https://github.com/espressif/esp-idf/issues/5429

Co-authored-by: wubowen <wubowen@espressif.com>
2021-09-09 17:33:37 +08:00
laokaiyao
dfbe76e988 i2s: fix return value when failed to register i2s 2021-09-09 10:33:15 +08:00
laokaiyao
b3193e233c i2s: fix apll bugs introduced in 'refactor/i2s_driver'
Closes https://github.com/espressif/esp-idf/issues/7529
2021-09-09 10:23:52 +08:00
morris
6cec256a34 fast_gpio: driver support on esp32c3 2021-09-06 19:39:09 +08:00
laokaiyao
c5afd7ce34 i2s: fix write failure on ESP32 in 32bit slave mode 2021-09-03 17:36:44 +08:00
laokaiyao
0ff3dd9778 i2s: fix mono support issue 2021-09-02 14:33:36 +08:00
laokaiyao
b26da6f115 driver/i2s: refactor for i2s driver layer 2021-09-02 14:33:36 +08:00
SalimTerryLi
55a5c444b5
rtc_io, esp_himem: replace XXX_CHECK with ESP_RETURN_ON_FALSE 2021-08-30 11:18:34 +08:00
Michael (XIAO Xufeng)
64581b36f7 Merge branch 'refactor/dac_apply_generic_check' into 'master'
apply generic check macro

Closes IDF-3658

See merge request espressif/esp-idf!14944
2021-08-27 07:49:53 +00:00
morris
ba3168d1d5 Merge branch 'zim-missing-semicolon' into 'master'
missing semicolon

See merge request espressif/esp-idf!14965
2021-08-27 03:15:01 +00:00
morris
2deeba9d1a Merge branch 'feature/mcpwm-IRAM_ISR-kconfig' into 'master'
mcpwm: ISR can be placed to IRAM by menuconfig

Closes IDFGH-5732

See merge request espressif/esp-idf!14947
2021-08-26 10:08:16 +00:00
Zim Kalinowski
dbdcada2e5 missing semicolon 2021-08-26 16:55:53 +08:00
Michael (XIAO Xufeng)
375145ecdb Merge branch 'feature/mcpwm_bldc_hall_example' into 'master'
mcpwm: bldc hall example

Closes IDF-3648

See merge request espressif/esp-idf!14578
2021-08-26 08:28:27 +00:00
SalimTerryLi
e67bcda6d1
mcpwm: ISR can be placed to IRAM by menuconfig
resolves https://github.com/espressif/esp-idf/issues/7449
2021-08-26 15:58:46 +08:00
morris
c2d5af17a2 dac: apply generic check macro 2021-08-26 14:01:24 +08:00
Zim Kalinowski
b8733421ac Merge branch 'feature/twai_rx_data_alert' into 'master'
Feature/twai rx data alert

Closes IDFGH-5664 and IDFGH-5652

See merge request espressif/esp-idf!14711
2021-08-25 11:57:21 +00:00
Darian
72ba1866fb twai: TWAI_ALERT_RX_DATA indicates that frames were received
Signed-off-by: Darian Leung <darian@espressif.com>

Closes https://github.com/espressif/esp-idf/pull/7386
Closes https://github.com/espressif/esp-idf/issues/7374
2021-08-25 19:57:10 +08:00
Dmitry Yakovlev
4740e3e017 Merge branch 'bugfix/gdbstub_uart_at_runtime' into 'master'
Bugfix enable console RX UART for gdbstub for runtime mode only.

See merge request espressif/esp-idf!14927
2021-08-25 07:31:13 +00:00
Dmitry
fdb9edd8c6 Bugfix enable console RX UART for gdbstub for runtime mode only. 2021-08-24 12:19:21 +03:00
Cao Sen Miao
da12db2904 Merge branch 'bugfix/c3_i2c_timeout' into 'master'
I2C: Fix i2c write randomly timeout and WDT triggered

See merge request espressif/esp-idf!14722
2021-08-24 08:59:22 +00:00
morris
0dbe872542 mcpwm: bldc hall example 2021-08-24 15:38:46 +08:00
morris
bb87fd8f08 Merge branch 'refactor/pcnt_driver_esp32s3' into 'master'
pcnt: soc update and hal refactor

See merge request espressif/esp-idf!14698
2021-08-20 04:23:15 +00:00
morris
71d475149d lcd: update doc unit test and example to support 8-line spi 2021-08-19 16:40:22 +08:00
bizhuangyang
8143832041 spi_master:support octal mode for esp32s2 and esp32s3
Add support for 8-line spi for lcd on esp32s2 and esp32s3

Closes https://github.com/espressif/esp-idf/issues/6371
2021-08-19 16:40:22 +08:00
morris
f40bbb01f2 Merge branch 'feature/i80_lcd_support_esp32s2' into 'master'
esp_lcd: lcd driver for esp32/esp32s2/esp32s3

Closes IDF-3144, IDF-3314, IDF-3315, and IDF-3316

See merge request espressif/esp-idf!13679
2021-08-18 07:55:06 +00:00
Omar Chebib
4e3f5573c4 uart: cleaner way of handling error in a critical section
Some critical sections have also been added, making the code more
symetric accross the similar functions.

Closes https://github.com/espressif/esp-idf/pull/6396
2021-08-12 10:52:16 +08:00
Luca Burelli
e41e67f2f1 uart: Add missing critical section wrappers around rx_buffered_len
The missing barriers caused uart_get_buffered_data_len() to (very rarely)
return a garbage value. When used in MicroPython, though, this caused
select() to return and a subsequent read() to stall indefinitely until
a char was actually available.

Signed-off-by: Chen Yi Qun <chenyiqun@espressif.com>

Closes https://github.com/espressif/esp-idf/issues/6397
Merges https://github.com/espressif/esp-idf/pull/6396
2021-08-12 10:52:16 +08:00
Chen Yi Qun
fbd25c3837 I2C: add conf_update for esp32c3 i2c 2021-08-11 13:39:07 +08:00
morris
3bcd9278fa i2s: expose resource object to other component 2021-08-10 21:06:59 +08:00
Michael (XIAO Xufeng)
e37873f285 Merge branch 'bugfix/uart_driver_obj_into_sram' into 'master'
uart: put driver object into sram

Closes IDFGH-5281 and IDFGH-5634

See merge request espressif/esp-idf!13606
2021-08-10 09:35:36 +00:00
morris
56760c9669 pcnt: refactor hal driver 2021-08-10 17:19:21 +08:00
Wang Fang
59aa60d52a Merge branch 'docs/provide_apb_clock_frequency_in_api-reference_timers' into 'master'
docs: provide APB clock frequency in api-reference/timers

Closes DOC-1689

See merge request espressif/esp-idf!14593
2021-08-06 06:50:26 +00:00
morris
dbeb4bdb84 uart: support alloc driver object in SRAM
If CONFIG_UART_ISR_IN_IRAM is on, which means user hope the uart
interrupt can still be serviced even when cache is diabled (e.g.
writing to flash). In that case, the driver should make sure to
put the all related objects into SRAM, avoid putting them in the PSRAM.

Closes https://github.com/espressif/esp-idf/issues/7044
Closes https://github.com/espressif/esp-idf/pull/7355
2021-08-06 13:37:40 +08:00
morris
62d9109eb5 uart: format driver code by astyle 2021-08-06 13:36:57 +08:00
Michael (XIAO Xufeng)
18e681ce2f Merge branch 'bugfix/spi_master_crash_cache_disabled' into 'master'
spi_master: fix the crash when using interrupt mode when cache is disabled

Closes IDFGH-4992

See merge request espressif/esp-idf!14660
2021-08-06 03:37:26 +00:00
Wang Fang
0ba73ee7e2 docs: provide APB clock frequency in api-reference/timers 2021-08-06 11:05:32 +08:00
SalimTerryLi
e5ddc12a08
MCPWM/capture: API workflow optimization
deprecate isr_register to introduce new callback based API, with framework managed interrupt routine
new HC-SR04 example
2021-08-05 19:12:58 +08:00
Michael (XIAO Xufeng)
947980ecac Merge branch 'bugfix/uart_set_pin_use_iomux' into 'master'
uart: uart_set_pin function will now use IOMUX whenever possible

Closes IDF-3183

See merge request espressif/esp-idf!14318
2021-08-05 04:17:29 +00:00
Michael (XIAO Xufeng)
de0f24e373 spi_master: fix the crash when using interrupt mode when cache is disabled
Closes https://github.com/espressif/esp-idf/issues/6529
Closes https://github.com/espressif/esp-idf/issues/6781
Closes https://github.com/espressif/esp-idf/issues/7368
2021-08-05 12:04:39 +08:00
Omar Chebib
779e7400b0 uart: uart_set_pin function will now use IOMUX whenever possible
By using IOMUX instead of GPIO Matrix for UART, it is now possible
on ESP32 boards to use the UART as a wake up source even if it is
not used as a console.
For other boards where this issue was not present, using IOMUX has
the advantage to be faster than using GPIO matrix, so a highest
baudrate can be used
2021-08-04 12:48:30 +08:00
laokaiyao
f863998e90 driver/i2s: support mclk 2021-08-04 10:20:03 +08:00
laokaiyao
3c57a6ac36 driver/i2s: refactor ll and hal 2021-08-04 10:20:03 +08:00
laokaiyao
d51b85989b doc/i2s: update i2s programming guide on s3 & c3 2021-08-04 10:20:03 +08:00
laokaiyao
f7f8c9c11f driver/i2s: support i2s on c3 and s3
1. Support i2s on esp32c3 and esp32s3
    2. Refactor i2s_config_t to avoid breaking change
    2. Fix a bug that receiving unavailable values from message queue when dma queue has been re-allocted
    4. Support i2s unit test on esp32c3 and esp32s3
2021-08-04 10:20:03 +08:00
houwenxiang
2f1247e1c4 driver: support I2S on ESP32-S3 & ESP32-C3
1. refactor I2S driver.
  2. support TDM mode for esp2s3 & esp32c3.
2021-08-04 10:20:03 +08:00
morris
5f318e902d Merge branch 'bugfix/mcpwm-deadtime-preset-config' into 'master'
bugfix/mcpwm: fix deadtime module preset config (AHC, ALC, AH, AL)

Closes IDFGH-5600

See merge request espressif/esp-idf!14594
2021-08-03 04:22:20 +00:00
SalimTerryLi
32ca6ab65d
MCPWM/deadtime: fix and sync preset deadtime modes with well-known definition
Closes https://github.com/espressif/esp-idf/issues/7321
2021-08-03 10:12:42 +08:00
Marius Vikhammer
baf0b7cdf5 uart: fix typo in error message
Closes https://github.com/espressif/esp-idf/issues/7360
2021-08-03 09:18:21 +08:00
Song Ruo Jing
5d82d7c6ee Merge branch 'typo_fix/fix-length-typo' into 'master'
docs: Fix length typo

Closes IDFGH-5272

See merge request espressif/esp-idf!14371
2021-08-02 09:35:15 +00:00
Michael (XIAO Xufeng)
f7a7cc1014 Merge branch 'fix/sdio_slave_recv_intr_unhandled' into 'master'
sdio_slave: fixed the issue that interrupt may be cleared with finished trans unhandled

See merge request espressif/esp-idf!11399
2021-08-01 07:37:56 +00:00
Cao Sen Miao
5083ff5922 Merge branch 'feature/usb_serial_jtag_support_s3' into 'master'
usb_serial_jtag: enable blocking implementation on esp32s3(console)

Closes IDF-3635

See merge request espressif/esp-idf!14581
2021-07-31 11:27:09 +00:00
Michael (XIAO Xufeng)
f26006a3bc Merge branch 'feature/ledc_fade_callback' into 'master'
ledc: Add a callback for LEDC fade end

Closes IDF-2475 and IDF-3222

See merge request espressif/esp-idf!14302
2021-07-31 08:52:00 +00:00
Cao Sen Miao
24529a6aec usb_serial_jtag: enable blocking implementation on esp32s3 2021-07-31 16:32:09 +08:00
Armando (Dou Yiwen)
ed741a5d96 Merge branch 'bugfix/fix_adc_single_with_pm_lock_build_bug' into 'master'
adc: make adc single api only build pm lock on s2

See merge request espressif/esp-idf!14567
2021-07-31 05:32:34 +00:00
SalimTerryLi
f4314af913
MCPWM: expose API to set timer resolution
Closes https://github.com/espressif/esp-idf/issues/1101
2021-07-30 18:52:17 +08:00
Armando
23eb723daf adc: make adc single api only build pm lock on s2
Since ADC single read API only uses polling mode, we don't need to add
pm lock in it.
2021-07-30 10:16:24 +08:00
morris
f907009056 Merge branch 'refactor/cleanup_mcpwm_examples' into 'master'
mcpwm: more clean up (example + LL + doc)

Closes IDF-3295

See merge request espressif/esp-idf!12798
2021-07-29 10:41:07 +00:00
songruojing
9d098cc9bd ledc: Add a callback for LEDC fade end
This commit adds a feature where users can register a callback that is
called when an LEDC fade completes.
2021-07-29 17:56:22 +08:00
Armando (Dou Yiwen)
3c3e802048 Merge branch 'feature/essp_spi_driver' into 'master'
spi: essl spi driver and spi_slv_hd append mode example

Closes IDF-1698, IDF-2279, and IDF-2932

See merge request espressif/esp-idf!12104
2021-07-29 09:53:10 +00:00
Michael (XIAO Xufeng)
5569dedd7f Merge branch 'bugfix/i2c_example_esp32s3' into 'master'
i2c: bringup on ESP32-S3

Closes IDF-3232 and IDF-3292

See merge request espressif/esp-idf!13985
2021-07-29 07:01:38 +00:00
Ato Araki
aea865b360 Fix length typo
Closes https://github.com/espressif/esp-idf/pull/7037
2021-07-29 14:44:43 +08:00
Armando (Dou Yiwen)
30056c0116 Merge branch 'bugfix/spi_master_clear_error_fifo_status' into 'master'
spi_master: clear error fifo status before transaction starts

Closes IDF-3457 and IDF-3501

See merge request espressif/esp-idf!14210
2021-07-29 04:03:19 +00:00
Armando
aca2bd5fcf essl: add essl spi support to communicate with spi slave hd mode 2021-07-28 18:36:13 +08:00
Armando
9063a7b7e3 test: add an SPI dual board test for master FD DMA single directions test 2021-07-28 17:51:25 +08:00
Armando
c4cc3bb895 adc: temporarily disable adc2 wifi test pending on s3 adc calibration 2021-07-28 17:50:15 +08:00
Armando
eab252456f adc: refactor adc2 single read with wifi test 2021-07-28 17:50:14 +08:00
Armando
3ce2d85e9e adc: support adc2 working with WiFi 2021-07-28 17:50:14 +08:00
morris
88c87bfe56 mcpwm: update hal and soc naming 2021-07-26 22:32:45 +08:00
Michael (XIAO Xufeng)
4d2bb1e7ec sdio_slave: fixed the issue that interrupt may be cleared with finished trans unhandled 2021-07-24 22:29:15 +08:00
Michael (XIAO Xufeng)
fbb6b1b11a Merge branch 'bugfix/fix_uart_reset_issue_on_esp32c3' into 'master'
bugfix(uart): reset uart0 core before uart apb reset

Closes IDF-3362

See merge request espressif/esp-idf!12749
2021-07-22 07:20:58 +00:00
Marius Vikhammer
a29a6ceef0 uart: update register headers and examples for S3 2021-07-22 12:05:49 +08:00
Omar Chebib
74d939fd71 Merge branch 'feature/spi_keep_cs_low' into 'master'
SPI: chip select can now be kept active if the bus has been acquired

Closes IDF-3125

See merge request espressif/esp-idf!13546
2021-07-22 03:57:58 +00:00
Cao Sen Miao
69ad24c943 temp_sensor: add docs for esp32c3 2021-07-21 13:34:52 +08:00
Chen Yi Qun
6317f5b481 add uart core reset in uart_module_enable() 2021-07-21 11:41:04 +08:00
Cao Sen Miao
24356cf7f7 temp_sensor: add check to temp_sensor api 2021-07-21 11:24:37 +08:00
Omar Chebib
b8c6c5334f i2c: modify examples to work out of the box on ESP32S3
On ESP32S3, the default I2C pins of the examples are already used by USB.
This commit changes the default pins.
2021-07-21 11:04:16 +08:00
Omar Chebib
a6e14c37b2 SPI: chip select can now be kept active if the bus has been acquired
The user can now request the chip select to remain active after the current
transfer. In order to do so, he MUST acquire the bus first with `spi_device_acquire_bus()`
function, else, an error is returned.
2021-07-21 10:39:45 +08:00
Alex Lisitsyn
c801b3a182 freemodbus: fix uart_wait_tx_done() reenable tx_done interrupt
fixes the issue with uart_wait_tx_done() when the task is suspended and transmission is done right before reenable tx_done interrupt
2021-07-21 10:07:44 +08:00
Michael (XIAO Xufeng)
59195b6fb3 Merge branch 'bugfix/update_gdma_soc' into 'master'
gdma: alignment setting for PSRAM transfer

Closes IDF-1524

See merge request espressif/esp-idf!13976
2021-07-17 14:04:03 +00:00
Angus Gratton
77b1ddbcdb driver: Add some settling time when driving USB IOs high/low
Otherwise seems to sometimes fail in release config
2021-07-16 20:14:28 +08:00
Jakob Hasse
e94117a055 Merge branch 'bugfix/correct_driver_cmake' into 'master'
[driver]: removed redundant code in CMakeLists.txt

See merge request espressif/esp-idf!13365
2021-07-16 11:27:08 +00:00
morris
d9819bc7ae gdma: set transfer ability 2021-07-16 14:47:09 +08:00
morris
3176ba11d8 gdma: update DMA soc data for esp32-s3 2021-07-16 14:47:09 +08:00
morris
217d3eb690 Merge branch 'feature/adc_single_sample_support_on_s3' into 'master'
adc: support adc single read on s3

Closes IDF-3118

See merge request espressif/esp-idf!14036
2021-07-16 06:32:08 +00:00
morris
bae28ed1ff Merge branch 'refactor/esp_check_on_rtc_tempsensor' into 'master'
Refactor/rtc_tempsensor: esp_check update & fix log level

Closes IDFGH-5546

See merge request espressif/esp-idf!14377
2021-07-16 04:25:05 +00:00
laokaiyao
27d9657b6c driver/adc: support adc single sample on s3 2021-07-15 19:13:50 +08:00
SalimTerryLi
ad505e7f03
rtc_tempsensor: esp_check update & fix log level
Closes https://github.com/espressif/esp-idf/issues/7271
2021-07-15 17:23:07 +08:00
Michael (XIAO Xufeng)
ded74889da Merge branch 'bugfix/spi_slave_wrong_miso_mosi' into 'master'
spi_slave: Fix MOSI/MISO inconsistent references on the SPI Slave drivers.

See merge request espressif/esp-idf!13645
2021-07-15 08:51:41 +00:00
Omar Chebib
2575c0d49f i2c: fix I2C slave clock source selection
In I2C slave mode, clock source can now be changed, according to
the flags specified in `i2c_config_t` structure. Thus, ESP32-S2
can now act as an I2C slave, even with a 400KHz master clock.
2021-07-15 12:28:57 +08:00
morris
44c175649a Merge branch 'refactor/replace_wrapped_LOGD_with_macro' into 'master'
uart,i2c: deprecate and replace wrapped xxx_CHECK with macro ESP_RETURN_ON_FALSE

See merge request espressif/esp-idf!14297
2021-07-14 05:55:13 +00:00
morris
8887897f54 Merge branch 'bugfix/timer_example_crashed_not_calling_timer_group_set_alarm_value_in_isr' into 'master'
driver/timer: fixed auto reload problem in default isr callback

Closes IDFGH-5229

See merge request espressif/esp-idf!13528
2021-07-09 10:18:18 +00:00
SalimTerryLi
f545adbceb
i2c.c, uart.c: replace xxx_CHECK with ESP_RETURN_ON_FALSE 2021-07-09 15:13:34 +08:00
morris
90f05c42b2 Merge branch 'bugfix/fix_i2c_master_write_bug' into 'master'
i2c: application can now call `i2c_master_write` for sending a single byte

Closes IDF-3518 和 IDFCI-741

See merge request espressif/esp-idf!14273
2021-07-08 06:32:39 +00:00
morris
3b821b8ac3 Merge branch 'bugfix/rotary_encoder_example_main' into 'master'
bugfix: rotary encoder example isr service install

Closes IDFGH-5105

See merge request espressif/esp-idf!14114
2021-07-08 04:25:30 +00:00
Omar Chebib
e9ffe03544 i2c: the user is now allowed to call i2c_master_write even for sending a single byte 2021-07-06 12:12:16 +08:00
morris
d9d4db43a1 Merge branch 'feature/dedic_gpio_esp32s3' into 'master'
Dedicated gpio driver on esp32s3

Closes IDF-3387

See merge request espressif/esp-idf!14196
2021-07-06 03:20:04 +00:00
Michael (XIAO Xufeng)
c6716dcb39 Merge branch 'feature/esp32c3_usbjtag_console_blocking' into 'master'
USB_serial_jtag controller:  Add driver for supporting VFS on esp32c3(blocking implementation)

Closes IDF-3066 and IDF-3019

See merge request espressif/esp-idf!13414
2021-07-05 07:57:19 +00:00
Cao Sen Miao
3aa9ac2469 usb_serial_jtag: Add blocking driver to support vfs. 2021-07-05 11:22:38 +08:00
Michael (XIAO Xufeng)
5986b204c6 Merge branch 'feature/i2c_add_static_buffer_transfers' into 'master'
i2c: add `i2c_cmd_link_create_static()` to create commands from a given buffer

Closes IDFGH-3087

See merge request espressif/esp-idf!13013
2021-07-02 14:00:03 +00:00
Shu Chen
ee23a489b9 esp32h2: code clean up 2021-07-01 19:53:50 +08:00
Shu Chen
205cd469e9 esp32h2: update driver/hal/soc components to support esp32h2 2021-07-01 19:53:11 +08:00
Shu Chen
983cca8b27 esp32h2: copy driver/hal/soc components from esp32c3
Copy the esp32c3 code without any change:
 * components/driver/esp32h2
 * components/esp32h2
 * components/hal/esp32h2
 * components/soc/esp32h2
2021-07-01 19:53:11 +08:00
Michael (XIAO Xufeng)
e8ff60544d Merge branch 'bugfix/channel_clk_independent' into 'master'
rmt: clean up and support esp32-s3 (no DMA support)

Closes IDF-3296 and IDFGH-5350

See merge request espressif/esp-idf!13244
2021-07-01 04:37:07 +00:00
bizhuangyang
1829783886 bugfix:rotary encoder example isr service install
Fix the issue mentioned when using two or more encoders. Modify PCNT_CTRL_GND_IO
to avoid the affect of USB JTAG(origin pin 19 is used for USB D-). Update esp32c3.
peripherals.ld and docs for esp32s3.

Closes https://github.com/espressif/esp-idf/issues/6889
2021-06-30 18:44:02 +08:00
morris
c8c3015018 dedic_gpio: support on esp32s3 2021-06-30 18:10:54 +08:00
morris
9df57b3ae6 dedic_gpio: apply general esp_check macro 2021-06-30 18:10:54 +08:00
Gustavo Henrique Nihei
ef0041b545 driver: Refactor and clean up SPI Slave test 2021-06-28 18:59:00 -03:00
Gustavo Henrique Nihei
f5bfa0babf driver: Create TX/RX-only test cases for SPI Slave 2021-06-28 18:59:00 -03:00
bizhuangyang
78c67d2384 gpio:support gpio in/out/interrupt for esp32s3(728)
Add support of gpio for esp32s3(728). Adjust some pins and comments in test_gpio.c. Add support for gpio functions for gpio19 and gpio20. Update S3 programming guide Peripheral API: gpio and sigmadelta. Add unit test for input and output function of S3 USB pins(GPIO19 and GPIO20) and C3 USB pins(GPIO18 and GPIO19). Adjust input only test in test_spi_master.c.
2021-06-28 11:44:14 +08:00
Angus Gratton
c9287888a5 Merge branch 'feature/driver_mock' into 'master'
[driver]: added mocking of spi master and gpio

See merge request espressif/esp-idf!12054
2021-06-28 00:38:44 +00:00
Michael (XIAO Xufeng)
25f5fc7d6f Merge branch 'feature/support_spi_on_728' into 'master'
spi_master: enable a unit test closed on esp32s3 before

Closes IDF-3226

See merge request espressif/esp-idf!13845
2021-06-27 05:41:10 +00:00
laokaiyao
1138be502e driver/timer: only re-enable alarm in callback when auto reload is true
closes https://github.com/espressif/esp-idf/issues/7001
2021-06-25 15:44:23 +08:00
Jakob Hasse
79b0256d63 [driver]: partial mocking of driver component
* added mocking of spi master and gpio
* mock registering in one function in
  component.cmake
2021-06-24 10:10:29 +08:00
morris
01a28add47 rmt: apply general check macro 2021-06-22 15:29:11 +08:00
morris
8d9e968d3f rmt: fix wrong macro of independent channel clock 2021-06-22 15:29:11 +08:00
morris
8e483e34a8 rmt: restructure rmt_signal_conn_t 2021-06-22 15:29:11 +08:00
morris
a1494809b2 rmt: clean up LL driver 2021-06-22 15:29:11 +08:00
laokaiyao
48fdf6912d test_pwm: relax the requirement of mcpwm test 2021-06-22 10:41:09 +08:00
Armando
6a49ceb67e spi_master: enable a test closed for s3 before 2021-06-21 19:42:49 +08:00
Michael (XIAO Xufeng)
18860ff304 sdio_slave: format source file 2021-06-17 09:40:09 +08:00
Michael (XIAO Xufeng)
591e4c4b31 sdio_slave: allow getting end of frame information 2021-06-17 09:40:08 +08:00
Michael (XIAO Xufeng)
38f0d52e2c Merge branch 'bugfix/uart_race_condition' into 'master'
Fix couple of UART issues

Closes IDFGH-5254

See merge request espressif/esp-idf!13631
2021-06-16 07:48:06 +00:00
Marius Vikhammer
79b5dedeb1 CI: minor testcases fixes and disable some cases that cant run on S3 2021-06-15 13:39:48 +08:00
Omar Chebib
7dd499d1f4 i2c: commands can now be re-used without deleting and creating new cmd links
It is now possible to call `i2c_master_cmd_begin()` on the same
`i2c_cmd_handle_t` parameter. Thus, no extra allocation will be performed.
Moreover, as commands contains pointers to data, these can be modified
between two calls to `i2c_master_cmd_begin()`. This becomes very handy
for framebuffers.
2021-06-09 17:03:39 +08:00
Omar Chebib
cfcbca1271 i2c: optimize space allocated for read or write buffers
Only a single command will be allocated now when a read or write is
prepared in the command list. The size of a command's buffer is not
limited to 255 bytes anymore.
2021-06-09 15:21:20 +08:00