Commit Graph

310 Commits

Author SHA1 Message Date
Ivan Grokhotkov
da90775d98 hal: mpu: fix signed overflow error 2021-04-22 23:33:47 +02:00
Ivan Grokhotkov
9069f70db3 system: add option to enable undefined behavior sanitizer (UBSAN)
Closes https://github.com/espressif/esp-idf/issues/1574
2021-04-22 23:33:45 +02:00
morris
ec898b771e systimer: strip hal driver 2021-04-22 21:08:39 +08:00
morris
7c1e1c9e2d systimer: update soc data 2021-04-22 21:07:35 +08:00
morris
7eb9ecb4f6 esp_ds: move timeout mechanism to driver layer 2021-04-22 21:07:35 +08:00
Darian Leung
2906a25988 Separate USB HAL and common USB types
This commit separates out the common USB types used throughout most of the stack into its
own header file inside the USB component. The types used in the USB HAL are now exclusive
to the HAL.
2021-04-22 19:24:48 +08:00
Armando
85e29dace7 spi_slave_hd: add callback after data is loaded to the DMA for segment mode 2021-04-20 20:08:29 +08:00
Darian Leung
44bc5411b7 TWAI: Fix incorrect CAP name
Fixes a bug where SOC_TWAI_BRP_DIV_SUPPORTED was mistyped preventing
slower bit rates from being enabled on ESP32 revision 2 and 3 chips
2021-04-16 18:18:37 +08:00
Omar Chebib
bb9aa806f7 panic: handlers can now be placed in flash
By unchecking "Place panic handler code in IRAM" in the menuconfig,
the panic handlers will be placed in flash. Of course, flash cache must
be activated when entering panic handlers.
2021-04-15 11:58:46 +08:00
Angus Gratton
ec01a66557 Merge branch 'feature/esp32c3_memprot_test3' into 'master'
ESP32C3/ESP32S2: memprot API upgrade and test application

Closes IDF-2641

See merge request espressif/esp-idf!12941
2021-04-13 18:42:46 +00:00
Michael (XIAO Xufeng)
1f29036ead Merge branch 'feat/c3_driver_api_cleanup' into 'master'
driver: cleanup i2c, i2s on C3

Closes IDF-2759 and IDF-2760

See merge request espressif/esp-idf!12329
2021-04-13 09:00:11 +00:00
Michael (XIAO Xufeng)
7e06a60c0d Merge branch 'refactor/no_dac_on_esp32s3' into 'master'
dac: added DAC support macro

Closes IDF-1777

See merge request espressif/esp-idf!13038
2021-04-12 10:52:33 +00:00
Michael (XIAO Xufeng)
8cfcf6da7a Merge branch 'bugfix/enable_gpio18_gpio19_esp32c3' into 'master'
gpio: Disable USB JTAG when setting pins 18 and 19 as GPIOs on ESP32C3

Closes IDF-2964

See merge request espressif/esp-idf!12753
2021-04-12 09:39:55 +00:00
Michael (XIAO Xufeng)
67941fc495 i2s: removed unsupported features on different targets 2021-04-12 15:51:54 +08:00
Michael (XIAO Xufeng)
82e4a2431a i2c: removed unsupported features on different targets 2021-04-12 15:51:19 +08:00
morris
75dfd970b4 dac: added DAC support macro
Remove DAC support on ESP32-S3
2021-04-12 12:04:46 +08:00
Martin Vychodil
f27c9c5139 esp32c3: memprot API upgrade and test application
Closes IDF-2641
2021-04-12 13:44:11 +10:00
Michael (XIAO Xufeng)
57af5acefe Merge branch 'ci/enable_all_test_for_i2c_on_c3' into 'master'
I2C: enable all unit test for i2c on esp32c3

Closes IDF-2494

See merge request espressif/esp-idf!12474
2021-04-08 12:31:51 +00:00
Michael (XIAO Xufeng)
925dacd7fb Merge branch 'bugfix/remove_HSPI_macro_on_c3' into 'master'
spi: remove HSPI macros on esp32c3 and esp32s3

Closes IDF-2535

