Commit Graph

1639 Commits

Author SHA1 Message Date
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
Omar Chebib
e1f388f114 i2c: add i2c_cmd_link_create_static() to create commands from a given buffer
Application can now provide a buffer in order to allocate commands link.
Fixed few unclear details in the documentation.
Added wrappers to simplify I2C transfers.

Closes https://github.com/espressif/esp-idf/issues/5108
2021-06-09 15:21:20 +08:00
morris
b47d012720 mcpwm: refactor unit test 2021-06-09 12:27:01 +08:00
morris
d4fe219c49 mcpwm: refactor driver 2021-06-09 12:27:01 +08:00
Michael (XIAO Xufeng)
dc6d6f225e spi_flash: reverted unwilling cs_setup argument
Partially reverted 08f1bbe0c7.

The host should have this flexibility, which is consistent to the cs_hold argument.

However, the user should know as less as possible about the host.
So the wrapper layer (esp_flash_spi_init.c) should cover this, helping to set cs_setup to 1, to meet the common requirements.
2021-06-04 15:29:53 +08:00
Cao Sen Miao
08f1bbe0c7 spi_flash: fix cs line setup to make the flash driver more stable 2021-06-01 16:41:41 +08:00
Michael (XIAO Xufeng)
ff29aded19 Merge branch 'bugfix/i2s_apll_disable_issue' into 'master'
i2s: fix driver uninstall issue

Closes IDF-3129

See merge request espressif/esp-idf!13238
2021-05-31 08:16:21 +00:00
Michael (XIAO Xufeng)
aecf85e74b Merge branch 'update_copyright_notice_driver_part_2' into 'master'
driver: update copyright notice, part 2

See merge request espressif/esp-idf!13650
2021-05-31 07:52:19 +00:00
Michael (XIAO Xufeng)
4fac9668c8 Merge branch 'update_copyright_notice_driver_part_3' into 'master'
driver: update copyright notice, part 3

See merge request espressif/esp-idf!13651
2021-05-31 07:50:31 +00:00
Michael (XIAO Xufeng)
dd47340d0e Merge branch 'update_copyright_notice_driver_part_4' into 'master'
driver: update copyright notice, part 4

See merge request espressif/esp-idf!13652
2021-05-31 07:37:19 +00:00
Michael (XIAO Xufeng)
23d2d2768a Merge branch 'refactor/apply_general_check_to_timer' into 'master'
driver/timer: apply genral check

See merge request espressif/esp-idf!13746
2021-05-31 07:22:03 +00:00
Michael (XIAO Xufeng)
dd0c1c7d95 Merge branch 'bugfix/delete_i2c_cmd_mux_semaphore_more_cleanly' into 'master'
dreiver/i2c: delete i2c cmd_mux semaphore more cleanly

Closes IDFGH-5062

See merge request espressif/esp-idf!13399
2021-05-28 07:56:34 +00:00
laokaiyao
3a6043900d driver/timer: apply genral check 2021-05-27 15:52:19 +08:00
laokaiyao
b807f2a666 driver/i2c: add notes to i2c deleteing function 2021-05-27 12:43:22 +08:00
Michael (XIAO Xufeng)
cd5f4ad4c2 Merge branch 'refactor/apply_general_check_to_ledc' into 'master'
ledc: apply general check macro

See merge request espressif/esp-idf!13499
2021-05-26 07:21:50 +00:00
Andrey Starodubtsev
614f1c175a Fix couple of UART issues
- there was a small race in `uart_pattern_link_free`:
  `rx_pattern_pos.data` was accessed for reading outside spinlock
- `uart_flush_input` enabled
  `UART_INTR_RXFIFO_FULL|UART_INTR_RXFIFO_TOUT` intr mask on exit even
  if these flags weren't set when function was called

Closes https://github.com/espressif/esp-idf/pull/7023
2021-05-26 15:07:00 +08:00
Jan Brudný
690974e32f driver: update copyright notice 2021-05-25 17:43:57 +02:00
Jan Brudný
a93daccabe driver: update copyright notice 2021-05-24 02:02:15 +02:00
Jan Brudný
6667c5dc2a driver: update copyright notice 2021-05-24 01:53:34 +02:00
Jan Brudný
58f79e6b00 driver: update copyright notice 2021-05-24 01:06:17 +02:00
Michael (XIAO Xufeng)
2e4d3ad880 Merge branch 'feature/bringup_esp32s3beta_cmake_sdmmc' into 'master'
esp32s3: add sdmmc support

Closes IDF-1569

See merge request espressif/esp-idf!8304
2021-05-20 04:22:11 +00:00
Ivan Grokhotkov
38d902f544 Merge branch 'feature/gdbstubs_rt' into 'master'
Extension of GDBStub component for handling GDB by serial port at runtime.

See merge request espressif/esp-idf!10312
2021-05-18 17:14:51 +00:00
Michael (XIAO Xufeng)
8409485b22 Merge branch 'doc/fix_misleading_of_mcpwm_capture_enable_doc' into 'master'
driver/mcpwm: fix the misleading of mcpwm_capture_enable parameters

Closes IDFGH-3000

See merge request espressif/esp-idf!13497
2021-05-16 15:15:26 +00:00
bizhuangyang
31cdeb538d ledc: apply general check macro
Standardize LEDC_CHECK() and LEDC_ARG_CHECK() in ledc.c to ESP_RETURN_ON_FALSE() in esp_check.h.
2021-05-13 16:57:16 +08:00
Michael (XIAO Xufeng)
e941bc838c Merge branch 'feature/lcd_driver' into 'master'
esp_lcd component panel driver

Closes IDF-2933 and IDF-2934

See merge request espressif/esp-idf!12813
2021-05-13 04:29:07 +00:00
laokaiyao
e66f25caf2 driver/mcpwm: fix the misleading of mcpwm_capture_enable parameters
closes https://github.com/espressif/esp-idf/issues/5032
2021-05-13 12:23:19 +08:00
morris
270ed70f3e gdma: support reset dma fifo at runtime 2021-05-12 17:10:37 +08:00
Dmitry
7bb91f912c gdbstub component 2021-05-11 15:55:39 +03:00
laokaiyao
48c848a895 driver/ledc: support invert channel output 2021-05-11 11:54:16 +08:00
Ivan Grokhotkov
2c8f413059 driver: sdmmc: add esp32s3 support
* Extend sdmmc_slot_config_t with GPIO pin numbers for all SD bus
  signals. These new fields are available if SOC_SDMMC_USE_GPIO_MATRIX
  is set.
* Add shorter "sd" and "wp" aliases for "gpio_sd" and "gpio_wp" field
  names in sdmmc_slot_config_t.
* Deprecate sdmmc_host_pullup_en, prefer to enable this feature using
  SDMMC_SLOT_FLAG_INTERNAL_PULLUP instead.
2021-05-10 23:21:27 +02:00
Melissa LeBlanc-Williams
33e8d1e0b0 dreiver/i2c: delete i2c cmd_mux semaphore more cleanly
Merges https://github.com/espressif/esp-idf/pull/6848
2021-05-07 18:03:38 +08:00
Michael (XIAO Xufeng)
758238a8a1 Merge branch 'bugfix/separate_gdma_tx_rx_interrupt' into 'master'
gdma: separate tx/rx channel interrupt

Closes IDF-3181

See merge request espressif/esp-idf!13367
2021-05-06 16:38:44 +00:00
Ivan Grokhotkov
f67f7d6774 Merge branch 'bugfix/adc_channel_comment_typo' into 'master'
adc: fix typos in comments (Github PR)

Closes IDFGH-4774

See merge request espressif/esp-idf!13437
2021-05-06 11:49:58 +00:00
Ivan Grokhotkov
3717a318f6 Merge branch 'bugfix/gpio_isr_doc' into 'master'
gpio_isr_register(): Correct order of arguments in docs (Github PR)

Closes IDFGH-1780

See merge request espressif/esp-idf!13439
2021-05-06 11:49:34 +00:00
Alex Lisitsyn
ea6710ce98 soc/hal: add tinyusb support esp32s3
add usb hal/soc, usb_ll files and esp32s3 target for usb
move usb_hal.h into soc common folder
soc/hal: fix soc and periph for usb
tinyusb: fix tinyusb io header
hal: usb_ll fix pull up/down config for esp32s3
soc/hal: fix peripheral addresses
2021-05-06 16:20:54 +08:00
morris
6e981af406 gdma: separate tx/rx channel interrupt 2021-05-06 15:06:37 +08:00
Martin Thierer
75e0c6aaf5 gpio_isr_register(): Correct order of arguments in docs
Make documentation order consistent with function signature.

Merges https://github.com/espressif/esp-idf/pull/3999
2021-05-05 15:56:26 +02:00
Christian Winkler
13abf1ed2e Fix adc-channel typo
Merges https://github.com/espressif/esp-idf/pull/6577
2021-05-05 15:40:35 +02:00
Jakob Hasse
31bba67491 [driver]: removed redundant code in CMakeLists.txt 2021-04-27 18:07:44 +08:00
Michael (XIAO Xufeng)
fb1fd26caf Merge branch 'refactor/gdma_check_macro' into 'master'
gdma: replaced DMA_CHECK by ESP_GOTO_ON_FALSE

Closes IDF-3131

See merge request espressif/esp-idf!13208
2021-04-27 03:07:01 +00:00
Michael (XIAO Xufeng)
5997fcd45d Merge branch 'feature/update_adc_programming_guide_on_c3' into 'master'
adc: update esp32c3 programming guide

Closes IDF-2333

See merge request espressif/esp-idf!12563
2021-04-23 12:52:07 +00:00
laokaiyao
e0004dc443 gdma: replaced DMA_CHECK with ESP_GOTO_ON_FALSE and ESP_GOTO_ON_ERROR 2021-04-23 14:49:30 +08:00
Michael (XIAO Xufeng)
fdb8736a95 Merge branch 'feature/spi_slave_hd_segment_example' into 'master'
spi_slave_halfduplex: add an example for segment mode

Closes IDF-1699

