Commit Graph

423 Commits

Author SHA1 Message Date
morris
16677b0d3c global: make periph enable/disable APIs private
peripheral enable/disable usually should be managed by driver itself,
so make it as espressif private APIs, not recommended for user to use it
in application code.
However, if user want to re-write the driver or ports to other platform,
this is still possible by including the header in this way:
"esp_private/peripheral_ctrl.h"
2021-11-08 10:37:47 +08:00
Kevin (Lao Kaiyao)
dc20768913 Merge branch 'feature/add_i2s_es8311_example_and_loop_unit_test' into 'master'
example/i2s: add es8311 example and i2s unit-test

Closes IDF-3412

See merge request espressif/esp-idf!14459
2021-10-14 09:28:35 +00:00
laokaiyao
3eb09287f9 example/i2s: add es8311 example and i2s loop unit-test 2021-10-11 18:32:34 +08:00
laokaiyao
a1cadba191 touch_sensor: apply general check 2021-10-08 11:32:12 +08:00
fuzhibo
057b9d61b5 driver(touch): support touch sensor for esp32s3 platform 2021-10-08 10:39:46 +08:00
Jiang Jiang Jian
a015123a1d Merge branch 'feature/rename_apbctrl_to_syscon' into 'master'
rename apbctrl to syscon

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

Closes IDFGH-4652

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

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

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

Closes IDFGH-5824

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

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

Co-authored-by: wubowen <wubowen@espressif.com>
2021-09-09 17:33:37 +08:00
laokaiyao
dfbe76e988 i2s: fix return value when failed to register i2s 2021-09-09 10:33:15 +08:00
laokaiyao
c5afd7ce34 i2s: fix write failure on ESP32 in 32bit slave mode 2021-09-03 17:36:44 +08:00
morris
bb87fd8f08 Merge branch 'refactor/pcnt_driver_esp32s3' into 'master'
pcnt: soc update and hal refactor

See merge request espressif/esp-idf!14698
2021-08-20 04:23:15 +00:00
morris
3bcd9278fa i2s: expose resource object to other component 2021-08-10 21:06:59 +08:00
morris
56760c9669 pcnt: refactor hal driver 2021-08-10 17:19:21 +08:00
SalimTerryLi
e5ddc12a08
MCPWM/capture: API workflow optimization
deprecate isr_register to introduce new callback based API, with framework managed interrupt routine
new HC-SR04 example
2021-08-05 19:12:58 +08:00
Michael (XIAO Xufeng)
947980ecac Merge branch 'bugfix/uart_set_pin_use_iomux' into 'master'
uart: uart_set_pin function will now use IOMUX whenever possible

Closes IDF-3183

See merge request espressif/esp-idf!14318
2021-08-05 04:17:29 +00:00
Omar Chebib
779e7400b0 uart: uart_set_pin function will now use IOMUX whenever possible
By using IOMUX instead of GPIO Matrix for UART, it is now possible
on ESP32 boards to use the UART as a wake up source even if it is
not used as a console.
For other boards where this issue was not present, using IOMUX has
the advantage to be faster than using GPIO matrix, so a highest
baudrate can be used
2021-08-04 12:48:30 +08:00
laokaiyao
f863998e90 driver/i2s: support mclk 2021-08-04 10:20:03 +08:00
laokaiyao
3c57a6ac36 driver/i2s: refactor ll and hal 2021-08-04 10:20:03 +08:00
laokaiyao
d51b85989b doc/i2s: update i2s programming guide on s3 & c3 2021-08-04 10:20:03 +08:00
laokaiyao
f7f8c9c11f driver/i2s: support i2s on c3 and s3
1. Support i2s on esp32c3 and esp32s3
    2. Refactor i2s_config_t to avoid breaking change
    2. Fix a bug that receiving unavailable values from message queue when dma queue has been re-allocted
    4. Support i2s unit test on esp32c3 and esp32s3
2021-08-04 10:20:03 +08:00
houwenxiang
2f1247e1c4 driver: support I2S on ESP32-S3 & ESP32-C3
1. refactor I2S driver.
  2. support TDM mode for esp2s3 & esp32c3.
