mbox series

[v3,0/4] usb: dwc3: Avoid using reserved EPs

Message ID 20250212193116.2487289-1-andriy.shevchenko@linux.intel.com (mailing list archive)
Headers show
Series usb: dwc3: Avoid using reserved EPs | expand

Message

Andy Shevchenko Feb. 12, 2025, 7:28 p.m. UTC
On some platforms (Intel-based and AFAIK ARM-based) the EPs in the gadget
(USB Device Controller mode) may be reserved for some special means, such as
tracing. This series extends DT schema and driver to avoid using those.
Without this the USB gadget mode won't work properly (those devices that
"luckily" allocated the reserved EPs).

Changelog v3:
- split refactoring as preparatory change (Thinh)
- renamed variable and function (Thinh)
- added a warning in one place (Thinh)
- gathered tags (Ferry, Rob, Thinh)

Changelog v2:
- added minItems to the schema (Rob)
- revisited code and add NULL check to avoid crashes (Thinh)
- rewrote helper function to return error to the user if parsing fails
- elaborated in the commit message why we need this quirk (Thinh)
- addressed miscellaneous style issues (Thinh)

Andy Shevchenko (4):
  dt-bindings: usb: dwc3: Add a property to reserve endpoints
  usb: dwc3: gadget: Refactor loop to avoid NULL endpoints
  usb: dwc3: gadget: Add support for snps,reserved-endpoints property
  usb: dwc3: gadget: Avoid using reserved endpoints on Intel Merrifield

 .../bindings/usb/snps,dwc3-common.yaml        | 11 ++++
 drivers/usb/dwc3/dwc3-pci.c                   | 10 +++
 drivers/usb/dwc3/gadget.c                     | 63 +++++++++++++++++--
 3 files changed, 79 insertions(+), 5 deletions(-)