See merge request espressif/esp-idf!10043
2021-04-23 03:23:25 +00:00
morris
d928cdd0b1 i2s: fix driver uninstall issue 2021-04-23 10:34:13 +08:00
Michael (XIAO Xufeng)
dfdc337e27 Merge branch 'bugfix/twai_caps_naming_and_tidy_up' into 'master'
Fix TWAI caps

Closes IDF-2456

See merge request espressif/esp-idf!13172
2021-04-23 02:21:47 +00:00
Armando
3177130256 adc: add adc programming guide on c3 2021-04-21 10:40:55 +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
54eb152a96 TWAI: Simply caps and remove unused caps 2021-04-16 18:36:18 +08:00
Marius Vikhammer
826b976ba5 timer: add IRAM_ATTR to spinlock give/take API
Closes https://github.com/espressif/esp-idf/issues/6824
2021-04-15 09:50:06 +08:00
Jiang Jiang Jian
1f54d17503 Merge branch 'bugfix/esp32c3_deep_sleep_gpio_wakeup_issue' into 'master'
deep sleep: fix sleep gpio wakeup fail issue

Closes WIFI-3474

See merge request espressif/esp-idf!13074
2021-04-14 06:36:40 +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)
f5f3c7143c Merge branch 'feat/c3_driver_api_cleanup_gpio' into 'master'
gpio, rtcio: removed unsupported features on different targets

See merge request espressif/esp-idf!13103
2021-04-13 06:51:33 +00:00
Michael (XIAO Xufeng)
54fdaa5986 Merge branch 'docs/spi_max_transfer_sz_limit' into 'master'
spi_docs: Fixed the default value of max_transfer_sz.

See merge request espressif/esp-idf!13000
2021-04-13 06:51:11 +00:00
Michael (XIAO Xufeng)
6ab5b9cbf9 gpio, rtcio: removed unsupported features on different targets 2021-04-13 13:21:08 +08: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
Li Shuai
2c2ae5aa0a deep sleep: fix sleep gpio wakeup fail issue 2021-04-09 11:35:32 +08: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
Michael (XIAO Xufeng)
e89fabb963 spi_docs: Fixed the default value of max_transfer_sz. 2021-04-01 14:59:29 +08:00
Angus Gratton
3c9e9a7704 Merge branch 'bugfix/renable_unit_tests' into 'master'
ci: enable previously disabled unit tests

See merge request espressif/esp-idf!12582
2021-04-01 03:23:22 +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
Marius Vikhammer
b4d2fb56a0 ci: enable previously disabled unit tests 2021-03-29 18:36:41 +08:00
Michael (XIAO Xufeng)
99aaebb5e4 Merge branch 'bugfix/adc_power_issue' into 'master'
adc: fix adc power issue

Closes IDF-2954, WIFI-3453, WIFI-3462, IDFGH-4439, and IDFGH-4887

See merge request espressif/esp-idf!12757
2021-03-29 07:31:43 +00:00
Michael (XIAO Xufeng)
bdaac823e3 Merge branch 'feature/spi_slave_hd_dual_test_for_segment_mode' into 'master'
spi slave hd: add a dual test for segment mode when master's transactions are too long

See merge request espressif/esp-idf!11176
2021-03-29 06:16:10 +00:00
Jiang Jiang Jian
72ddc6ee40 Merge branch 'bugfix/esp32c3_light_sleep_gpio_reset_issue' into 'master'
light sleep: add software workaround for esp32c3 gpio reset issue

See merge request espressif/esp-idf!12715
2021-03-29 04:55:55 +00: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
6f4d992ac7 adc: update lock scope on esp32c3 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
a5295af829 adc: update adc header files on c3 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
Li Shuai
b3bc27972e light sleep: add software workaround for esp32c3 gpio reset issue 2021-03-25 15:03:09 +08:00
Armando
026545b71e spi_slave_hd: add a dual-board test when master sends too long on
ESP32C3

This test can also be used between ESP32/S2/S3/C3.
2021-03-25 10:31:29 +08:00
Angus Gratton
04652619aa Merge branch 'bugfix/timer_divider_overflow' into 'master'
timer: removed downcasting when setting divider

Closes IDFCI-515

See merge request espressif/esp-idf!12840
2021-03-24 02:04:20 +00: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
Marius Vikhammer
2711c55dc6 timer: removed downcasting when setting divider
Dividers bigger than 65536 are already handled in ll,
so we shouldnt downcast it.
2021-03-23 11:05:16 +08:00
Jiang Jiang Jian
f38871b4b3 Merge branch 'bugfix/crash_on_enabling_verbose_logs' into 'master'
Fixes issue of crashing when verbose logs are enabled.

Closes WIFI-3423

See merge request espressif/esp-idf!12414
2021-03-22 12:52:29 +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
aditi_lonkar
e478d19b45 esp_wifi: Fixes issue of crashing when verbose logs are enabled. 2021-03-22 06:58:16 +00: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
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
ff65363ada mcpwm: configure gpio using by lookup table 2021-03-16 21:54:00 +08:00
morris
f5ca47c0fc mcpwm: rename macros related to soc capbility 2021-03-16 21:53:59 +08:00
Armando
dd8076acf4 spi: update slv dual board test for ci due to no pullup resistor on io10 on c3 2021-03-16 15:28:17 +08:00
fuzhibo
6b361ed70f fix: reduce the consumption of touch sensor during deep sleep 2021-03-15 03:59:54 +00:00
Armando
0fb93c3726 spi_master: fix cmd test ci failure 2021-03-15 11:31:38 +08:00
Michael (XIAO Xufeng)
23eff08638 Merge branch 'feature/gpio_esp32c3_add_deprecated_header' into 'master'
Added missing ESP32-S3 target for /rom/gpio.h include

Closes IDFGH-4870

See merge request espressif/esp-idf!12648
2021-03-12 07:49:30 +00:00
Seon Rozenblum
dd2a8e330b Added missing ESP32-S3 target for /rom/gpio.h include
I know this is being depreciated in 5, but we need it working for S3 in 4.x :)

Closes https://github.com/espressif/esp-idf/pull/6666
2021-03-08 17:54:16 +08:00
William Ferguson
13bc5feb0a [cxx]: fixed extern "C" declarations
* Moving #includes above
  #ifdef __cplusplus extern "C" { #endif
  So that we can compile with CPP.

Signed-off-by: Jakob Hasse <jakob.hasse@espressif.com>

Merges https://github.com/espressif/esp-idf/pull/6634
2021-03-08 14:11:33 +08:00
Angus Gratton
c68f869411 driver: Remove some stray __FILE__ macros
Related to https://github.com/espressif/esp-idf/issues/6306
2021-03-03 10:26:57 +11: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
Cao Sen Miao
a8343bc470 esp_system: support gpio wakeup from deep sleep on esp32c3 2021-02-26 12:26:49 +08:00
Marius Vikhammer
06abe3413f temp_sensor: fix broken include path 2021-02-26 10:25:05 +08:00
Angus Gratton
501af6dfa2 Merge branch 'feature/secure_boot_revoke_check' into 'master'
secure_boot: Checks secure boot efuses

Closes IDF-2609

See merge request espressif/esp-idf!12148
2021-02-25 22:38:42 +00:00
morris
efa92cb204 rmt: support invert RMT signal by GPIO matrix 2021-02-25 12:42:23 +08:00
morris
7b37158ede rmt: distinguish group and channel in HAL layer 2021-02-25 12:42:23 +08:00
Angus Gratton
a0eb455ec3 Merge branch 'refactor/misc_move_from_esp_common' into 'master'
Movements from esp_common

Closes IDF-1947

See merge request espressif/esp-idf!9692
2021-02-24 23:16:52 +00:00
Michael (XIAO Xufeng)
2f78b2e46f Merge branch 'bugfix/fix_spi_slv_hd_dma_reset_issue' into 'master'
spi_slave_hd: fix dma reset issue

See merge request espressif/esp-idf!12275
2021-02-24 12:41:33 +00:00
Renz Bagaporo
5e8799bbfe esp_common: move some headers 2021-02-24 12:16:37 +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
9f1c82d547 gdma: fix wrong level of {group,pair} ref count 2021-02-24 11:38:57 +08:00
Cao Sen Miao
85855ad8a6 temp_sensor: add calibration for esp32c3 2021-02-23 10:48:17 +08:00
KonstantinKondrashov
90f2d3199a secure_boot: Checks secure boot efuses
ESP32 V1 and V2 - protection bits.
ESP32xx V2: revoke bits, protection bits

- refactor efuse component
- adds some APIs for esp32 chips as well as for esp32xx chips
2021-02-23 03:56:21 +08:00
Omar Chebib
727481d71c gpio: enable GPIO19 on ESP32C3 boards 2021-02-22 08:44:55 +00:00
Armando
889de9ebd9 spi: add enum for spi dma channels 2021-02-22 07:06:05 +00:00
Armando
d0415bd8f6 spi: remove hard-coded DMA chan in soc_caps.h 2021-02-22 07:06:05 +00:00
Armando
db3bf8b544 spi: refactor spi_common dma allocator 2021-02-22 07:06:05 +00:00
Armando
c8d9ed1f3d spi: update unit tests to spi gdma 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
Armando
2e670bf6af spi: add dma channel auto-alloc feature on esp32 2021-02-22 07:06:05 +00:00
Armando
5427c18781 adc: apply gdma api to adc on esp32c3 2021-02-08 11:41:21 +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)
09b827b2c8 Merge branch 'feature/spi_slave_double_board_test_for_slave_transaction' into 'master'
spi slave: add a double board test for esp32c3 relating to sending/receiving unaligned data

See merge request espressif/esp-idf!11153
2021-02-05 00:51:24 +08:00
Michael (XIAO Xufeng)
67779e8e25 Merge branch 'docs/spi_mode' into 'master'
spi: add explaination to the modes