See merge request espressif/esp-idf!12637
2021-04-08 09:33:18 +00:00
Omar Chebib
cd79f3907d gpio: Disable USB JTAG when setting pins 18 and 19 as GPIOs on ESP32C3
When `DIS_USB_JTAG` eFuse is NOT burned (`False`), it is not possible
to set pins 18 and 19 as GPIOs. This commit solves this by manually
disabling USB JTAG when using pins 18 or 19.
The functions shall use `gpio_hal_iomux_func_sel` instead of
`PIN_FUNC_SELELECT`.
2021-04-08 14:01:18 +08:00
Cao Sen Miao
c3da21a93f I2C: enable all unit test for i2c on esp32c3 2021-04-06 17:37:55 +08:00
Armando
9b9ea71ff9 spi: remove HSPI macro on esp32c3 and esp32s3 2021-04-06 13:42:49 +08:00
Jakob Hasse
b23c9142d5 [hal]: cleaned up interrupt mask functions
* Functions for setting and clearing interrupts
  as well as function to read interrupt mask
  should be clearer now.
* Using hal layer interrupt set and clear
  functions in esp_wifi component
2021-04-06 11:54:13 +08:00
aleks
193f1f9b4e driver: fix uart handler in iram calls inline uart_ll_is_tx_idle 2021-03-31 14:39:59 +00:00
Darian Leung
2f58060921 TWAI: FIFO overrun handling and errata workarounds
This commit adds handling for FIFO overruns and
adds workarounds for HW errats on the ESP32.

Closes https://github.com/espressif/esp-idf/issues/2519
Closes https://github.com/espressif/esp-idf/issues/4276
2021-03-30 14:17:31 +08:00
Armando
cc6bfcd9ac adc: apply adc power API to adc driver
Closes https://github.com/espressif/esp-idf/issues/6269
Closes https://github.com/espressif/esp-idf/issues/6682
2021-03-26 17:58:00 +08:00
Armando
0e0baee25a adc: add implementation of missed public API
Added ``adc1_pad_get_io_num``, ``adc2_pad_get_io_num`` and
``adc_vref_to_gpio``.
2021-03-26 12:04:46 +08:00
Armando
e9995fe165 adc: add pm_lock to adc driver on esp32c3 2021-03-26 12:04:46 +08:00
Armando
00a3f48bd8 adc: refactor adc single read api on esp32c3 2021-03-26 12:04:46 +08:00
Armando
69a0f8b9bb adc: seperate hal layer and driver layer 2021-03-26 12:04:46 +08:00
Armando
bee90f57f1 adc: remove unused functions on esp32c3 2021-03-26 12:04:45 +08:00
Angus Gratton
fa2946d651 Merge branch 'feature/support_esp32s3_beta_3' into 'master'
Support ESP32S3 beta 3 target

Closes IDF-2908

See merge request espressif/esp-idf!12661
2021-03-23 10:17:58 +00:00
Michael (XIAO Xufeng)
67ba80f2ec Merge branch 'bugfix/reduce_the_consumption_of_touch_sensor_during_deep_sleep' into 'master'
fix: reduce the consumption of touch sensor during deep sleep

See merge request espressif/esp-idf!12248
2021-03-22 07:10:44 +00:00
Angus Gratton
54edd4fc58 Merge branch 'feature/wdt_c3' into 'master'
wdt: Fix RTC_SLOW_CLK for chips, corrects WDT timeout.

Closes IDF-2118 and IDF-2332

See merge request espressif/esp-idf!12796
2021-03-22 06:48:58 +00:00
Michael (XIAO Xufeng)
3a90d51831 Merge branch 'refactor/using_isr_callback_in_timer_example' into 'master'
TIMG: clean up timer example and add example test

Closes IDF-2722, IDF-2766, and IDF-2347

See merge request espressif/esp-idf!12218
2021-03-22 06:36:32 +00:00
KonstantinKondrashov
aa1338bf23 wdt: Fix timeout and RTC_SLOW_CLK
RTC_SLOW_CLK
ESP32:    150kHz
ESP32-S2:  90kHz
ESP32-S3: 150kHz
ESP32-C3: 150kHz
2021-03-19 00:15:18 +08:00
Michael (XIAO Xufeng)
4028d4e083 Merge branch 'feature/mcpwm_add_peripheral_signal_list' into 'master'
mcpwm: added peripheral signal description list