2021-08-04 10:20:03 +08:00
SalimTerryLi
f4314af913
MCPWM: expose API to set timer resolution
Closes https://github.com/espressif/esp-idf/issues/1101
2021-07-30 18:52:17 +08:00
morris
f907009056 Merge branch 'refactor/cleanup_mcpwm_examples' into 'master'
mcpwm: more clean up (example + LL + doc)

Closes IDF-3295

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

Closes IDF-3232 and IDF-3292

See merge request espressif/esp-idf!13985
2021-07-29 07:01:38 +00:00
Armando (Dou Yiwen)
30056c0116 Merge branch 'bugfix/spi_master_clear_error_fifo_status' into 'master'
spi_master: clear error fifo status before transaction starts

Closes IDF-3457 and IDF-3501

See merge request espressif/esp-idf!14210
2021-07-29 04:03:19 +00:00
Armando
9063a7b7e3 test: add an SPI dual board test for master FD DMA single directions test 2021-07-28 17:51:25 +08:00
Armando
c4cc3bb895 adc: temporarily disable adc2 wifi test pending on s3 adc calibration 2021-07-28 17:50:15 +08:00
Armando
eab252456f adc: refactor adc2 single read with wifi test 2021-07-28 17:50:14 +08:00
morris
88c87bfe56 mcpwm: update hal and soc naming 2021-07-26 22:32:45 +08:00
Omar Chebib
b8c6c5334f i2c: modify examples to work out of the box on ESP32S3
On ESP32S3, the default I2C pins of the examples are already used by USB.
This commit changes the default pins.
2021-07-21 11:04:16 +08:00
Angus Gratton
77b1ddbcdb driver: Add some settling time when driving USB IOs high/low
Otherwise seems to sometimes fail in release config
2021-07-16 20:14:28 +08:00
Michael (XIAO Xufeng)
ded74889da Merge branch 'bugfix/spi_slave_wrong_miso_mosi' into 'master'
spi_slave: Fix MOSI/MISO inconsistent references on the SPI Slave drivers.

See merge request espressif/esp-idf!13645
2021-07-15 08:51:41 +00:00
morris
3b821b8ac3 Merge branch 'bugfix/rotary_encoder_example_main' into 'master'
bugfix: rotary encoder example isr service install

Closes IDFGH-5105

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

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

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

Closes IDF-3226

See merge request espressif/esp-idf!13845
2021-06-27 05:41:10 +00:00
Jakob Hasse
79b0256d63 [driver]: partial mocking of driver component
* added mocking of spi master and gpio
* mock registering in one function in
  component.cmake
2021-06-24 10:10:29 +08:00
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
Marius Vikhammer
79b5dedeb1 CI: minor testcases fixes and disable some cases that cant run on S3 2021-06-15 13:39:48 +08:00
morris
b47d012720 mcpwm: refactor unit test 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
Jan Brudný
58f79e6b00 driver: update copyright notice 2021-05-24 01:06:17 +02: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
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
morris
75dfd970b4 dac: added DAC support macro
Remove DAC support on ESP32-S3
2021-04-12 12:04:46 +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
Marius Vikhammer
b4d2fb56a0 ci: enable previously disabled unit tests 2021-03-29 18:36:41 +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
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
Armando
0fb93c3726 spi_master: fix cmd test ci failure 2021-03-15 11:31:38 +08:00
morris
7b37158ede rmt: distinguish group and channel in HAL layer 2021-02-25 12:42:23 +08:00
Armando
889de9ebd9 spi: add enum for spi dma channels 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
5427c18781 adc: apply gdma api to adc on esp32c3 2021-02-08 11:41:21 +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)
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
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)
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
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
Armando
02600309c8 adc: fix some regression issues 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
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
Armando
0538dc2d93 spi_slave_hd: add DMA Append Mode feature 2021-01-21 18:53:53 +08:00
xiehang
b8a8fe3f54 esp_wifi: Modify ESP_IF_WIFI_STA to WIFI_IF_STA 2021-01-19 11:55:44 +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
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
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
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
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
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
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
Michael (XIAO Xufeng)
a579011584 ci: disable some sdio_slave tests on single core config 2020-12-07 10:15:35 +08: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
Armando
fb8b905539 uart: add uart support on esp32s3 2020-11-24 19:12:51 +08:00