See merge request espressif/esp-idf!12251
2021-02-04 23:00:28 +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
Michael (XIAO Xufeng)
586dd7d7cd spi: add explaination to the modes 2021-02-03 21:56:53 +08:00
Michael (XIAO Xufeng)
a2aa349dcc adc: fixed the issue adc_gpio_init doesn't support ADC_UNIT_BOTH 2021-02-03 20:55:58 +08:00
Michael (XIAO Xufeng)
c4346abfb7 Merge branch 'feature/i2c_master_cmd_begin_const' into 'master'
i2c: modify internal impl to ensure the cmd will not be modified

See merge request espressif/esp-idf!12153
2021-02-01 11:18:02 +08:00
Michael (XIAO Xufeng)
9ff04b2e79 Merge branch 'feature/musical_buzzer' into 'master'
RMT example: musical buzzer

See merge request espressif/esp-idf!10346
2021-01-28 01:04:24 +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)
baedf7c9bb Merge branch 'bugfix/potential_cocurrency_issue_in_gdma' into 'master'
gdma: fix potential cocurrency issue

Closes IDF-2646

See merge request espressif/esp-idf!12001
2021-01-27 15:07:35 +08: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
Michael (XIAO Xufeng)
31955fd7ea i2c: modify internal impl to ensure the cmd will not be modified
related to: https://github.com/espressif/esp-idf/issues/5108
2021-01-27 01:31:49 +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
Michael (XIAO Xufeng)
c257daa950 wifi: run adc2 calibration on C3 2021-01-25 15:08:50 +08:00
Armando
f5f0461264 tmpsensor: add temp_sensor.h for c3 2021-01-25 04:51:40 +00: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)
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
271c97149d rtc_tmpsensor: remove redundant semaphore on c3 2021-01-25 04:51:40 +00:00
Angus Gratton
feb293797f driver: esp32c3 rtc_tempsensor compile fixes 2021-01-25 04:51:40 +00:00
fuzhibo
33647c7cd4 update temperature Sensor driver for esp32c3 2021-01-25 04:51:40 +00:00
Angus Gratton
a5fb7deda5 driver: Update/cleanup esp32c3 rtc_tempsensor.c 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
Cao Sen Miao
4e6e34e3ad adc_i2s: solve the i2s_adc issue when using wifi 2021-01-25 04:51:40 +00:00
Ivan Grokhotkov
abe94e3b53 adc: add adc_power_acquire/release, deprecate adc_power_on/off 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
b38f4646de adc_digi: add dma drivers 2021-01-25 04:51:40 +00:00
Jiang Jiang Jian
76bb9565af Merge branch 'bugfix/fix_wifi_interface_use' into 'master'
esp_wifi: Modify ESP_IF_WIFI_STA to WIFI_IF_STA

See merge request espressif/esp-idf!12050
2021-01-25 12:18:27 +08: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
d4b9198f05 mcpwm: fix second fault line broken
Closes: https://github.com/espressif/esp-idf/issues/6053
2021-01-22 16:18:37 +08:00
Armando
0538dc2d93 spi_slave_hd: add DMA Append Mode feature 2021-01-21 18:53:53 +08:00
Angus Gratton
cfdd7f0f22 Merge branch 'feature/c3_crypto_gdma' into 'master'
AES/SHA: GDMA crypto driver

Closes IDF-2192 and IDF-2501

See merge request espressif/esp-idf!12014
2021-01-20 16:42:39 +08:00
Jiang Jiang Jian
26ae354dc5 Merge branch 'feature/support_esp32c3_lightsleep_master' into 'master'
support esp32c3 lightsleep for master

Closes IDF-2106

See merge request espressif/esp-idf!11975
2021-01-20 16:00:06 +08:00
Krzysztof Budzynski
08815671e0 Merge branch 'bugfix/adc_full_scale_voltages' into 'master'
docs: Update full-scale voltages for ESP32-S2 chip

Closes DOC-578

See merge request espressif/esp-idf!11214
2021-01-19 16:03:53 +08:00
Li Shuai
6d12fdd6e7 light sleep: add gpio configure workaround at slept status for esp32c3 2021-01-19 14:51:22 +08:00
Krzysztof
6df6123ff6 docs: Update full-scale voltages for ESP32-S2 chip 2021-01-19 14:47:17 +08:00
xiehang
b8a8fe3f54 esp_wifi: Modify ESP_IF_WIFI_STA to WIFI_IF_STA 2021-01-19 11:55:44 +08:00
Marius Vikhammer
51169b0e0c AES/SHA: use GDMA driver instead of LL 2021-01-19 11:02:51 +08:00
ninh
659d805411 esp_wifi: light sleep optimization 2021-01-18 15:31:03 +08:00
ninh
27aa6c289f components/pm: Add slp gpio configure workaround 2021-01-15 15:34:45 +08:00
morris
467d44970e rmt: support setting loop count at runtime 2021-01-14 21:26:04 +08:00
morris
914ba4914a gdma: fix potential cocurrency issue
Alloc handle memory first then hook, we can benifit:
1. Don't have to do malloc in a critical section
2. Don't have to do esp_intr_free in a critical section
2021-01-14 20:37:36 +08:00
Marius Vikhammer
0713e93b8f TWAI: bringup for S3 and C3 2021-01-14 20:30:31 +08:00
Michael (XIAO Xufeng)
ea996df725 Merge branch 'feature/rmt_support_user_context_in_translator' into 'master'
rmt: support user context in translator

Closes IDFGH-4135 and IDFGH-3237

See merge request espressif/esp-idf!10894
2021-01-14 19:26:26 +08:00
morris
95e712039c rmt: add workaround to get user context in a graceful way 2021-01-14 11:01:41 +08:00
Michael (XIAO Xufeng)
2d3f22918f Merge branch 'feature/gdma_channel_allocator' into 'master'
gdma channel allocator

Closes IDF-2124

See merge request espressif/esp-idf!11570
2021-01-14 10:52:49 +08:00
Nishanth Samala
21bb6f2334 rmt: support rmt user context in translator
Merges https://github.com/espressif/esp-idf/pull/6002
2021-01-14 10:51:25 +08:00
Angus Gratton
f683db7aea Merge branch 'feature/c3_IDF-2554' into 'master'
global: Uses CCOUNT API instead of XTHAL macro

Closes IDF-2554

See merge request espressif/esp-idf!11954
2021-01-13 12:55:21 +08:00
Angus Gratton
9769be3fde Merge branch 'bugfix/fix_sign_compare' into 'master'
global: fix sign-compare warnings for system level components

See merge request espressif/esp-idf!11252
2021-01-13 12:45:05 +08:00
morris
e6d23a35ec gdma: dynamic alloc DMA channels 2021-01-13 10:52:27 +08:00
KonstantinKondrashov
dada7cd035 global: Uses CCOUNT API instead of XTHAL macro 2021-01-12 16:24:23 +08:00
morris
753a929525 global: fix sign-compare warnings 2021-01-12 14:05:08 +08:00
Armando
2bc1442351 spi_slave: add a dual board test of sending/receiving unalinged data on
esp32c3

This test can also be used between ESP32/S2/S3/C3.
2021-01-05 21:26:53 +08:00
Armando
23d08fbe85 spi_master: add a test for HD master to receive data correctly via dma
Issue Description:
If master is in HD mode, if it sends data without receiving data,
it will still enable the RX DMA because of old version ESP32 silicon issue.
And because there is no correctly linked RX DMA descriptor,
an inlink_dscr_error intr will be seen, which will influence the following RX transactions.

This issue is only found on ESP32.
2021-01-05 19:32:46 +08:00
fuzhibo
e51a7a6b6f driver: update touch sensor apis 2021-01-05 03:11:58 +00:00
Marius Vikhammer
68608f804c esp32c3: Misc fixes needed to build & run 2020-12-31 15:20:05 +11:00
Mahavir Jain
7d387cf65e Merge branch 'fix/i2c_pm_lock' into 'master'
i2c: Acquire PM lock after acquiring mutex

See merge request espressif/esp-idf!11704
2020-12-30 15:44:34 +08:00
Ivan Grokhotkov
7f3b16a99d freertos: always enable static allocation
to use it for newlib locks
2020-12-29 16:18:04 +01:00
Angus Gratton
c3ba995f2c Merge branch 'ci/ccomp_performance_tests' into 'master'
unit_test: Refactor all performance tests that rely on cache compensated timer

See merge request espressif/esp-idf!11709
2020-12-24 13:44:52 +08:00
Angus Gratton
1cc206f393 driver: Only build dedic_gpio driver on supported chips 2020-12-23 09:53:24 +11:00
Armando
2d37bfa126 driver: Add adc_digi single conversion mode
- add lock for single read and continuous read APIs
- update onetime read start singal delay for hardware limitation[*]
- move adc_caps to soc_caps.h
- update license dates

[*] There is a hardware limitation. If the APB clock frequency is high, the
step of this reg signal: ``onetime_start`` may not be captured by the
ADC digital controller (when its clock frequency is too slow). A rough
estimate for this step should be at least 3 ADC digital controller
clock cycle.
2020-12-23 09:53:24 +11:00
Angus Gratton
8e0d423a5e driver: Add rtc_io hold/wakeup c3 support
Temporary implementation, should be moved to HAL

Copied from internal commit 3ef01301ff
2020-12-23 09:53:24 +11:00
Angus Gratton
f09b8ae7a4 driver: Add esp32c3 ADC driver
Based on internal commit 3ef01301fffa552d4be6d81bc9d199c223224305
2020-12-23 09:53:24 +11:00
Angus Gratton
27a9cf861e driver: Add esp32c3 drivers (except ADC/DAC) and update tests
Some ESP32-C3 drivers are still pending.

Based on internal commit 3ef01301fffa552d4be6d81bc9d199c223224305
2020-12-23 09:53:24 +11:00
Marius Vikhammer
0a95151a75 unit_test: Refactor all performance tests that rely on cache compensated timer
There is no ccomp timer on C3, which means our performance tests will start
failing again due to variance caused by cache misses.

