Commit Graph

536 Commits

Author SHA1 Message Date
Omar Chebib
1e8a0909f6 LEDC: divisor calculation will now be rounded up when necessary
Closes https://github.com/espressif/esp-idf/issues/7722
2021-11-11 12:21:22 +08:00
Omar Chebib
aa2ca7dd94 LEDC: improved support for ESP32-C3 and refactored divisor calculation
As ESP32C3 does not have support for REF_TICK source clock, it is now not
possible to select it anymore.
Auto cfg clock has been improved for all boards.
2021-11-11 12:21:15 +08:00
songruojing
7ec38fcc42 gpio: Fix the bug that esp32 gpio interrupt cannot be triggered on core 1
Introduced in 874a720286

Closes https://github.com/espressif/esp-idf/issues/7594
2021-11-11 12:14:32 +08:00
morris
83d16aa00c gdma: support IRAM interrupt 2021-11-08 16:14:51 +08:00
Cao Sen Miao
09487761cf ESP8684: add freertos, hal, esp_system support 2021-11-06 17:33:44 +08:00
Alexey Gerenkov
bb9cd84cdc debug_stubs: Refactor and add support for RISCV 2021-11-04 01:33:24 +03:00
Darian
ea6a0dde5a Merge branch 'bugfix/usb_hcd_robustness' into 'master'
USB Host: Fix how disconnections an EP halts are handled

Closes IDFGH-5797 and IDFGH-6108

See merge request espressif/esp-idf!15640
2021-11-02 13:50:09 +00:00
Darian Leung
0c758c8557 usb: Fix how the HCD handles sudden disconnection
This commit fixes how the USB Host HCD handles sudden disconnections.

Bugs:
- HW channels remain active when the port suddenly disconnects, and
previously the channel would be disabled by setting the disabled bit,
then waiting for a disabled interrupt. However, ISOC channels do not
generate the disabled interrupt when the port is invalid, thus leading
to tasks getting indefinitely blocked in hcd_pipe_command().

Fix:
On a sudden disconnection, forcibly treat all channels as halted even
if their HCCHAR.ChEna bit is still set. We do a soft reset after a port
error anyways, so the channels will eventually be reset.

Closes https://github.com/espressif/esp-idf/issues/7505
2021-11-02 14:30:58 +08:00
Darian Leung
0159c37cf2 usb: Fix LL 8/16 bit register field access
This commit addes the 8/16 bit register field access workarounds to
the DWC_OTG peripheral. This workaround was applied to all other
peripherals in commit 874a720286.
2021-11-02 14:30:58 +08:00
Steinbart Andreas (HAU-EDS)
f9d6fa2b84 esp-eth: emac: Reset Tx DMA channel owner on init
Reset ethernet TX DMA descriptors sets owner to CPU, so re-installing the ethernet driver will now not result in packet loss

Merges https://github.com/espressif/esp-idf/pull/7752
2021-11-01 06:16:59 +00:00
Alexey Gerenkov
e777653222 Merge branch 'feature/esp32s3_apptrace' into 'master'
apptrace/trax: Adds ESP32-S3 support

Closes IDF-1785

See merge request espressif/esp-idf!14857
2021-10-26 09:50:40 +00:00
Kevin (Lao Kaiyao)
bc1cebe042 Merge branch 'bugfix/i2s_ws_polarity_in_tdm' into 'master'
i2s: fix ws signal polarity in tdm mode

Closes IDF-4140

See merge request espressif/esp-idf!15534
2021-10-26 07:13:49 +00:00
laokaiyao
f37595dee9 i2s: fix ws signal polarity in tdm mode 2021-10-26 11:12:30 +08:00
Jakob Hasse
7efb01846f [cxx]: simple spi master class
* spi cxx unit test (CATCH-based, on host)
* added portmacro.h to driver mocking
* added simple testing app to write/read SPI,
  using an MPU9250
2021-10-25 14:56:59 +08:00
Alexey Gerenkov
111ba5bbe6 trax: Adds ESP32-S3 support 2021-10-22 23:36:28 +03:00
morris
e2275b1f63 gptimer: clean up hal and ll for driver-ng 2021-10-20 18:40:08 +08:00
Zim Kalinowski
a7c9949dd9 Fixed build problem when icluding gpio_ll.h from cpp file 2021-10-17 14:29:31 +08:00
Kevin (Lao Kaiyao)
a9faafee3c Merge branch 'feature/touch_sensor_driver_support_for_esp32s3' into 'master'
driver(touch): support touch sensor for esp32s3 platform

