Darian Leung
1aad12468a
usb: Hub Driver Update and Refactor
...
Hub Driver is refactored as follows:
This commit update and refactors the Hub Driver as follows:
- Refactored enumeration state machine and stage functions
- Enumeration stage is now incremented
- Combined transfer stages of enumeration into common functions
- Comments updated
- Fixed usbh_hal_disable_debounce_lock() that would cause root_port_handle_events()
to fail the HCD_PORT_CMD_RESET call because the previous port connection interrupt
was not cleared.
The following features were added to the Hub Driver
- Enumeration config descriptor is now fetched in two separate stages
- Header is fetched first to determine the wTotalLength of the descriptor
- Fetching the full descriptor will request exactly wTotalLength bytes
- This works around some non-compliant devices that will babble/return zero
when requesting a length > wTotalLength
- Closes https://github.com/espressif/esp-idf/issues/7799
- Enumeration now stores string descriptors
- The Manufacturer, Product, and Serial Number string descriptors are
now read and stored during enumeration
- String descriptors are now part of usb_device_info_t
- Added unit test to test enumeration
2022-01-06 15:11:13 +08:00
Darian Leung
854127a57c
usb: USB Host stack uses USB PHY driver
...
This commit updates the USB Host stack to use the USB PHY driver. The
USB PHY and the OTG Controller should now both be setup/deleted using
usb_new_phy() and usb_del_phy() respectively.
- The hcd_install() now expects the USB PHY and OTG Contorller to be
already setup before it is called
- usb_host_install() now has an option to skip calling usb_del_phy() if
the user wants to setup their own USB PHY (e.g., in the case of using
and external PHY).
- CDC-ACM and MSC examples/test updated to use internal PHY
Closes https://github.com/espressif/esp-idf/issues/8061
2022-01-06 15:09:39 +08:00
Ondrej Kosta
fa9cc49b9e
Merge branch 'bugfix/esp_eth_start_tx_buff' into 'master'
...
Fixed ESP32 EMAC driver `insufficient TX buffer size`
Closes WIFI-4194
See merge request espressif/esp-idf!16457
2022-01-05 09:40:12 +00:00
songruojing
e0bc3a923c
esp8684: support GPIO peripheral, IO_MUX, GPIO matrix.
...
Generic GPIO example and GPIO unit test on esp8684 are both supported as well.
2021-12-29 22:01:45 +08:00
laokaiyao
4f28b33bbc
apll: add lock for apll
2021-12-29 10:13:13 +08:00
laokaiyao
af4e448928
i2s: impove the clock division calculation
...
Reported from: https://esp32.com/viewtopic.php?f=25&t=24542&p=87595#p87595
2021-12-29 10:13:13 +08:00
Harshit Malpani
2c84db95d2
freertos: fix build warnings with -Wsign-conversion CFLAG
...
Closes https://github.com/espressif/esp-idf/issues/4946
2021-12-27 13:31:34 +05:30
Song Ruo Jing
7f5e93a582
Merge branch 'bugfix/remove_ref_tick_on_s3' into 'master'
...
ledc: Remove REF_TICK as a supported clock source for LEDC driver on S3
See merge request espressif/esp-idf!16408
2021-12-23 12:21:01 +00:00
Ondrej Kosta
1150a11c56
Fixed ESP32 EMAC driver insufficient TX buffer size
which could followed esp_eth_stop and esp_eth_start sequence
2021-12-23 10:48:38 +01:00
morris
2c810f8451
timer: save alarm value in driver layer
2021-12-23 11:39:32 +08:00
songruojing
8e3bc160bc
ledc: Remove REF_TICK as a supported clock source for LEDC driver on esp32s3
2021-12-21 11:43:18 +08:00
Martin Vychodil
dd938eb952
System/Security: Memprot API unified (ESP32C3)
...
Unified Memory protection API for all PMS-aware chips (ESP32C3)
Closes JIRA IDF-3849
2021-12-21 01:50:36 +01:00
Armando
103d310aaa
adc: make adc_ll.h unavailable on 8684
2021-12-16 00:19:15 +00:00
Armando
4dc0d6b2fe
adc: support adc dma driver on all chips
2021-12-16 00:19:15 +00:00
morris
ac5c2eaa28
mcpwm: fix implicit conversion in LL function
...
Closes https://github.com/espressif/esp-idf/issues/8066
2021-12-14 17:26:55 +08:00
Cao Sen Miao
463cf2cf1c
ESP8684: Clean up ESP8684 code, remove useless code, update headers
2021-12-09 18:36:39 +08:00
Ivan Grokhotkov
c358aceb1b
Merge branch 'feature/soc_caps_build_sys' into 'master'
...
build-system: parse soc caps and integrate into kconfig
Closes IDF-2223
See merge request espressif/esp-idf!15305
2021-12-09 06:54:08 +00:00
songruojing
91f1159f9c
gpio: Fix the bug that gpio interrupt cannot be triggered on app cpu on ESP32S3
...
Add a test case for checking the interrupt on other cores.
Closes https://github.com/espressif/esp-idf/issues/7885
2021-12-06 14:17:03 +08:00
Marius Vikhammer
c6d60615c6
build-system: include soc_caps defines into kconfig
...
Adds gen_soc_caps_kconfig.py which parses the soc caps (soc_caps.h) into
a format that can be included in kconfig.
2021-12-06 12:37:07 +08:00
morris
815203f401
Merge branch 'bugfix/i2s_hal_remove_dup_code_fifo_mod' into 'master'
...
hal/i2s: remove duplicated code in i2s_hal_rx_set_pdm_mode_default
See merge request espressif/esp-idf!16208
2021-12-02 03:37:08 +00:00
Michael (XIAO Xufeng)
14213d883b
hal/i2s: remove duplicated code in i2s_hal_rx_set_pdm_mode_default
2021-12-01 05:47:36 +00:00
morris
89e37837d0
lcd: rgb pclk idle default to low
2021-11-30 13:44:06 +08:00
Michael (XIAO Xufeng)
c4310fb0db
Merge branch 'feature/add_h2_beta2_target_support' into 'master'
...
esp32h2: Add support for esp32h2 beta2 version
Closes IDF-4230
See merge request espressif/esp-idf!15630
2021-11-26 03:56:01 +00:00
laokaiyao
f21020ce04
esp32h2: update reg and struct for beta2
2021-11-24 12:34:17 +08:00
Ondrej Kosta
3a7a67f174
netif: added ESP-NETIF L2 TAP interface
2021-11-23 11:17:22 +01:00
morris
2e008825a9
Merge branch 'feat/rm_makefiles' into 'master'
...
Build & config: Remove leftover files from the unsupported make build system
Closes IDF-4273 and IDF-2827
See merge request espressif/esp-idf!15829
2021-11-16 03:44:41 +00:00
Omar Chebib
76fbd73b20
Merge branch 'bugfix/ledc_auto_clk_refactor' into 'master'
...
ledc: improved support for ESP32-C3 and refactored divisor calculation
Closes IDF-2441
See merge request espressif/esp-idf!13837
2021-11-12 03:21:46 +00:00
Roland Dobai
766aa57084
Build & config: Remove leftover files from the unsupported "make" build system
2021-11-11 15:32:36 +01:00
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