This MR adds TEST_PERFORMANCE_CCOMP_ macro that will only fail
performance test if CCOMP timer is supported on the target
2020-12-22 18:56:24 +11:00
Sachin Parekh
6e1f53bce3 i2c: Acquire PM lock after acquiring mutex 2020-12-22 00:50:19 +05:30
Michael (XIAO Xufeng)
04d6b115ae adc: fixed efuse called in critical section issue 2020-12-08 17:41:49 +08:00
Michael (XIAO Xufeng)
f174cc35a8 Merge branch 'test/disable_sdio_single_core_tests' into 'master'
ci: disable some sdio_slave tests on single core config

Closes IDFCI-233 and IDFCI-240

See merge request espressif/esp-idf!11492
2020-12-08 11:48:13 +08:00
Cao Sen Miao
d6f0b4af6f adc_i2s: solve the i2s_adc issue when using wifi 2020-12-07 10:45:04 +08:00
Ivan Grokhotkov
d890a516a1 driver: add notes about GPIO36/39 issue (ECO 3.11) workaround
Closes IDFGH-1917
Closes https://github.com/espressif/esp-idf/issues/4117
2020-12-07 10:45:04 +08:00
Ivan Grokhotkov
a4f81d0bd3 adc: add adc_power_acquire/release, deprecate adc_power_on/off 2020-12-07 10:45:04 +08:00
Michael (XIAO Xufeng)
a579011584 ci: disable some sdio_slave tests on single core config 2020-12-07 10:15:35 +08:00
Wu Bo Wen
5cc329b9d0 driver/adc: support for esp32s2 adc calibration scheme V2
notice that the o_code is now pulled from efuse instead of automatically calibrated. This may influence other parts of the system.

Closes https://github.com/espressif/esp-idf/issues/5455
2020-12-03 20:08:59 +08:00
Angus Gratton
337985de04 driver: Simplify spi dma peripheral enable/disable logic 2020-12-01 10:58:50 +11:00
Angus Gratton
beb75b13f2 driver test: Use regular target guards for single-target test files 2020-12-01 10:58:50 +11:00
Angus Gratton
5228d9f9ce esp32c3: Apply one-liner/small changes for ESP32-C3 2020-12-01 10:58:50 +11:00
Michael (XIAO Xufeng)
a3b59aeeb5 Merge branch 'bugfix/clk_allocator' into 'master'
I2C: Fix logic issue on i2c clk allocator

See merge request espressif/esp-idf!11343
2020-11-26 18:18:52 +08:00
Cao Sen Miao
31afe8109f i2c: Fix bug on i2c clk allocator 2020-11-25 14:26:37 +08:00
Armando
05a4a8d864 uart: seperate sclk and baudrate setting 2020-11-24 19:12:52 +08:00
Armando
fb8b905539 uart: add uart support on esp32s3 2020-11-24 19:12:51 +08:00
Michael (XIAO Xufeng)
af992c26bc Merge branch 'bugfix/fix_x32k_startup_slow_bug' into 'master'
bugfix: Fix xtal 32k not oscillate or oscillate too slowly issue for esp32

See merge request espressif/esp-idf!10519
2020-11-24 17:37:29 +08:00
chaijie
a48b5246cc ESP32: Fix xtal 32k not oscillate or oscillate too slowly issue
ESP32 in revision0 and revision1 uses touchpad to provide
current to oscillate xtal 32k. But revision2 and revision3
do not need to do that.
Note: touchpad can not work and toupad/ULP wakeup sources
are not available when toupad provides current to xtal 32k
2020-11-23 19:38:11 +08:00
Chen Yi Qun
579b842fd6 Driver(ADC): remove ESP_LOGD from adc_set_init_code
ESP_LOGD is called from adc_set_init_code, which is invoked from a critical section.

Closes: https://github.com/espressif/esp-idf/issues/6091
2020-11-20 07:10:09 +00:00
fuzhibo
9162f23c2e bugfix(dac): fix testcase fail for dac 2020-11-17 12:23:12 +00:00
morris
b7ecccd901 test: fix several test build error 2020-11-16 13:30:49 +08:00
Cao Sen Miao
6eee601cf6 i2c: Add supports on esp32s3 2020-11-12 11:32:45 +08:00
Angus Gratton
66fb5a29bb Whitespace: Automated whitespace fixes (large commit)
Apply the pre-commit hook whitespace fixes to all files in the repo.

(Line endings, blank lines at end of file, trailing whitespace)
2020-11-11 07:36:35 +00:00
Angus Gratton
e82eac4354 cmake: Apply cmakelint fixes 2020-11-11 07:36:35 +00:00
Michael (XIAO Xufeng)
2e90bf6b15 Merge branch 'bugfix/spi_slave_remove_debug_code' into 'master'
spi_slave: remove debug code

Closes IDFGH-4161

See merge request espressif/esp-idf!10975
2020-11-09 12:26:22 +08:00
Angus Gratton
3882c2b8ed Merge branch 'feature/bringup_esp32s3_fpga_update_rmt_driver' into 'master'
rmt: support esp32s3

Closes IDF-1773

See merge request espressif/esp-idf!10292
2020-11-07 07:15:53 +08:00
Michael (XIAO Xufeng)
d7ce8a537f Merge branch 'feature/bringup_esp32s3_fpga_rtc_sleep' into 'master'
feature (rtc): update rtc related code(rtc_sleep rtc_init) to support esp32s3

See merge request espressif/esp-idf!10404
2020-11-05 19:19:36 +08:00
morris
1be923acb4 rmt: rename always_on to aware_dfs 2020-11-05 19:00:55 +08:00
morris
ff976867b3 rmt: split TX and RX in LL driver
Split TX and RX function in LL driver.
Channel number is encoded in driver layer.
Added channel signal list in periph.c
2020-11-05 19:00:55 +08:00
chenjianqiang
9465af0066 rmt: support esp32s3 2020-11-05 19:00:55 +08:00
fuzhibo
93c7cf094e rtc: update rtc related code(rtc_sleep rtc_init) to support esp32s3 2020-11-04 02:43:41 +00:00
morris
bc8b56cef7 timergroup: refactor unit test to better support future chip 2020-11-03 18:16:50 +08:00
morris
e4c8ec6174 timergroup: move interrupt index into peripheral description file
1. Added timer_group_periph.c file, describing module global signals
   (e.g. interrupt index)
2. Added more caps in soc_caps.h
2020-11-03 18:16:50 +08:00
morris
17808b3ff8 sigma_delta: add periph signal list and support esp32-s3 2020-10-29 11:06:28 +08:00
Michael (XIAO Xufeng)
12249dcb09 spi_master: fix the error log when use tx/rx_data with larger data 2020-10-27 23:34:03 +08:00
Michael (XIAO Xufeng)
9a394e1aa0 Merge branch 'feature/spi_bringup_esp32s3' into 'master'
spi: bringup on esp32s3

See merge request espressif/esp-idf!10107
2020-10-27 00:51:42 +08:00
Michael (XIAO Xufeng)
bcb5c3506d Merge branch 'feature/dedicated_gpio' into 'master'
Dedicated GPIO driver on ESP32-S2 and ESP32-S3

Closes IDF-1672

See merge request espressif/esp-idf!8716
2020-10-26 15:33:33 +08:00
Armando
f7e91ef6c1 spi: esp32s3 bringup for spi 2020-10-26 11:28:34 +08:00
Armando
5a3cca8f67 spi_slave: remove debug code
Closes https://github.com/espressif/esp-idf/pull/6023
2020-10-26 10:59:33 +08:00
Michael (XIAO Xufeng)
b744c14a8a Merge branch 'bugfix/spi_slave_fix_cs_num_crash' into 'master'
spi_slave: fix crash issue when cs is set to -1

Closes IDFGH-3885

See merge request espressif/esp-idf!10414
2020-10-22 22:36:21 +08:00
morris
bb1369b922 dedicated gpio: add driver 2020-10-20 21:06:09 +08:00
Michael (XIAO Xufeng)
2e681f4cb5 Merge branch 'bugfix/fix_rs485_ut_fail' into 'master'
Bugfix/fix RS485 ut fail

See merge request espressif/esp-idf!9448
2020-10-19 16:17:23 +08:00
Alex Lisitsyn
8737584789 Bugfix/fix RS485 ut fail 2020-10-19 16:17:19 +08:00
morris
906dd0ad84 pcnt: replace isr register with isr service in example 2020-10-19 11:56:18 +08:00
morris
153e819e8a pcnt: add rotary encoder example 2020-10-19 11:56:18 +08:00
morris
74d78148bc pcnt: add pcnt peripheral signal connections
pcnt: fix bug in clear interrupt status
2020-10-19 11:56:18 +08:00
Claudio Jeker
669331d0c4 pcnt: properly clear interrupt status in pcnt_intr_service
status is 0 when pcnt_hal_clear_intr_status() is called and so the
interrupt will be triggered immediatly again. Store the original
status and pass this as mask to pcnt_hal_clear_intr_status().

Merges https://github.com/espressif/esp-idf/pull/5929
2020-10-19 11:08:06 +08:00
Michael (XIAO Xufeng)
c0887582a2 adc_test: fix the failure caused by low expected middle value 2020-10-18 10:32:04 +08:00
Michael (XIAO Xufeng)
1966f00f0b soc: updates caps usage
We should define caps as 1 if true. When use the caps macros, #if and
 #if ! should be used instead of #ifdef/#ifndef.
2020-10-17 16:10:17 +08:00
Michael (XIAO Xufeng)
647dea9395 soc: combine xxx_caps.h into one soc_caps.h
During HAL layer refactoring and new chip bringup, we have several
caps.h for each part, to reduce the conflicts to minimum. But this is
The capabilities headers will be relataive stable once completely
written (maybe after the featues are supported by drivers).

Now ESP32 and ESP32-S2 drivers are relative stable, making it a good
time to combine all these caps.h into one soc_caps.h

This cleanup also move HAL config and pin config into separated files,
to make the responsibilities of these headers more clear. This is
helpful for the stabilities of soc_caps.h because we want to make it
public some day.
2020-10-17 16:10:15 +08:00
Michael (XIAO Xufeng)
ecca44df93 Merge branch 'bugfix/fix_adc-dma_reading_gap_for_esp32' into 'master'
bugfix(adc): missing ranges of ADC-DMA codes in ESP32