Closes IDF-1784 and IDF-3302

See merge request espressif/esp-idf!14102
2021-10-12 05:50:58 +00:00
morris
7283e349b9 Merge branch 'refactor/rgb_lcd_callback_add_event_data' into 'master'
lcd: modify callback prototype && build API docs

See merge request espressif/esp-idf!15354
2021-10-09 06:26:44 +00:00
laokaiyao
f4705f8eb4 touch sensor: update copyright notice 2021-10-08 11:45:57 +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
morris
e09e39c94f lcd: unify callback prototype 2021-10-02 14:23:31 +08:00
laokaiyao
7264c0e59a i2s_rec_example: add support for esp32s3 2021-10-01 16:05:04 +01:00
laokaiyao
f397379c8d i2s: fix the mono mode of PDM on esp32 2021-10-01 16:05:04 +01:00
SalimTerryLi
bd89dcc683
RMT: add loop_autostop driver support for esp32s3 2021-09-24 15:24:45 +08:00
morris
20ef511d0a Merge branch 'bugfix/fix_reg_name_charactor_err' into 'master'
bugfix: fix reg name character error

See merge request espressif/esp-idf!14169
2021-09-18 07:10:57 +00:00
Jiang Jiang Jian
a015123a1d Merge branch 'feature/rename_apbctrl_to_syscon' into 'master'
rename apbctrl to syscon

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

Closes IDFGH-4652

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

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

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

Closes IDFGH-5824

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

Closes IDF-3783

See merge request espressif/esp-idf!14986
2021-09-14 06:09:34 +00:00
Song Ruo Jing
10b848327b Merge branch 'feature/usb_phy' into 'master'
usb: Add usb_phy driver to support operations on USB PHY

Closes IDF-3574 and IDF-1882

See merge request espressif/esp-idf!14879
2021-09-14 06:06:06 +00:00
Armando
c45c6f52f1 adc: support adc efuse-based calibration on esp32s3 2021-09-14 11:42:50 +08:00
songruojing
1fcd639224 usb: Add usb_phy driver to support operations on USB PHY 2021-09-13 12:39:56 +08:00
morris
9d97d01679 Merge branch 'bugfix/mcpwm_cpp_reserved_word' into 'master'
bugfix/mcpwm: rename invalid keyword 'operator'

Closes IDFGH-5840

See merge request espressif/esp-idf!15159
2021-09-13 03:10:04 +00:00
SalimTerryLi
d9f4ae02f1
mcpwm: rename keyword 'operator' which is not valid in cpp
Closes https://github.com/espressif/esp-idf/issues/7542
2021-09-10 12:41:42 +08:00
morris
25f723765e Merge branch 'feature/lcd_driver_follow_up' into 'master'
lcd: add PM lock

Closes IDF-3631, IDF-3704, and IDF-3317

See merge request espressif/esp-idf!14880
2021-09-10 03:14:50 +00:00
laokaiyao
b3193e233c i2s: fix apll bugs introduced in 'refactor/i2s_driver'
Closes https://github.com/espressif/esp-idf/issues/7529
2021-09-09 10:23:52 +08:00
Wang Meng Yang
a885c42cda Merge branch 'example/controller_hci_uart_for_esp32s3' into 'master'
examples: added support of ESP32-S3 chip in controller_hci_uart example

Closes BT-1906

See merge request espressif/esp-idf!14935
2021-09-08 06:02:18 +00:00
Cao Sen Miao
e85e9dc824 Merge branch 'feature/esp_flash_octal_api_support_xmic' into 'master'
esp_flash: Add new octal flash chip support in new chip driver (for MXIC)

Closes IDF-2859

See merge request espressif/esp-idf!14185
2021-09-08 03:59:34 +00:00
morris
02e470bc50 lcd: add pm lock 2021-09-08 11:34:46 +08:00
Cao Sen Miao
6c0aebe279 esp_flash: add opi flash support in esp_flash chip driver, for MXIC 2021-09-07 14:44:40 +08:00
Darian Leung
14fe6dcaaf HAL: Fix Force U32 macros for C++ typeof()
When using the Force U32 macros in C++, the peripheral structs will not
have copy constructors due to them being volatile. Thus, doing temp_reg = reg
via typeof() will not work and cause a "ambiguous overload of operator=" error.

This commit fixes the macros by reading the reg into a uint32_t value first.
2021-09-07 11:23:06 +08:00
morris
6cec256a34 fast_gpio: driver support on esp32c3 2021-09-06 19:39:09 +08:00
Jiang Jiang Jian
316988bd2d Merge branch 'feature/support_esp32s3_cpu_tagmem_retention' into 'master'
support esp32s3 cpu + tagmem retention