See merge request espressif/esp-idf!12480
2021-03-18 10:07:59 +00:00
Jiang Jiang Jian
d38eabf0c2 Merge branch 'bugfix/spi_flash_compatible_with_rom_c3_and_s3' into 'master'
spi_flash: make spiflash compatible with ESP32C3 and ESP32S3 ROM

See merge request espressif/esp-idf!12713
2021-03-18 04:08:06 +00:00
Marius Vikhammer
2aead8ba57 Support ESP32S3 Beta 3 target
Update ROM API. Port changes from bringup branch.
2021-03-18 10:24:22 +08:00
morris
f5ca47c0fc mcpwm: rename macros related to soc capbility 2021-03-16 21:53:59 +08:00
morris
5a520cacf1 timer_group: correct timer_ll_set_divider 2021-03-16 17:56:37 +08:00
fuzhibo
6b361ed70f fix: reduce the consumption of touch sensor during deep sleep 2021-03-15 03:59:54 +00:00
morris
d0be56b8fe lcd: add LL driver for esp32-s3 2021-03-13 22:31:30 +08:00
jiangguangming
ae04518a32 spi_flash: make spiflash compatible with ESP32C3 and ESP32S3 ROM 2021-03-12 17:31:13 +08:00
Angus Gratton
fd164b82b6 Merge branch 'refactor/move_from_xtensa' into 'master'
Movements from xtensa

Closes IDF-2164

See merge request espressif/esp-idf!10556
2021-03-11 00:24:25 +00:00
Michael (XIAO Xufeng)
fc61e60948 uart: fixed incorrect baudrate on C3 and S3 when target is too slow
The integer part of the divider is only 12-bit now. We used prescaler to get low frequency instead.
2021-03-09 20:09:42 +08:00
Michael (XIAO Xufeng)
e9ecc4a0af Merge branch 'bugfix/esp32s3_flash_read_write' into 'master'
spi_flash: modify nvs reading writing issue on esp32s3

Closes WIFI-3438 and IDF-2866

See merge request espressif/esp-idf!12604
2021-03-04 03:53:35 +00:00
Cao Sen Miao
0b7caf96a9 spi_flash:modify nvs reading writing issue on esp32s3 2021-03-03 22:02:32 +08:00
Angus Gratton
d6f4d99d93 core system: Fix warnings in compilation when assertions are disabled
Adds a CI config for hello world that sets this, to catch future regressions
2021-03-03 10:26:57 +11:00
Michael (XIAO Xufeng)
2e0e583ad1 Merge branch 'bugfix/clear_interrupt_in_touch_sensor_initialization' into 'master'
fix: clear interrupt in touch sensor initialization

See merge request espressif/esp-idf!12201
2021-03-02 08:09:23 +00:00
fuzhibo
cfe59031a5 fix: clear interrupt in touch sensor initialization 2021-03-01 03:57:01 +00:00
Darian Leung
424e1e1886 Add USB HCD
This commit adds the USB HCD (Host Controller Driver) and accompanying unit tests.
2021-02-26 23:13:42 +08:00
Renz Bagaporo
1efdcd69d9 xtensa: move out trax 2021-02-26 19:45:48 +08:00
Cao Sen Miao
a8343bc470 esp_system: support gpio wakeup from deep sleep on esp32c3 2021-02-26 12:26:49 +08:00
morris
7b37158ede rmt: distinguish group and channel in HAL layer 2021-02-25 12:42:23 +08:00
Armando
346dea206e spi_slv_hd: add hal_trans_finish comments for clarifying risk 2021-02-24 12:01:31 +08:00
Armando
8d90d3072c spi_slave_hd: refactor the hal append api to remove the spinlock 2021-02-24 12:01:31 +08:00
morris
6dc7f95342 mcpwm: fix wrong meta information 2021-02-22 20:23:35 +08:00
Omar Chebib
727481d71c gpio: enable GPIO19 on ESP32C3 boards 2021-02-22 08:44:55 +00:00
Armando
db3bf8b544 spi: refactor spi_common dma allocator 2021-02-22 07:06:05 +00:00
Armando
c438ad5d72 spi: apply gdma allocator to SPI 2021-02-22 07:06:05 +00:00
Michael (XIAO Xufeng)
f5f6c59e63 Merge branch 'feature/apply_gdma_new_channel_api_to_adc' into 'master'
adc: apply gdma new channel api to adc

Closes IDF-2500