Closes DIG-53

See merge request espressif/esp-idf!10521
2020-10-16 23:02:35 +08:00
Angus Gratton
67baa8371a Merge branch 'feature/rename_analog_i2c_files' into 'master'
feature(rtc): rename i2c_xxx to regi2c_xxx

See merge request espressif/esp-idf!10672
2020-10-15 11:16:14 +08:00
Angus Gratton
3a959ca3e3 Merge branch 'bugfix/ci_driver_gpio_config_s2' into 'master'
driver test: Don't use ESP32-S2 CS1 pin for output test

Closes IDFCI-112

See merge request espressif/esp-idf!10835
2020-10-15 06:28:20 +08:00
fuzhibo
6773df88f2 feature(rtc): rename i2c_xxx to regi2c_xxx 2020-10-14 21:15:24 +08:00
Angus Gratton
ba3a6f68b4 driver test: Don't use ESP32-S2 CS1 pin for output test
On a ESP32-S2 with PSRAM attached, this may cause a crash
2020-10-14 16:18:55 +11:00
Felipe Neves
3057b76a7e tests: re-add all disabled tests and all disabled configurations 2020-10-14 16:11:49 +11:00
Felipe Neves
f3783ba258 app_trace/sysview: fixed freertos tracing calling plus sync apptrace component with the master branch version
docs: remove reference to backported features in freertos 10 api-reference.
2020-10-13 23:52:03 +00:00
Felipe Neves
bd9b921713 heap_tlsf: added implementation of TLSF allocator
heap: ported tlsf allocator into multi heap

heap_host_tests: added tlsf allocator into host test

heap_host_test: update freebytes after using free

heap_tests: tlsf now passing on host tests without poisoning

multi_heap: added support for memalign using tlsf implementation

heap_caps: removed heap_caps_aligned_free

heap/test: fixed broken aligned alloc test build

heap: added poisoning pattern when blocks are being merged

heap/tests: added timing tests for memory allocation

heap: reduced tlsf structure overhead

heap/tlsf: made all short functions inside of tlsf  module as inline to improve timings

heap: moved tlsf heap routines outside of flash memory

newlib: linked multiheap memalign with newlib memalign function

heap: moved block member functions to a separate file so multi_heap can use the functions

heap/test: improved the tlsf timing test

heap/test: added memalign on aligned alloc tests

heap: moved tlsf configuration constants to a separated file

heap: added random allocations test with timings

heap: modified the calculation of heap free bytes

heap: make aligned free true deprecated functions and update their documentation

heap: add extra assert after successive mallocs on small allocation host test

heap: remove legacy aligned alloc implementation.

performance: added malloc and free time performance default values
2020-10-13 23:52:03 +00:00
Michael (XIAO Xufeng)
fc7433d610 Merge branch 'feature/twai_isr_runs_with_cache_disabled' into 'master'
TWAI: ISR runs when cache is disabled

See merge request espressif/esp-idf!9920
2020-10-12 20:18:36 +08:00
fuzhibo
9cd5e6f8c9 bugfix(adc): missing ranges of ADC codes in ESP32 2020-10-12 07:41:03 +00:00
Darian Leung
4c57f50fe4 TWAI: ISR runs when cache is disabled
This commit adds the feature where the TWAI ISR will continue to
run even if the cache is disabled. Whilst cache is disabled, any
received messages will go into the RX queue, and any pending TX
messages in the TX queue will be transmitted. This feature should
be enabled using the CONFIG_TWAI_ISR_IN_IRAM option.
2020-10-10 14:19:32 +08:00
Ivan Grokhotkov
8c246fd4f3 driver: add diagnostic information into UART test, enable flow control 2020-10-02 17:33:35 +02:00
Armando
1393520e78 spi_slave: fix crash issue caused by setting cs to -1
Setting cs num to -1 means cs pin is not connected. But passing the value -1 to the
spicommon_cs_initialize() will lead to program crash caused by "array index out
of bounds". We expect the driver to execute well but the driver should not be in
charge of users' behaviour, so this commit prevents the crash.

https://github.com/espressif/esp-idf/issues/5784
2020-09-30 11:40:52 +08:00
Michael (XIAO Xufeng)
c7264f04c6 Merge branch 'bugfix/fix_incorrect_i2s_pdm_clk_issue' into 'master'
Bugfix(I2S):  Fix I2S PDM clock incorrect issue when using APLL.

Closes IDFGH-3423 and IDFGH-3106

See merge request espressif/esp-idf!9101
2020-09-28 11:35:31 +08:00
Renz Bagaporo
6462f9bfe1 esp32, esp32s2: create esp_pm component 2020-09-25 05:24:10 +00:00
Michael (XIAO Xufeng)
4b95f7efa8 Merge branch 'feature/spi_dma_hal_ll_refactor' into 'master'
spi: refactor DMA ll layer functions

Closes IDFGH-3538 and IDFGH-2555

See merge request espressif/esp-idf!9929
2020-09-23 15:32:41 +08:00
morris
9fa06719fa global: enable build uinit test for esp32-s3 2020-09-22 15:15:03 +08:00
morris
61f89b97c6 bringup esp32-s3 on FPGA 2020-09-22 15:15:03 +08:00
Armando
59e350b195 spi: seperate the pointer for the TX and RX DMA 2020-09-21 20:33:56 +08:00
Armando
27a6f2666a spi_master: refactor hal context structures
This commit seperates the hal context into different configuration
structures based on their members' definitions. Through refactoring
spi_master.c, the device related configuration should be passed in and
set each time before a new transaction. The transaction related
configuration now is a local variable in case of the fact that error
occurs without any notice when user forgets to pass new transaction
configuration in (which means the old driver will use the trans_config
that is saved from last transaction).

Besides, via above refactor, this commit fixs a bug which leads to
wrong cs polarity setting.
Closes https://github.com/espressif/esp-idf/pull/5490

Moreover, via above refactor, this commit also fixs a bug about duplex
mode switching when multiple devices are added to the bus.
Closes https://github.com/espressif/esp-idf/issues/4641
2020-09-21 20:32:41 +08:00
Michael (XIAO Xufeng)
286ccc600e Merge branch 'bugfix/spi_slave_hd_callback_judge' into 'master'
spi_slave_hd: Prevent NULL callback from being called

See merge request espressif/esp-idf!9998
2020-09-14 22:43:33 +08:00
Michael (XIAO Xufeng)
b65d3e51aa Merge branch 'bugfix/add_return_in_uart_wait_tx_done' into 'master'
bugfix(UART): Add return in uart_wait_tx_done

See merge request espressif/esp-idf!10193
2020-09-14 10:37:17 +08:00
Ivan Grokhotkov
b6467257b9 Merge branch 'feature/cmock_component' into 'master'
cmock as component replacing unity

See merge request espressif/esp-idf!9859
2020-09-10 16:06:20 +08:00
Chen Yi Qun
b9a0d509a2 UART: Add return in uart_wait_tx_done
uart_wait_tx_done quit due to timeout but without return ESP_ERR_TIMEOUT.
2020-09-08 02:45:14 +00:00
Zhang Hu
6a5faa0fd7 Driver(I2S): Fix I2S PDM clock incorrect issue when using APLL.
closes https://github.com/espressif/esp-idf/issues/5127

closes https://github.com/espressif/esp-idf/issues/5386
2020-09-07 08:08:22 +00:00
Michael (XIAO Xufeng)
4941cf58d0 Revert "ci: temporarily disable RS485 related tests"
This reverts commit 983220e216
2020-09-04 12:57:08 +08:00
Michael (XIAO Xufeng)
91af5eaf4f Merge branch 'refactor/twai_hal_state' into 'master'
Refactor TWAI HAL to store state information

Closes IDF-1633

See merge request espressif/esp-idf!9789
2020-09-03 23:22:30 +08:00
Wu Bo Wen
658b56a690 doc/adc: modifications in the adc documentation and adc headers 2020-09-02 11:30:48 +00:00
Jakob Hasse
20c068ef3b cmock: added cmock as component
* changing dependencies from unity->cmock
* added component.mk and Makefile.projbuild
* ignore test dir in gen_esp_err_to_name.py
* added some brief introduction of CMock in IDF
2020-09-02 16:38:37 +08:00
Darian Leung
7398390049 TWAI: Track HW state in HAL
This commit refactors the TWAI HAL such that it
now tracks  harwdare state instead of the driver
layer. Some HAL and LL cleanup was also done.
2020-09-02 13:03:41 +08:00
Armando
d3d4dd9357 spi_slave_hd: fix issue with adding callback calling judgement 2020-09-02 03:20:42 +00:00
Ivan Grokhotkov
fdba279970 Merge branch 'ci/adc_calib_test_failures' into 'master'
bugfix/CI: fix for adc-calib test failures

See merge request espressif/esp-idf!10215
2020-09-02 03:05:27 +08:00
Wu Bo Wen
a8b5592762 ci: quick fix for adc-calib failures 2020-09-01 14:01:58 +08:00
Michael (XIAO Xufeng)
5425ef4ee4 hal: extract hal component from soc component 2020-09-01 13:25:32 +08:00
Michael (XIAO Xufeng)
2b323e7180 Merge branch 'bugfix/fix_dac_driver_ut' into 'master'
Driver(dac): fix DAC-DMA driver and unit test

Closes IDF-1407

See merge request espressif/esp-idf!8814
2020-08-31 00:05:34 +08:00
fuzhibo
0914dfbb6a dfiver(dac): add dac dma driver and unit test 2020-08-26 06:23:24 +00:00
fuzhibo
bd92e95160 driver(adc): add adc-dma code for esp32 2020-08-26 03:54:02 +00:00
Armando
fc6010c959 spi_master: add dummy check when both mosi and miso are set
Closes https://github.com/espressif/esp-idf/issues/2715
2020-08-18 10:30:30 +08:00
Armando
e58ce2141d spi_master: rename the hal layer function that calculates clock and timing 2020-08-17 17:04:07 +08:00
Michael (XIAO Xufeng)
ceb690886e Merge branch 'feature/esp32s2_adc_calib_V1' into 'master'
driver/adc: support for esp32s2 adc calibration scheme (RTC High Priority)