See merge request espressif/esp-idf!14579
2021-09-06 03:47:44 +00:00
Kevin (Lao Kaiyao)
2991eea97d Merge branch 'refactor/i2s_driver' into 'master'
driver/i2s: bugfix and refactor for i2s

Closes IDF-3656 and IDF-3738

See merge request espressif/esp-idf!14704
2021-09-06 02:07:40 +00:00
laokaiyao
c5afd7ce34 i2s: fix write failure on ESP32 in 32bit slave mode 2021-09-03 17:36:44 +08:00
laokaiyao
0ff3dd9778 i2s: fix mono support issue 2021-09-02 14:33:36 +08:00
laokaiyao
b26da6f115 driver/i2s: refactor for i2s driver layer 2021-09-02 14:33:36 +08:00
Sachin Billore
f80d6f8c21 Digital Signature support for S3
Closes IDF-1791
2021-09-02 11:59:24 +05:30
Marius Vikhammer
bdf3a8ff29 Merge branch 'feature/xtwdt' into 'master'
WDT: Add support for XTAL32K Watchdog timer

Closes IDF-2575

See merge request espressif/esp-idf!15000
2021-09-02 02:44:47 +00:00
Marius Vikhammer
4869b3cd4a WDT: Add support for XTAL32K Watchdog timer 2021-09-02 09:09:00 +08:00
laokaiyao
04970fe487 iperfUtility: add udp rx bandwidth scan 2021-09-01 19:11:28 +08:00
laokaiyao
8d18a9c614 emac: optimise iperf performane 2021-09-01 19:11:28 +08:00
SalimTerryLi
6af8d2edee
hal: remove usages of esp_log in HAL 2021-09-01 13:58:47 +08:00
morris
2e0ffbd543 Merge branch 'bugfix/fix-driver-8_16bit-reg-access' into 'master'
bugfix/driver: fix and cleanup soc/ll stuffs

Closes IDF-3722

See merge request espressif/esp-idf!14829
2021-08-30 10:27:05 +00:00
Darian
8af7292496 Merge branch 'feature/new_usb_host_driver' into 'master'
(5) USB: Add public USB Host Driver

Closes IDF-3121, IDF-3509, and IDF-3557

See merge request espressif/esp-idf!13145
2021-08-30 09:28:43 +00:00
SalimTerryLi
874a720286
soc/ll: workaround compiler bug that generate 8/16 bits inst instead of 32 bits one
update all struct headers to be more "standardized":

- bit fields are properly wrapped with struct
- bitwidth sum should be 32 within same struct, so that it's correctly padded with reserved bits
- bit field should be uint32_t
- typedef volatile struct xxx{} yyy;: xxx must exists. refer: https://github.com/espressif/esp-idf/pull/3199

added helper macros to force peripheral registers being accessed in 32 bitwidth

added a check script into ci
2021-08-30 13:50:58 +08:00
Mahavir Jain
f7d2f283b3 Merge branch 'bugfix/bugfix/esp32s2_memprot_no_logging_2' into 'master'
System/Security: ESP32S2 Memprot uses no abort() calls neither does logging

Closes IDF-3634

See merge request espressif/esp-idf!14852
2021-08-27 11:17:31 +00:00
Cao Sen Miao
c47ad5d22f Merge branch 'bugfix/gpio_cant_hold' into 'master'
GPIO: fix issue that gpio cannot hold during deep-sleep on c3

Closes IDFGH-5738 and IDF-3526

See merge request espressif/esp-idf!14939
2021-08-27 06:16:45 +00:00
Li Shuai
ccf1a9a1fc light sleep: add i/d-cache tagmem retention support for esp32s3 2021-08-27 11:11:09 +08:00
Li Shuai
03746de96f light sleep: add cpu power down support for esp32s3 2021-08-27 11:11:06 +08:00
Marius Vikhammer
2206c5315e Merge branch 'bugfix/aes_unaligned_access' into 'master'
aes: fix unaligned access

Closes IDFGH-5506

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

Closes IDFGH-5732

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

Closes IDF-3648