See merge request espressif/esp-idf!12008
2021-02-19 13:07:32 +00:00
Marius Vikhammer
04df1f3a42 CI: enable example builds for C3
Enables building C3 examples in CI.

Fixes related warnings/errors and disables examples that cannot run.
2021-02-09 12:04:02 +08:00
Armando
5427c18781 adc: apply gdma api to adc on esp32c3 2021-02-08 11:41:21 +08:00
Michael (XIAO Xufeng)
423a5458dc Merge branch 'bugfix/support_new_BYflash_chip_boot' into 'master'
spi_flash: add external flash support on esp32c3

Closes IDF-2650, IDF-2651, and IDF-2399

See merge request espressif/esp-idf!12121
2021-02-05 20:03:24 +08:00
Michael (XIAO Xufeng)
822a40a6cf Merge branch 'fix/adc_xpd_calibration' into 'master'
adc: fixed the issue that ADC power is left on after the calibration is done

See merge request espressif/esp-idf!12207
2021-02-05 16:28:53 +08:00
Michael (XIAO Xufeng)
351ba5ff9e adc: fixed the issue that ADC power is left on after the calibration is done
Also refactor the locks in the adc_common.c file.
2021-02-05 14:17:52 +08:00
Michael (XIAO Xufeng)
52a76867d1 Merge branch 'bugfix/spi_lose_last_3_bytes' into 'master'
spi_master: fix an issue where master cannot correctly receive data when using DMA in halfduplex mode.

Closes IDFGH-612

See merge request espressif/esp-idf!11354
2021-02-04 18:35:48 +08:00
Cao Sen Miao
e38326d715 spi_flash: fix the issue that ext flash hold is not controlled properly 2021-02-04 14:44:51 +08:00
Angus Gratton
6252446b7d Merge branch 'bugfix/s3_dma_enable_crypto' into 'master'
sha: dont enable/disable GDMA when enable/disable SHA module

See merge request espressif/esp-idf!12247
2021-02-04 11:30:10 +08:00
morris
e361498a2a intr_alloc: re-enable unit test 2021-02-02 20:25:50 +08:00
Marius Vikhammer
245a2469f6 sha: dont enable/disable GDMA when enable/disable SHA module
Enabling and disabling of the GDMA module is done by the GDMA driver.
2021-02-02 19:24:57 +08:00
Marius Vikhammer
548fd02d10 docs: initial update of programming guide for C3
Updates "front page" content, get-started, and api-guides with C3 content

Enable building and publishing of C3 docs in CI
2021-02-01 15:40:02 +08:00
Ivan Grokhotkov
bb1f75179b Merge branch 'bugfix/freertos_systimer_stall_when_cpu_halted' into 'master'
freertos: stall systimer while CPU is in debug mode

See merge request espressif/esp-idf!12063
2021-01-29 07:02:30 +08:00
baohongde
eef66789d4 Mac BB power down in light sleep
components/bt: Do not use feature: timer support isr dispatch method

disable controller after wake up finished.

protect critical section of power down

choose clk in sleep

components/coex: mac bb power down in light sleep

components/coex: Macro changed

components/os: protect reserved interrupt number

update phy to phy_version 300,6e46ba7,Jan 25 2021

some bugfix
2021-01-28 22:28:04 +08:00
Michael (XIAO Xufeng)
673937087e Merge branch 'feature/usb_host_hal' into 'master'
Add USB Host HAL

Closes IDF-2633

See merge request espressif/esp-idf!11784
2021-01-28 00:58:11 +08:00
Martin Vychodil
69096ddce5 Security: ESP32C3 memory protection feature (IRAM0/DRAM0)
Software support for PMS module.
Allows controlled memory access to IRAM (R/W/X) and DRAM0 (R/W)
On/locked by default, configurable in Kconfig (esp_system)

Closes https://jira.espressif.com:8443/browse/IDF-2092
2021-01-27 08:44:03 +01:00
Michael (XIAO Xufeng)
da4b4fc565 Merge branch 'bugfix/mcpwm_can_set_two_falut_signal' into 'master'
mcpwm: fix second fault line broken issue

Closes IDFGH-4194

See merge request espressif/esp-idf!12119
2021-01-27 11:36:30 +08:00
Krzysztof Budzynski
9a5bd86d54 Merge branch 'docs/update_docs_based_on_the_second_batch_of_customer_feedbacks' into 'master'
docs: update documents based on doc-855, doc-885, doc-889, doc-897