Closes IDFGH-3500

See merge request espressif/esp-idf!10004
2020-08-14 13:42:39 +08:00
Wu Bo Wen
6a0951ecb2 driver/adc: support for esp32s2 adc calibration scheme
ESP32 lets the user choose from using Vref, Lookup Table, and Two-Point Calibration. In ESP32S2 only two-point calibration is supported. This commit support these changes in idf.

Closes https://github.com/espressif/esp-idf/issues/5455
2020-08-13 17:27:03 +08:00
Michael (XIAO Xufeng)
3b617dd94c Merge branch 'bugfix/fix_bugs_in_rtcio_unit_test' into 'master'
bugfix(ut): fix rtcio pullup/pulldown and rtcio hold unit test

Closes IDFCI-96

See merge request espressif/esp-idf!10015
2020-08-12 11:21:34 +08:00
Chen Yi Qun
f9b167103f bugfix(ut): fix rtcio pullup/pulldown and rtcio hold unit test 2020-08-11 18:43:54 +08:00
Darian Leung
fdbda1ce78 TWAI: Simplify caps header
This commit simplies the defines made in the _caps.h header. Kconfig
option dependencies were moved into the LL, and the check for a
valid BRP has bee simplified.
2020-08-10 17:01:32 +08:00
Michael (XIAO Xufeng)
37cd6249d8 Merge branch 'bugfix/remove_FILE_from_log_messages' into 'master'
bugfix: remove __FILE__ from log messages

Closes IDFGH-3709 and IDFGH-3712

See merge request espressif/esp-idf!9852
2020-08-10 11:43:38 +08:00
dongyou
97ae87df41 wifi, bt: move esp_phy_common_clock_disable into periph_ctrl and put it into IRAM
Replace periph_module_enable/disable by periph_wifi_bt_common_module_enable which are in IRAM.
AddIRAM_ATTR periph_ll_wifi_bt_module_enable_clk_clear_rstandIRAM_ATTR periph_ll_wifi_bt_module_disable_clk_set_rstto fit O0 optimization level.
Delete duplicated spinlock and counter.
2020-08-05 11:04:16 +08:00
Chen Yi Qun
caaf62bdad driver, http_client, web_socket, tcp_transport: remove __FILE__ from log messages
__FILE__ macro in the error messages adds full paths to the production binarys, remove __FILE__ from the ESP_LOGE.

Closes https://github.com/espressif/esp-idf/issues/5637
Merges https://github.com/espressif/esp-idf/pull/5638
2020-08-03 15:21:36 +08:00
Darian Leung
f790e0cc28 TWAI: Remove asserts used for program logic
This commit fixes the bug where TWAI driver program logic was being
called in assert(), thus leading to the logic being omitted in
release builds.
2020-07-30 15:25:11 +08:00
Michael (XIAO Xufeng)
6434c1e2bd Merge branch 'feat/esp_flash_enable_s2_ut' into 'master'
esp_flash: fix several issues and enable unit test for ESP32-S2

Closes IDF-1409

See merge request espressif/esp-idf!8259
2020-07-28 18:15:41 +08:00
Ivan Grokhotkov
16c73edc67 Merge branch 'refactor/add_alias_name_for_ets_common_api' into 'master'
esp_rom: extract common ets apis into esp_rom_sys.h

See merge request espressif/esp-idf!9701
2020-07-28 15:04:55 +08:00
Michael (XIAO Xufeng)
395a51b441 Merge branch 'bugfix/fix_touch_sensor_api' into 'master'
driver(touch): fix touch sensor driver redundancy

Closes IDF-1850

See merge request espressif/esp-idf!9273
2020-07-27 22:20:10 +08:00
Michael (XIAO Xufeng)
cef10fdfef Merge branch 'feature/uart_error_string_mod' into 'master'
uart: Improve error log description in UART rx buffer size

Closes IDFGH-3579

See merge request espressif/esp-idf!9466
2020-07-27 16:35:20 +08:00
Michael (XIAO Xufeng)
1aabab0160 Merge branch 'bugfix/i2c_const_function_signature' into 'master'
I2C: add const to signature of master_write function

Closes IDFGH-3324

See merge request espressif/esp-idf!9306
2020-07-27 16:31:20 +08:00
morris
2917651478 esp_rom: extract common ets apis into esp_rom_sys.h 2020-07-27 15:27:01 +08:00
Michael (XIAO Xufeng)
8165025320 spi test: replace several SPIRAM_SUPPORT with SPIRAM configs
The previous config option is renamed to ESP32_SPIRAM_SUPPORT, which
cannot cover the ESP32-S2 case.
2020-07-27 12:27:05 +08:00
fuzhibo
1568b6913d driver(touch): fix touch sensor driver redundancy 2020-07-27 03:37:29 +00:00
morris
345606e7f3 esp_rom: extract common uart apis into esp_rom_uart.h 2020-07-17 16:00:59 +08:00
Michael (XIAO Xufeng)
f8f2f7c297 Merge branch 'bugfix/touch_sensor_denoise_ci_for_esp32s2' into 'master'
ut: fix touch sensor denoise ci fail

Closes IDFCI-46

See merge request espressif/esp-idf!9571
2020-07-14 11:04:06 +08:00
Michael (XIAO Xufeng)
f6dd63d03d spi_slave_hd: new driver for spi slave in half duplex mode 2020-07-11 00:00:50 +08:00
Michael (XIAO Xufeng)
a50ea8ad55 spi: allow force pins being configured throug GPIO matrix 2020-07-11 00:00:47 +08:00
fuzhibo
75212b5055 ut: fix touch sensor denoise ci fail 2020-07-10 15:10:18 +08:00
Angus Gratton
ae3ac0e7db Merge branch 'ci/fix_uart_read_write_priorities' into 'master'
driver test: Ensure uart write task can't overflow buffer of read task

Closes IDFCI-68

See merge request espressif/esp-idf!9527
2020-07-10 13:55:51 +08:00
houwenxiang
166d5f17f3 driver(I2S): Fix I2S reset issue
`i2s_start` reseting I2S in incorrect order causeing the word-order error.

closes https://github.com/espressif/esp-idf/issues/5410
2020-07-09 15:42:09 +00:00
Angus Gratton
289ad82bc0 driver test: Ensure uart write task can't overflow buffer of read task
Previously both tasks had equal priority, possible for write task and another
internal task to be scheduled at the same time - starving read task and
causing data loss.

Related to IDFCI-59
2020-07-08 16:49:06 +10:00
Ivan Grokhotkov
8cd1f99ace Merge branch 'refactor/common_rom_gpio_apis' into 'master'
esp_rom: extract common GPIO apis into esp_rom_gpio.h

See merge request espressif/esp-idf!9248
2020-07-07 17:28:39 +08:00
morris
a4d0033c03 esp_rom: extract common GPIO apis into esp_rom_gpio.h 2020-07-07 11:40:19 +08:00
Ivan Grokhotkov
983220e216 ci: temporarily disable RS485 related tests 2020-07-06 20:12:43 +00:00
Michael (XIAO Xufeng)
4e8ae0343b Merge branch 'bugfix/add_api_adc2_vref_to_gpio_for_esp32s2' into 'master'
driver(adc): esp32s2 support API `adc2_vref_to_gpio`

Closes IDF-1356

See merge request espressif/esp-idf!9051
2020-07-06 13:00:00 +08:00
Peter Schaefer
f08743e452 Added const for pointer in master_write method, so that a const array can be passed to this fcn.
Signed-off-by: wubowen <wubowen@espressif.com>

Merges https://github.com/espressif/esp-idf/pull/5307

explicitly convert a const ptr to non-const because we actually don't modify it.
2020-07-06 03:37:39 +00:00
Wielebny666
77e5aa9aed Fix init MCPWM Fault line via config struct
Signed-off-by: wubowen <wubowen@espressif.com>

Merges https://github.com/espressif/esp-idf/pull/5491
Closes https://github.com/espressif/esp-idf/issues/5433
2020-07-03 06:32:16 +00:00
joncmaloney
15da32ebbb Improve error log description UART rx buffer size.
The under the error condition of rx buffer size is <=128 an error log is printed that reads uart rx buffer length error(>128). Propose an update to better describe the error condition as uart rx buffer length error(<=128).

Signed-off-by: Wu Bo Wen <wubowen@espressif.com>

Merges https://github.com/espressif/esp-idf/pull/5523
2020-07-03 11:27:33 +08:00
Michael (XIAO Xufeng)
370a1fa6df Merge branch 'bugfix/fix_ci_about_touch_sensor_denoise_ut' into 'master'
driver(touch): fix touch sensor denoise unit test case

Closes IDF-1834 and TIDF-13311

See merge request espressif/esp-idf!9150
2020-07-02 11:22:42 +08:00
fuzhibo
8d922847af driver(adc): esp32s2 support API adc2_vref_to_gpio 2020-07-01 06:21:45 +00:00
Darian Leung
97721d469c TWAI: Add ESP32-S2 support
This commit adds TWAI driver support for the
ESP32-S2. The following features were added:

- Expanded BRP support
- Expanded CLKOUT Divider Support
- Updated example READMEs
2020-06-30 16:56:03 +08:00
Ivan Grokhotkov
012f9702ad driver: make sure UART is idle before starting the test 2020-06-24 15:50:51 +02:00
morris
a34409cffc esp_rom: extract common CRC apis into esp_rom_crc.h 2020-06-23 16:40:14 +08:00
fuzhibo
6e9cda031c driver(touch): fix touch sensor denoise unit test case 2020-06-19 22:15:51 +08:00
Michael (XIAO Xufeng)
eeeaba4b8e Merge branch 'bugfix/optimize_timer_ut' into 'master'
improve timer unit test case

