Commit Graph

18 Commits

Author SHA1 Message Date
Tomas Rezucha
c64d0be428 feat(usb/host): Update ISOC scheduler for HS endpoints
USB-OTG uses 'sched_info' field of HCTSIZ register to schedule transactions
in USB microframes.
2024-03-04 09:59:50 +01:00
Darian Leung
dc27d5456f
refactor(usb/host): reformat code with astyle 2024-02-28 16:09:50 +08:00
Tomas Rezucha
d26320d8a1
fix(usb/host): Correctly parse bInterval field in HighSpeed EP descriptors
For LS and FS interrupt endpoint: interval = bInterval
For isochronous and HS interrupt endpoint: interval = 2^(bInterval-1)
2024-02-28 16:09:50 +08:00
Tomas Rezucha
388360cc5a
fix(usb/host): Correctly parse MPS fields in HighSpeed EP descriptors
Bits [11,12] in HighSpeed periodic endpoints specify
the number of additional transaction opportunities per microframe
2024-02-28 16:09:49 +08:00
Tomas Rezucha
cb4e90ca6e refactor(usb/host): Move FIFO size configuration to HAL layer
The logic of calculating FIFO sizes is DWC OTG specific.
We move it to the HAL layer to provide better abstraction in the HDC layer.
2023-12-21 10:45:21 +01:00
Tomas Rezucha
325205faee refactor(usb/host): Make private hal types USB_DWC specific 2023-12-21 10:45:04 +01:00
Tomas Rezucha
d9223c6d91 feat(usb/host): Add High Speed enumeration types 2023-12-21 10:35:31 +01:00
Roman Leonov
e950cdf549 fix(usb/host): remove bInterval verification during pipe opening for INTR and ISOC EPs 2023-11-28 22:00:54 +01:00
Darian Leung
fdab2d0c32 refactor(hal/usb_dwc): Add DWC OTG configuration values
This commit adds a subset of the DWC OTG configuration values to the
'usb_dwc_ll.h' file. Only relevant configuration values have been added.

Some DWC OTG releated constants have also been moved from 'usb_dwc_hal.h'
to 'usb_dwc_ll.h' and renamed.
2023-11-28 22:00:54 +01:00
Darian Leung
6b585fe542 usb_host: Fix coverity issues with hcd_install()
- Use single "err_ret" variable for returning errors
- Simplify bail out procedure by using more labels
2023-08-24 12:01:50 +08:00
Darian Leung
ff8c4f79d2 usb_host: Run formatting script 2023-07-15 12:56:45 +02:00
Darian Leung
a3e4e9c772 usb_host: Fix spelling errors 2023-07-15 12:56:45 +02:00
Darian Leung
b891aa0443 usb_host: Refactor USBH and USB Host Library calls to HCD
This commit refactors the USBH and the USB Host Library in the following ways:

- USBH now presents an abstraction of an endpoint (via usbh_ep_handle_t)
    - Added separate functions to enqueue/dequeue URBs to a particular endpoint
    - USB Host Library no longer calls HCD API directly. Calls USBH endpoint API
      instead.
- Renamed "notif_cb" to "proc_req_cb" (Processing Request Callback)
    - This is to avoid confusion with FreerTOS task notifications and Host
      Library client event notifications.
    - The processing functions of each layer (i.e., "xxx_process()") request
      calls via the "proc_req_cb"
    - The main handling function (i.e., usb_host_lib_handle_events()) is
      responsible for calling the required "xxx_process()" of each layer
2023-07-15 12:56:45 +02:00
Roman Leonov
b188085ce8 usb_host: better debugging information during hcd_pipe_alloc() when usb_host_interface_claim() is being fulfiled. 2023-07-13 12:42:00 +02:00
morris
0e68d6fb29 usbh: fix invalid assert on desc_status 2023-06-26 07:07:52 +00:00
Roman Leonov
be899f6653 usb_host: add recovering interval after SetAddress(). Possibility to change constant delay value via menuconfig.
Closes https://github.com/espressif/esp-idf/issues/10444
Closes https://github.com/espressif/esp-idf/issues/10718
2023-03-09 08:11:05 +01:00
Darian Leung
d333833f59 usb_host: Rename struct/ll/hal symbols to use "usb_dwc" prefix
Following the file renaming to use the "usb_dwc" prefix, this commit
updates the symbol names of those files to use the "usb_dwc" as well.

Some LL functions were also renamed so that the register name is
mentioned.
2022-09-16 16:45:26 +08:00
Darian Leung
d8d4e3acb0 usb_host: Rename struct/ll/hal files to use "usb_dwc" prefix
This commit updates the DWC_OTG based struct/ll/hal file names to
use the prefix "usb_dwc". This naming scheme reduces ambiguity if
another USB controller implementation is added.

As a result, "hcd.c" has been renamed to "hcd_dwc.c"
2022-09-16 16:45:26 +08:00