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
Cao Sen Miao
5083ff5922
Merge branch 'feature/usb_serial_jtag_support_s3' into 'master'
...
usb_serial_jtag: enable blocking implementation on esp32s3(console)
Closes IDF-3635
See merge request espressif/esp-idf!14581
2021-07-31 11:27:09 +00:00
Cao Sen Miao
24529a6aec
usb_serial_jtag: enable blocking implementation on esp32s3
2021-07-31 16:32:09 +08:00
Cao Sen Miao
992de2750e
spi_flash: add support for ext flash
2021-07-31 14:11:35 +08:00
morris
9506819df0
Merge branch 'feature/mcpwm_expose_low_level_api' into 'master'
...
mcpwm: expose API for accessing timer resolution
Closes IDFGH-2398
See merge request espressif/esp-idf!14444
2021-07-31 04:12:08 +00: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
6352a7ee07
lcd_cam: new csv header file
2021-07-30 11:23:26 +08:00
morris
befe40000c
Merge branch 'bugfix/uart_ll_update' into 'master'
...
uart: update ll layer with new register
See merge request espressif/esp-idf!14576
2021-07-29 12:45:58 +00: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
Cao Sen Miao
26c808610c
uart: update ll layer with new register
2021-07-29 18:01:48 +08: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 (Dou Yiwen)
47e1b41563
Merge branch 'bugfix/adc2_single_read0_with_wifi_on' into 'master'
...
ADC: support ADC2 single read while WifI is on
Closes IDFCI-353 and IDF-3454
See merge request espressif/esp-idf!14152
2021-07-29 02:25:36 +00:00
Jiang Jiang Jian
97507ebe49
Merge branch 'feature/support_esp32s3_lightsleep' into 'master'
...
support esp32s3 normal lightsleep
See merge request espressif/esp-idf!14369
2021-07-28 15:09:37 +00:00
Armando
fd6173b9b7
spi_master: correctly reset spi afifos before DMA transaction starts
2021-07-28 17:51:25 +08:00
Armando
3ce2d85e9e
adc: support adc2 working with WiFi
2021-07-28 17:50:14 +08:00
Michael (XIAO Xufeng)
18bee2380a
Merge branch 'refactor/usb_device_driver' into 'master'
...
tiny_usb: support on esp32-s3
Closes IDF-3234
See merge request espressif/esp-idf!14293
2021-07-26 16:21:55 +00:00
morris
88c87bfe56
mcpwm: update hal and soc naming
2021-07-26 22:32:45 +08:00
Li Shuai
ead49c7acf
Merge branch 'feature/support_esp32s3_gpio_sleep_iso' into 'master'
...
light sleep: add gpio isolate function at slept status for esp32s3
See merge request espressif/esp-idf!14370
2021-07-22 07:52:55 +00:00
Michael (XIAO Xufeng)
fbb6b1b11a
Merge branch 'bugfix/fix_uart_reset_issue_on_esp32c3' into 'master'
...
bugfix(uart): reset uart0 core before uart apb reset
Closes IDF-3362
See merge request espressif/esp-idf!12749
2021-07-22 07:20:58 +00:00
Marius Vikhammer
a29a6ceef0
uart: update register headers and examples for S3
2021-07-22 12:05:49 +08:00
morris
42f3bca5a1
usb: update LL to support PHY selection
...
ESP32-S3 has two USB peripheral, one is USB_OTG, another is
USB_JTAG_SERIAL
A new mux has been introduced to select internal/external PHY interface.
2021-07-22 10:40:08 +08:00
Chen Yi Qun
6317f5b481
add uart core reset in uart_module_enable()
2021-07-21 11:41:04 +08:00
Wangjialin
2b986fbd49
For esp_restart API, reset uart0 core first, then reset uart0 apb side, so as to prevent uart output garbage after cpu reset. (UART0 RST bits will be cleared in ROM)
...
Add UART0/1 core reset on esp32c3, in case uart driver would also reset uart hardwares.
2021-07-21 11:41:04 +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
Omar Chebib
a6e14c37b2
SPI: chip select can now be kept active if the bus has been acquired
...
The user can now request the chip select to remain active after the current
transfer. In order to do so, he MUST acquire the bus first with `spi_device_acquire_bus()`
function, else, an error is returned.
2021-07-21 10:39:45 +08:00
Li Shuai
512800891e
light sleep: add uart new final state machine support for esp32s3
2021-07-20 11:27:14 +08:00
Darian Leung
d604bf05af
TWAI: Fix incorrect configuration initializers for low speed bit rates
...
This commit fixes the timing configuration initializers for the
1K, 5K, and 10K bit rates.
2021-07-19 14:27:39 +08:00
Omar Chebib
a7b6ec85b8
Merge branch 'feature/move_memory_layout_to_heap' into 'master'
...
G0: Memory layouts are now part of heap components
Closes IDF-1264
See merge request espressif/esp-idf!14028
2021-07-19 06:23:19 +00:00
Zim Kalinowski
da9e5ca38a
Merge branch 'bugfix/usb_device_struct_cleanup' into 'master'
...
Cleanup USB device struct
Closes IDFGH-5223
See merge request espressif/esp-idf!13473
2021-07-19 04:23:20 +00:00
Michael (XIAO Xufeng)
59195b6fb3
Merge branch 'bugfix/update_gdma_soc' into 'master'
...
gdma: alignment setting for PSRAM transfer
Closes IDF-1524
See merge request espressif/esp-idf!13976
2021-07-17 14:04:03 +00:00
Renz Bagaporo
7c22cccb9c
esp32: cleanup build script
2021-07-16 20:14:27 +08:00
Renz Bagaporo
702e41e1c8
esp32s2: move crypto related functions
2021-07-16 20:14:26 +08:00
morris
3176ba11d8
gdma: update DMA soc data for esp32-s3
2021-07-16 14:47:09 +08:00
morris
217d3eb690
Merge branch 'feature/adc_single_sample_support_on_s3' into 'master'
...
adc: support adc single read on s3
Closes IDF-3118
See merge request espressif/esp-idf!14036
2021-07-16 06:32:08 +00:00
Omar Chebib
9dd02354d2
Merge branch 'feature/riscv_panic_backtrace' into 'master'
...
espsystem: add support for RISC-V panic backtrace
Closes IDF-2064
See merge request espressif/esp-idf!12070
2021-07-16 04:13:44 +00:00
laokaiyao
27d9657b6c
driver/adc: support adc single sample on s3
2021-07-15 19:13:50 +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
Michael (XIAO Xufeng)
f4e44b0b8e
Merge branch 'bugfix/i2c_slave_esp32s2' into 'master'
...
i2c: fix I2C slave clock source selection
Closes IDF-3177
See merge request espressif/esp-idf!13670
2021-07-15 08:36:46 +00:00
Sachin Parekh
fed4c4c313
Merge branch 'fix/esp32c3_memprot_split_line' into 'master'
...
esp32c3/memprot: Fix incorrect calculations and register access
Closes IDF-3510 and IDF-3514
See merge request espressif/esp-idf!14201
2021-07-15 05:08:14 +00:00
Omar Chebib
0771bd1711
espsystem: Rearchitecture and fix eh_frame_parser bugs
...
eh_frame_parser is architecture independent, thus the files have
been rearchitectured. Some bugs have been fixed in the test.
A README file has also been added to eh_frame_parser host test
directory.
eh_frame_parser is now able to detect empty gaps in .eh_frame_hdr
table (missing DWARF information).
Fix a bug occuring when parsing backtraces originated from abort().
Fix build missing dependencies issue.
2021-07-15 12:47:51 +08:00
Omar Chebib
2575c0d49f
i2c: fix I2C slave clock source selection
...
In I2C slave mode, clock source can now be changed, according to
the flags specified in `i2c_config_t` structure. Thus, ESP32-S2
can now act as an I2C slave, even with a 400KHz master clock.
2021-07-15 12:28:57 +08:00
Armando
6bb6f3ebc4
adc: refactor esp32s3 adc_ll.h
2021-07-15 10:33:03 +08:00
Omar Chebib
c4f57af6c9
G0: Memory layouts are now part of heap components
2021-07-15 11:38:23 +10:00
Li Shuai
d2aeb9e4ce
light sleep: add gpio configure workaround at slept status for esp32s3
2021-07-14 21:57:21 +08:00
Ivan Grokhotkov
1d44e40fb1
hal: spi_flash: avoid calling memcpy with NULL buffer
...
In practice, calling memcpy with NULL buffer and 0 size works on the
ESP32, but the C standard considers this an undefined behavior.
When building with UBSAN checks enabled, compiler will insert a check
that memcpy argument is non-NULL, regardless of the size argument.
This caused a failure in tools/test_apps/system/panic, which is built
with USBAN enabled for several components.
2021-07-09 11:24:25 +02:00
Angus Gratton
c2c0e4de3b
Merge branch 'feature/s3_wdt_bringup' into 'master'
...
TIMG and WDT bringup for S3
Closes IDF-1881, IDF-3229, IDF-3301, and IDF-3274
See merge request espressif/esp-idf!13957
2021-07-09 04:43:41 +00:00
Sachin Parekh
1e17b1d843
esp32c3/memprot: Correct the split line address calculation
2021-07-09 09:33:52 +05:30