See merge request espressif/esp-idf!6883
2020-06-18 02:04:43 +08:00
Ivan Grokhotkov
b48cc853fc Merge branch 'bugfix/fix_uart_UT_fail_issue' into 'master'
Bugfix (UART):  fix uart UT test fail issue

See merge request espressif/esp-idf!9146
2020-06-16 22:06:19 +08:00
chenjianqiang
cb4ed98df7 bugfix(timer): improve timer unit test case 2020-06-15 16:12:51 +08:00
Michael (XIAO Xufeng)
0d725c14cc Merge branch 'bugfix/fix_uart_read_write_different_in_buffer_type_issue' into 'master'
Bugfix(driver): fix uart_read_byte and uart_write_byte different in buffer type issue

Closes IDFGH-2418

See merge request espressif/esp-idf!8925
2020-06-15 15:55:53 +08:00
houwenxiang
c7e4a284ae test(UART): fix uart tx with ringbuffer test fail issue 2020-06-15 12:03:24 +08:00
Angus Gratton
1c09cb6769 Merge branch 'bugfix/doc_macro_definitions' into 'master'
doc: Fix macro definitions for different targets

See merge request espressif/esp-idf!8999
2020-06-12 16:37:41 +08:00
Angus Gratton
8193b188e8 driver: Fix some doxygen warnings 2020-06-12 14:31:37 +10:00
chenjianqiang
c11621e64e timer: add return task awoken for timer callback 2020-06-11 16:02:55 +08:00
houwenxiang
61e3259f22 Driver(UART): fix uart_read_byte and uart_write_byte different in buffer type issue. 2020-06-10 16:22:06 +08:00
Michael (XIAO Xufeng)
099f2706aa Merge branch 'bugfix/fix_adc_dac_conflict' into 'master'
Driver(adc): Disable the synchronization operation function of ADC1 and DAC

Closes IDF-1585

See merge request espressif/esp-idf!8364
2020-06-03 12:41:50 +08:00
Michael (XIAO Xufeng)
d2bb1e1b75 Merge branch 'bugfix/fix_adc_dac_driver_ut' into 'master'
Driver(adc): fix adc driver and UT

See merge request espressif/esp-idf!8482
2020-06-02 17:46:45 +08:00
fuzhibo
3cc2d0e9a4 Driver(adc): Disable the synchronization operation function of ADC1 and DAC
Closes IDF-1585
2020-06-01 16:23:47 +08:00
fuzhibo
d90e0e4345 driver(adc): fix unit test for ADC-DMA (test_esp32s2.c); fix unit test for ADC-DMA (test_esp32s2.c); fix commit in adc dirver. 2020-06-01 15:00:08 +08:00
houwenxiang
46713a5275 driver(uart): fix uart module reset issue
On ESP32, due to fifo reset issue, UART2 will work incorrectly if reset the fifo of UART1(TX fifo and RX fifo). The software can workaround the RX fifo reset issue,

        while the TX fifo reset issue can not. When UART2 is used and UART1 is used as the log output port, a software reset can reproduce this issue. So we should reset the UART memory

        before the software reset to solve this problem.
2020-06-01 11:01:26 +08:00
Michael (XIAO Xufeng)
f81da10951 Merge branch 'bugfix/sdmmc_check_slot_before_pullup' into 'master'
sdmmc: Correctly check function parameters before using them

Closes IDFGH-2967

See merge request espressif/esp-idf!8827
2020-05-27 23:08:01 +08:00
Michael (XIAO Xufeng)
0d90861984 Merge branch 'bugfix/fix_rmt_driver_breaking_change_issue' into 'master'
Bugfix(RMT):   Fix the breaking change issue of RMT driver.

Closes IDFGH-2837, IDFGH-2579, and IDFGH-2915

See merge request espressif/esp-idf!8006
2020-05-25 15:27:24 +08:00
Angus Gratton
084e170a8f Merge branch 'refactor/esp_ipc' into 'master'
Split esp_ipc to a seaparate component

Closes IDF-1295

See merge request espressif/esp-idf!8520
2020-05-25 15:03:04 +08:00
Alexander Borsuk
fb0fa34ac8 sdmmc: Correctly check function parameters before using them
Closes https://github.com/espressif/esp-idf/pull/5000
2020-05-20 13:09:05 +08:00
houwenxiang
0bf2906bc9 driver(RMT): Fix the breaking change issue of RMT driver introduced by refactoring.
After RMT driver refactor, two breaking change are introduced:

    1. Users needs to call `rmt_driver_install` before `rmt_config`.

    2. Do not support memory block count > 1,

    fix this two issues

    closes https://github.com/espressif/esp-idf/issues/4664

    closes https://github.com/espressif/esp-idf/issues/4959
2020-05-19 11:39:38 +08:00
houwenxiang
b35d9002f3 driver(I2S): Fix i2s_comm_format_t configuration parameter does not match the TRM bug.
When I2S `i2s_comm_format_t` is set to `I2S_COMM_FORMAT_I2S_MSB`, the data should launch at first BCK. But not in fact, this MR fixed this issue.

For compatibility, several nwe parameters have been added, and the old parameters will be removed in the future.

    closes https://github.com/espressif/esp-idf/issues/5065

    closes https://github.com/espressif/esp-idf/issues/4957

    closes https://github.com/espressif/esp-idf/issues/2978

    closes https://github.com/espressif/esp-idf/issues/5136

    Merges https://github.com/espressif/esp-idf/pull/4522
2020-05-18 19:55:30 +08:00
Darian Leung
11d96b39d0 esp_ipc: Move to new component
This commit moves esp_ipc into a separate component.
2020-05-18 16:51:45 +08:00
Michael (XIAO Xufeng)
437a8fa9d2 Merge branch 'test/sdio_ut_performance_time' into 'master'
sdio: fix random unit test performance failure

See merge request espressif/esp-idf!8665
2020-05-14 16:19:45 +08:00
Michael (XIAO Xufeng)
94ce4836ae Merge branch 'bugfix/fix_gpio_wakeup_light_sleep' into 'master'
driver(gpio): fix gpio can't wakeup light sleep

Closes IDF-1361

See merge request espressif/esp-idf!8522
2020-05-14 11:45:40 +08:00
fuzhibo
d91e64cea4 driver(gpio): fix gpio can't wakeup light sleep 2020-05-12 07:15:13 +00:00
fuzhibo
8256b5f32b driver(adc): fix adc io init bug; add unit test to check; 2020-05-12 06:52:26 +00:00
Michael (XIAO Xufeng)
f10a721d88 sdio: fix the unit of performance test 2020-05-12 12:25:46 +08:00
Michael (XIAO Xufeng)
69d9e0eadc sdio: fix random unit test performance failure
The tests used to measure the throughput by FreeRTOS
`xTaskGetTickCount()`. The rounding error can be quite big, compared to
total measurement time (1350 ms for 4-bit mode).

This commit use `esp_timer_get_time()` instead to measure typical time,
which is in microseconds. Moreover, to get rid of the time error from
cache miss, `ccomp_timer_*` are used to get the cache compensated time
to measure the throughput used for unit test performance assertion.
2020-05-12 12:25:45 +08:00
Michael (XIAO Xufeng)
e04bb43b9f spi: suppress spi_bus_lock_touch log level
The log in the spi_bus_lock_touch may be annoying. This commit suppress 
the log level, and make the log visible only when the device altered.

Resolves https://github.com/espressif/esp-idf/issues/5056
2020-05-07 00:32:24 +08:00
Shubham Kulkarni
34d41645d3 touch_sensor.c: Fix datatype of argument for timer callback function 2020-05-04 13:26:58 +05:30
Michael (XIAO Xufeng)
9d98111652 Merge branch 'bugfix/spi_bus_lock_missing_semphrstatic' into 'master'
spi: fix config break and reduce overhead of the bus lock on SPI1

Closes IDFGH-3017

See merge request espressif/esp-idf!8221
2020-04-27 12:57:19 +08:00
morris
91e62f4e37 timer_group: update hal api && fix intr_enable
timer group interrupt enable is controled by level_int_ena instead of int_ena

Closes https://github.com/espressif/esp-idf/issues/5103
2020-04-23 19:29:15 +08:00
morris
e0b9f7be6d periph_clk_gating: add reference counter 2020-04-23 19:29:15 +08:00
michael
fdf983e0c4 spi: fix config break and reduce overhead of the bus lock on SPI1
The SPI bus lock on SPI1 introduces two side effects:

1. The device lock for the main flash requires the
`CONFIG_FREERTOS_SUPPORT_STATIC_ALLOCATION` to be selected, however this
option is disabled by default in earlier IDF versions. Some developers
may find their project cannot be built by their old sdkconfig files.

2. Usually we don't need the lock on the SPI1 bus, due to it's
restrictions. However the overhead still exists in this case, the IRAM
cost for static version of semaphore functions, and the time cost when
getting and releasing the lock.

This commit:

1. Add a CONFIG_SPI_FLASH_BYPASS_MAIN_LOCK option, which will forbid the
space cost, as well as the initialization of the main bus lock.

2. When the option is not selected, the bus lock is used, the
`CONFIG_FREERTOS_SUPPORT_STATIC_ALLOCATION` will be selected explicitly.

3. Revert default value of `CONFIG_FREERTOS_SUPPORT_STATIC_ALLOCATION`
to `n`.

introduced in 49a48644e4.

Closes https://github.com/espressif/esp-idf/issues/5046
2020-04-22 16:06:13 +08:00
dowster
7b02fdf45a Fix typo with sigmadelta.h #ifdef 2020-04-17 22:52:00 -05:00
Jiang Jiang Jian
7d0f1536e4 Merge branch 'bugfix/fix_adc_init_code_setting_for_esp32s2' into 'master'
driver(adc): fix adc calibration for esp32s2

