Commit Graph

1827 Commits

Author SHA1 Message Date
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