See merge request espressif/esp-idf!14578
2021-08-26 08:28:27 +00:00
SalimTerryLi
e67bcda6d1
mcpwm: ISR can be placed to IRAM by menuconfig
resolves https://github.com/espressif/esp-idf/issues/7449
2021-08-26 15:58:46 +08:00
Martin Vychodil
58aed7df98 ESP32S2: No assert()/abort() in Memprot API, use esp_err_t instead
JIRA IDF-3634
2021-08-26 09:20:00 +02:00
wangmengyang
c053ef0541 examples: added support of ESP32-S3 chip in controller_hci_uart example 2021-08-26 14:24:32 +08:00
Shu Chen
f8f9e545e8 Merge branch 'feature/support_esp32h2_hw_support' into 'master'
Feature/support esp32h2 hw support

Closes IDF-3378 and IDF-3396

See merge request espressif/esp-idf!14545
2021-08-26 06:00:27 +00:00
sly
11dfd802e0 esp32h2: add rtc clock support 2021-08-26 11:25:39 +08:00
Cao Sen Miao
c860b3ead6 gpio: fix issue that gpio cannot hold during deep-sleep on c3, Closes https://github.com/espressif/esp-idf/issues/7455 2021-08-25 15:16:08 +08:00
Marius Vikhammer
3907634d20 aes: fix potential unaligned access of buffers
https://github.com/espressif/esp-idf/issues/7236
2021-08-25 10:48:26 +08:00
Darian Leung
accbaee57c Add USB Host Library
This commit adds the preliminary version of the USB Host Library. This commit contains:

- USBH (USB Host Driver)
- Hub Driver that only supports a single device and device enumeration
- USB Host Library (asychronous API)
- Test cases for USB Host Library asychronous API

The following changes were made to the existing HCD:
- Removed HCD_PIPE_STATE_INVALID. Pipes are no longer invalidated
- Changed pipe commands to halt, flush, and clear. Pipes need to be manually
  halted, flush, and cleared.
- Halting and flushing a pipe will execute the pipe callback if it causes a
  HCD_PIPE_EVENT_URB_DONE event
2021-08-24 23:28:00 +08:00
Cao Sen Miao
da12db2904 Merge branch 'bugfix/c3_i2c_timeout' into 'master'
I2C: Fix i2c write randomly timeout and WDT triggered

See merge request espressif/esp-idf!14722
2021-08-24 08:59:22 +00:00
morris
3bfd8f5d5f mcpwm: update register file according to TRM 2021-08-24 15:38:46 +08:00
morris
0c41837b06 Merge branch 'refactor/timer_group-reg_file-update' into 'master'
refactor/timer_group update reg headers for c3 and s2

Closes IDF-3690

See merge request espressif/esp-idf!14761
2021-08-23 04:30:59 +00: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
SalimTerryLi
443845fd54
timer_group: update reg headers for c3&s2&h2 and fix direct 8/16bit reg access 2021-08-19 18:56:32 +08:00
morris
71d475149d lcd: update doc unit test and example to support 8-line spi 2021-08-19 16:40:22 +08:00
bizhuangyang
8143832041 spi_master:support octal mode for esp32s2 and esp32s3
Add support for 8-line spi for lcd on esp32s2 and esp32s3

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

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

See merge request espressif/esp-idf!13679
2021-08-18 07:55:06 +00:00
Jakob Hasse
1c3be690ed [esp_hw_support]: HMAC upstream support for S3 2021-08-13 12:01:06 +08:00
Chen Yi Qun
fbd25c3837 I2C: add conf_update for esp32c3 i2c 2021-08-11 13:39:07 +08:00
Cao Sen Miao
2f5c0355fe I2C: Fix i2c write fake timeout and WDT triggered 2021-08-11 13:39:07 +08:00
morris
6fdc5877cd lcd: support i80 LCD on esp32/s2/s3 2021-08-10 21:06:59 +08:00
morris
1656cee69d i2s: correct soc info
1. remove non-exist I2S instance
2. update soc_caps.h, i2s_ll.h
2021-08-10 21:06:59 +08:00
morris
56760c9669 pcnt: refactor hal driver 2021-08-10 17:19:21 +08:00
Zim Kalinowski
1fd56e0b87 Merge branch 'feature/systimer_generate_rtos_tick' into 'master'
freertos(esp32s3): SysTick uses systimer

Closes IDF-2613

See merge request espressif/esp-idf!12246
2021-08-04 12:33:52 +00:00
Konstantin Kondrashov
29f581fc70 freertos(esp32s3): SysTick uses systimer 2021-08-04 20:33:44 +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
Cao Sen Miao
247866261f Merge branch 'feature/flash_support_on_esp32s3' into 'master'
esp_flash: bringup ext flash chip on ESP32-S3

Closes IDF-2021 and IDF-3230

See merge request espressif/esp-idf!14523
2021-08-02 03:59:14 +00:00