esp-idf/components/usb
Darian Leung 64faf3aa9f
refactor(usb/usbh): Update USBH device creation and enumeration handling
This commit updates how the USBH handles device creation and enumeration so that
upper layers (such as the Hub driver) can use the USBH API for enumeration instead
of calling the HCD.

USBH Updates:

USBH now creates unenumerated devices set to address 0 with no device/config
descriptor. A newly created device can be opened and communicated with immediately
(using control transfers). This allows the Hub driver to call the USBH instead of
the HCD. Summary of USBH changes:

- Added new APIs to add/remove a device. Devices are now created as unenumerated
and can be immediately opened and communicated with.
- Added new APIs to enumerate a device (see 'usbh_dev_set_...()' functions). Device
must be locked (see 'usbh_dev_enum_lock()') before enumeration functions can be called.
- Added UID for each device. This allows the particular USBH without needing to
use the device's handle (which implies opening the device).

Hub Driver Updates:

Hub driver now calls the USBH for enumeration. Summary of USBH changes:

- Replace all 'hcd_pipe_...()' calls with 'usbh_dev_...()' calls
- Refactored port event handling to fit with new USBH API
- Updated to use UID to uniquely identify devices without opening them

USB Host Updates:

- Reroute USBH control transfers to clients and hub driver
2024-06-04 20:34:57 +08:00
..
include feat(usb/host): Add missing sync types from USB specification 2024-06-04 20:34:52 +08:00
private_include refactor(usb/usbh): Update USBH device creation and enumeration handling 2024-06-04 20:34:57 +08:00
test_apps feat(usb/host): Update ISOC scheduler for HS endpoints 2024-03-04 10:00:35 +01:00
CMakeLists.txt refactor(usb): Deprecate CONFIG_USB_OTG_SUPPORTED, use SOC_USB_OTG_SUPPORTED instead 2024-02-19 15:45:02 +08:00
hcd_dwc.c refactor(usb/usbh): Update USBH device creation and enumeration handling 2024-06-04 20:34:57 +08:00
hub.c refactor(usb/usbh): Update USBH device creation and enumeration handling 2024-06-04 20:34:57 +08:00
Kconfig feat(usb_host): Added KConfig parameter for External HUB support enable 2024-06-04 20:34:52 +08:00
maintainers.md usb: Fix how the HCD handles sudden disconnection 2021-11-02 14:30:58 +08:00
usb_helpers.c fix(usb/host): Correctly parse MPS fields in HighSpeed EP descriptors 2024-02-19 15:44:59 +08:00
usb_host.c refactor(usb/usbh): Update USBH device creation and enumeration handling 2024-06-04 20:34:57 +08:00
usb_phy.c refactor(soc): Rename usb_otg_periph to usb_dwc_periph 2024-02-19 15:45:04 +08:00
usb_private.c change(usb/host): Remove data buffer headers from URBs 2024-02-19 06:57:30 +08:00
usbh.c refactor(usb/usbh): Update USBH device creation and enumeration handling 2024-06-04 20:34:57 +08:00