See merge request espressif/esp-idf!8209
2020-04-04 16:06:16 +08:00
fuzhibo
406b8f423d driver(adc): add adc initial code before app_main for esp32s2.
update phy v301
2020-04-04 10:15:30 +08:00
Michael (XIAO Xufeng)
a0e66fef08 spi: fix the memory accessed while cache disabled issue in the bus lock when log level is verbose
When CONFIG_LOG_DEFAULT_LEVEL is verbose, the ESP_(EARLY_)LOGx will try
to print with format string and tag out of the DRAM while the cache is
disabled. This commit puts the TAG into DRAM, and uses the
'ESP_DRAM_LOGx` to fix the cache miss bug.

Also fixes a LoadProhibited issue when last_dev is NULL.
2020-04-03 15:04:52 +02:00
fuzhibo
baa7898e35 driver(adc/dac): fix adc dac driver for esp32s2
1. update register file about adc; 2. fix adc driver; 3. add UT for adc/dac;

See merge request espressif/esp-idf!7776
2020-04-01 12:41:51 +08:00
fuzhibo
dfbb108ab4 Driver(touch): fix touch sensor driver for esp32s2.
1.update touch sensor driver for esp32s2;
2.update unit test for touch sensor;
3.update register files about touch sensor;
2020-04-01 12:41:51 +08:00
Alex Lisitsyn
3abdd2207d freemodbus: fix long buffer failure
check master read write functions with array of registers)
fix master serial processing code and modbus controller to work with register array
modbus_master: add reading and writing of test value array (58 registers) to check failure is gone
remove parameter temporary buffer from modbus controller to allow more than 24 byte writes
driver: fix issue with TOUT feature
driver: fix uart_rx_timeout issue
driver: fix issue with rxfifo_tout_int_raw not triggered when received fifo_len = 120 byte and all bytes read out of fifo as result of rxfifo_full_int_raw
driver: add function uart_internal_set_always_rx_timeout() to always handle tout interrupt
examples: call uart_internal_set_always_rx_timeout() to handle tout interrupt correctly
examples: update examples to use tout feature
driver: reflect changes of uart_set_always_rx_timeout() function, change uart.c
driver: change conditions to trigger workaround for tout feature in uart.c
driver: change uart_set_always_rx_timeout()
freemodbus: fix tabs, remove commented code
driver: remove uart_ll_is_rx_idle()
2020-03-30 22:05:48 +08:00
Michael (XIAO Xufeng)
16d6604ab4 Merge branch 'feature/spi_unit_test_slave_byte_length' into 'master'
spi: add unit test for slave receiving length

See merge request espressif/esp-idf!6357
2020-03-30 10:41:45 +08:00
Michael (XIAO Xufeng)
a304421124 Merge branch 'feat/spi_bus_lock' into 'master'
SPI: support running SPI master and esp_flash on the same bus

See merge request espressif/esp-idf!6520
2020-03-27 19:59:43 +08:00
Alex Lisitsyn
16e6e63694 driver: fix driver set rx timeout feature of uart
tout_thr - move calculation and masking into hal layer update driver and uart_ll (add uart_ll_set_rx_tout)
move tout calculation into uart_ll
move calculation of time out in bit time for esp32s2 into low level uart_ll.h file
move uart_hal_get_symb_len() into hal
update set_rx_timeout() to warn user about incorrect value
update HAL, LL 1
fix uart_xx_set_rx_tout() to convert symbol time into bit time
update param description
update tout calculation in LL
update uart_hal_get_max_rx_timeout_thrd() and uart_ll_get_max_rx_timeout_thrd()
2020-03-27 16:20:21 +08:00
Michael (XIAO Xufeng)
c91b53377b Merge branch 'bugfix/fix_uart_driver_missing_txfifo_reset_issue' into 'master'
bugfix(UART):  fix uart driver missing txfifo reset issue.

Closes IDFGH-2848

See merge request espressif/esp-idf!7992
2020-03-27 15:55:02 +08:00
Michael (XIAO Xufeng)
49a48644e4 spi: allow using esp_flash and spi_master driver on the same bus 2020-03-26 22:08:26 +08:00
Michael (XIAO Xufeng)
826cc7ecb6 Merge branch 'feature/bringup_723_cmake_rmt_driver_update' into 'master'
RMT new features in ESP32S2

Closes IDF-1286

See merge request espressif/esp-idf!7401
2020-03-26 10:24:18 +08:00
Michael (XIAO Xufeng)
661f4c430d Merge branch 'feature/esp32s2_i2c_driver' into 'master'
Feature:  Add esp32-s2 I2C driver.

Closes IDF-1278 and IDF-1026

See merge request espressif/esp-idf!7680
2020-03-26 10:20:40 +08:00
fuzhibo
340563f479 Driver(touch): fix touch sensor driver for esp32s2.
1.update touch sensor driver for esp32s2;
2.update unit test for touch sensor;
3.update register files about touch sensor;
2020-03-25 22:45:57 +08:00
morris
4fc16e2374 rmt: prefix caps name with SOC_ 2020-03-25 17:14:00 +08:00
morris
0c17af3ea4 rmt: support tx loop count 2020-03-25 17:14:00 +08:00
morris
dc91aa9786 rmt: support tx in a group 2020-03-25 17:13:59 +08:00
morris
fa167eb0c5 rmt: test tx/rx ping-pong mode 2020-03-25 17:13:47 +08:00
morris
855b316045 rmt: better support rx demodulation 2020-03-25 13:19:03 +08:00
morris
c91565d538 rmt: update rmt ll APIs 2020-03-25 13:19:03 +08:00
chenjianqiang
ecbe0dad1b driver/rmt: new features on esp32s2
1. add receive carrier remove function
2. add pingpong receive function
2020-03-25 13:19:03 +08:00
houwenxiang
886745326e driver(UART): fix uart driver missing txfifo reset issue.
closes https://github.com/espressif/esp-idf/issues/4908
2020-03-25 01:48:46 +08:00
Renz Bagaporo
3d0967a58a test: declare requirements and include dirs private 2020-03-23 10:58:50 +08:00
Andrew
3bb41fd67e spi: add unit test for slave receiving length 2020-03-11 13:24:30 +08:00
Roland Dobai
15884eccf2 Add multi-target support for performance tests 2020-03-09 13:41:56 +01:00
Angus Gratton
a9854f7085 Merge branch 'feature/rmt_clock_support_ref_tick' into 'master'
rmt: support ref tick && refactor unit test && re-enable unit test on ESP32-S2

Closes IDFGH-1715

See merge request espressif/esp-idf!7614
2020-03-06 15:03:52 +08:00
morris
acd4d4a40b unit test using internal signal connection 2020-03-03 20:14:46 +08:00
morris
07088c6446 rmt: disable carrier feature by default 2020-03-03 20:14:46 +08:00
morris
0e4d82bc55 rmt: support REF_TICK as channel clock source
Closes https://github.com/espressif/esp-idf/pull/3952
2020-03-03 20:14:46 +08:00
xiongyu
b3ae9fa978 bugfix(i2s): Updated ESP32-S2 ADC DAC support
* Delete the relevant codes of ADC DAC of ESP32-S2.
2020-03-03 12:59:30 +08:00
fuzhibo
3ad5138dd8 fix coexist i2s_adc and rtc_adc 2020-03-03 11:58:53 +08:00
xiongyu
faf898b659 bugfix(i2s): fix driver ut i2s
* Add test support for ESP32S2

* Add loop back test

* Support chip internal connection, no external wiring required.

* Delete the relevant codes of PDM of ESP32-S2 ll layer.

* fix dac dma mode issue
2020-03-03 11:58:53 +08:00
morris
580ce8fa4a driver: clean pcnt.h i2s.h 2020-03-02 19:31:29 +08:00
Michael (XIAO Xufeng)
7f8c827326 Merge branch 'bugfix/fix_driver_ut_pcnt' into 'master'
bugfix(pcnt): fix driver ut pcnt

See merge request espressif/esp-idf!6891
2020-02-27 11:29:28 +08:00
Michael (XIAO Xufeng)
9d8e590d86 Merge branch 'fix/spi_flash_legacy_on_esp32s2' into 'master'
spi_flash: fix the reading issue using the ROM functions on ESP32-S2

See merge request espressif/esp-idf!7767
2020-02-26 18:04:51 +08:00
xiongyu
4d5c950770 bugfix(pcnt): fix driver ut pcnt
* Let `[ignore] case` return to freedom

  1) Because this test uses its own ISR, we need to release it with `esp_intr_free` instead of `pcnt_isr_service_uninstall`.

  2) `pcnt_evt_queue` needs to be created before the interrupt is registered and needs to be released at the end of each case.

* Add test support for ESP32S2

* Support chip internal connection, no external wiring required.
2020-02-26 16:52:53 +08:00
Michael (XIAO Xufeng)
160d3bd416 Merge branch 'refactor/i2c_const_and_param_check' into 'master'
I2C: const correctness and better param check

See merge request espressif/esp-idf!7582
2020-02-26 16:06:57 +08:00
Jakob Hasse
3bcc6b48af I2C: i2c.h/i2c.c applied new code formatting 2020-02-26 15:12:03 +08:00
michael
f1a4c84e57 GPIO: fix unit test issue on ESP32-S2
Also rename some test variables.
2020-02-26 11:12:09 +08:00
houwenxiang
4883733472 driver(I2C): support esp32-s2 I2C driver. 2020-02-25 21:56:00 +08:00
morris
e9717fc07b periph_ctrl: move target specific into ll files 2020-02-24 14:50:26 +08:00
Jakob Hasse
d230d44e2d I2C: const correctness, checking SDA/SCL GPIOs
* const correctness in i2c_slave_write_buffer()
* i2c_set_pin() additionally checks whether
  SDA and SCL pins are the same number
2020-02-24 14:30:28 +08:00
Paul Abbott
b75e3de447 Bugfix(LEDC): Add missing ledc_set_pin declaration in led.h
Merges https://github.com/espressif/esp-idf/pull/4632
2020-02-19 16:02:33 +08:00
Angus Gratton
a0644bf8ae Merge branch 'test/resume_ut_esp32s2' into 'master'
ci: resume esp32s2 unit tests

See merge request espressif/esp-idf!7436
2020-02-18 10:58:14 +08:00