See merge request espressif/esp-idf!12124
2021-01-26 16:21:26 +08:00
Michael (XIAO Xufeng)
c99e891201 Merge branch 'feature/sync_adc_changes_from_c3_to_master_last' into 'master'
adc: sync adc changes from c3 to master (last time)

Closes IDF-2694

See merge request espressif/esp-idf!12134
2021-01-26 12:52:20 +08:00
Michael (XIAO Xufeng)
2b83418141 adc: add fallback calibration method
Also:
1. Separate static configuration into init phase to improve
performance
2. Add a init code config layer to avoid duplicated configuration
3. Add a HW_CALIBRATION_V1 caps
2021-01-25 20:30:42 +08:00
Wang Fang
7df1cad1d6 docs: This MR does the following updates:
1. Provided more information regarding I2S_COMM_FORMAT_STAND_PCM_SHORT and I2S_COMM_FORMAT_STAND_PCM_LONG
2. Added --output flag for partition table read instructions
3. Reordered the header files for esp-ble-mesh
4. Reordered the setup instructions for Ubuntu and CentOS
2021-01-25 11:10:08 +00:00
Michael (XIAO Xufeng)
7a20ea5f0e Merge branch 'feature/support_flash_sus_res_c3' into 'master'
spi_flash: Add flash auto-suspend auto-resume mode on esp32c3

Closes IDF-2591

See merge request espressif/esp-idf!11888
2021-01-25 17:41:32 +08:00
Michael (XIAO Xufeng)
3d7da2c8ff adc: simplify LL on C3 2021-01-25 15:08:55 +08:00
Armando
f9ec7ddda3 adc: add comment for ADC sampling frequency 2021-01-25 04:51:40 +00:00
Armando
d8a4b247b9 adc_digi: update_adc_api_for_5M_freq_limit
The ``adc_digi_config_t`` struct is modified on esp32c3: configuration
of clock divider factors are not provided anymore. The SARADC sampling
frequency is provided instead. In this way, we can handle the frequency
limit better.
2021-01-25 04:51:40 +00:00
Michael (XIAO Xufeng)
56919682be adc: remove useless adc_ll_set_sar_clk_div in LL 2021-01-25 04:51:40 +00:00
Michael (XIAO Xufeng)
90fc3e7030 adc: update the monitor and filter in the HAL on C3
On C3 ADC has no enable bit for monitor and filter. However we can use context variables to implement one
2021-01-25 04:51:40 +00:00
fuzhibo
19fb11549b driver(adc): update adc ll and hal driver for esp32c3 2021-01-25 04:51:40 +00:00
Armando
02600309c8 adc: fix some regression issues 2021-01-25 04:51:40 +00:00
Armando
2b737c1927 adc: fix adc invalid data issue by update adc_reset 2021-01-25 04:51:40 +00:00
Michael (XIAO Xufeng)
d7d1dee208 system: reset dma when soft reset 2021-01-25 04:51:40 +00:00
Armando
d35173c147 small fix for cherrypick 2021-01-25 04:51:40 +00:00
Armando
b38f4646de adc_digi: add dma drivers 2021-01-25 04:51:40 +00:00
Cao Sen Miao
f3e79ca166 spi_flash(c3): add boya chip support for suspend feature 2021-01-25 11:14:06 +08:00
Cao Sen Miao
9905da46e0 spi_flash: Add auto suspend mode on esp32c3 2021-01-25 11:14:02 +08:00
KonstantinKondrashov
1f37a5f162 spi_flash(esp32-s2): Add the workaround of a reboot issue when SPI HW suspend is enabled 2021-01-25 11:13:38 +08:00
Ivan Grokhotkov
d7bac619ec freertos: stall systimer while CPU is in debug mode 2021-01-24 11:32:17 +00:00
Michael (XIAO Xufeng)
06f22fc4b0 Merge branch 'feature/new_restart_mode_driver_and_ut_for_spi_slave_hd' into 'master'
spi_slave_halfduplex: append mode driver

See merge request espressif/esp-idf!10845
2021-01-24 09:27:12 +08:00
morris
ceab7daea8 mcpwm: fix wrong capture edge 2021-01-22 16:17:59 +08:00