* [PATCH v3] drivers: usb: dwc3: sync code with Linux v6.16
@ 2026-06-24 12:30 Jens Wiklander
0 siblings, 0 replies; only message in thread
From: Jens Wiklander @ 2026-06-24 12:30 UTC (permalink / raw)
To: u-boot, Marek Vasut
Cc: Ilias Apalodimas, Andre Przywara, Andrew Goodbody, Anshul Dalal,
Bin Meng, Casey Connolly, Chunfeng Yun, Eddie Cai,
GSS_MTK_Uboot_upstream, Ion Agorria, Junhui Liu, Kongyang Liu,
Lukasz Majewski, Mattijs Korpershoek, Neil Armstrong,
Patrice Chotard, Quentin Schulz, Rasmus Villemoes, Ryder Lee,
Simon Glass, Stephan Gerhold, Svyatoslav Ryhel, Tom Rini,
Varadarajan Narayanan, Weijie Gao, Zixun LI, Jerome Forissier,
Chintan Vankar, Siddharth Vadapalli
Hi,
This is a follow up on my last patchset [1]. I'm addressing feedback on
the previous post. Since there's quite a few patches I've published a
branch instead as requestsed. Last in this mail follows a summary of the
branch (it looks like a pull request, but I'm only reusing a well-known
format, it's not intended as a pull request at this stage).
The DWC3 USB driver was forked from the Linux kernel v3.19-rc1 eleven years
ago by commit 85d5e7075f33 ("usb: dwc3: add dwc3 folder from linux kernel
to u-boot"). Since then, not many kernel changes have been ported back into
U-Boot.
This series synchronizes the DWC3 core with Linux v6.16. To provide
a clear audit trail and maintain bisectability, I have structured the
series as follows:
1. Restore to Baseline: The first commit reverts U-Boot-specific changes
to drivers/usb/dwc3 to return the directory to a clean v3.19-rc1 state.
2. Milestone Imports: A sequence of 50+ commits follows, each performing
a "snapshot" import of the drivers/usb/dwc3 directory for every major
kernel version (v3.19 through v6.16).
3. U-Boot Adaptation: The final commits (based on Jerome's original work [2])
re-introduce the necessary glue code, XHCI/UDC updates, and build fixes
required for U-Boot integration.
Note that this is compile-tested only. The CI pipeline on source.denx.de
was used as an OK/NOK indicator [3].
Thanks,
Jens
[1] https://lore.kernel.org/u-boot/20260507092843.358908-1-jens.wiklander@linaro.org/
[2] https://lore.kernel.org/all/20251121153812.2076440-1-jerome.forissier@linaro.org/
[3] https://source.denx.de/u-boot/custodians/u-boot-tpm/-/pipelines/30524
RFC v2 -> v3:
- Rebased on v2026.07-rc3
- Configured out a few prints in drivers/usb/gadget/udc/udc-core.c
to make it build for am335x_evm_defconfig
- Applied provided tags in [1]
- Published as a branch
RFC v1 -> RFC v2:
- Split the v1 ("usb: dwc3: re-import from kernel v6.16-rc7") into ("usb:
dwc3: restore to original v3.19-rc1 kernel import"), ("usb: dwc3: import
from kernel v3.19)..("usb: dwc3: import from kernel v6.16-rc7")
The following changes since commit 76d62273bc8a5dc126ed79ed0fb65e5a97359577:
Prepare v2026.07-rc3 (2026-05-25 11:05:37 -0600)
are available in the Git repository at:
https://github.com/jenswikl/u-boot tags/usb-dwc3-sync-v3
for you to fetch changes up to 2e3b14270a8e9dc5e6836f0f011fd97d491a89f7:
usb: fix build after resync of DWC3 with kernel v6.16 (2026-06-24 09:48:03 +0200)
----------------------------------------------------------------
drivers: usb: dwc3: sync code with Linux v6.16
----------------------------------------------------------------
Jens Wiklander (60):
usb: dwc3: restore to original v3.19-rc1 kernel import
usb: dwc3: import from kernel v3.19
usb: dwc3: import from kernel v4.0
usb: dwc3: import from kernel v4.1
usb: dwc3: import from kernel v4.2
usb: dwc3: import from kernel v4.3
usb: dwc3: import from kernel v4.4
usb: dwc3: import from kernel v4.5
usb: dwc3: import from kernel v4.6
usb: dwc3: import from kernel v4.7
usb: dwc3: import from kernel v4.8
usb: dwc3: import from kernel v4.9
usb: dwc3: import from kernel v4.10
usb: dwc3: import from kernel v4.11
usb: dwc3: import from kernel v4.12
usb: dwc3: import from kernel v4.13
usb: dwc3: import from kernel v4.14
usb: dwc3: import from kernel v4.15
usb: dwc3: import from kernel v4.16
usb: dwc3: import from kernel v4.17
usb: dwc3: import from kernel v4.18
usb: dwc3: import from kernel v4.19
usb: dwc3: import from kernel v4.20
usb: dwc3: import from kernel v5.0
usb: dwc3: import from kernel v5.1
usb: dwc3: import from kernel v5.2
usb: dwc3: import from kernel v5.3
usb: dwc3: import from kernel v5.4
usb: dwc3: import from kernel v5.5
usb: dwc3: import from kernel v5.6
usb: dwc3: import from kernel v5.7
usb: dwc3: import from kernel v5.8
usb: dwc3: import from kernel v5.9
usb: dwc3: import from kernel v5.10
usb: dwc3: import from kernel v5.11
usb: dwc3: import from kernel v5.12
usb: dwc3: import from kernel v5.13
usb: dwc3: import from kernel v5.14
usb: dwc3: import from kernel v5.15
usb: dwc3: import from kernel v5.16
usb: dwc3: import from kernel v5.17
usb: dwc3: import from kernel v5.18
usb: dwc3: import from kernel v5.19
usb: dwc3: import from kernel v6.0
usb: dwc3: import from kernel v6.1
usb: dwc3: import from kernel v6.2
usb: dwc3: import from kernel v6.3
usb: dwc3: import from kernel v6.4
usb: dwc3: import from kernel v6.5
usb: dwc3: import from kernel v6.6
usb: dwc3: import from kernel v6.7
usb: dwc3: import from kernel v6.8
usb: dwc3: import from kernel v6.9
usb: dwc3: import from kernel v6.10
usb: dwc3: import from kernel v6.11
usb: dwc3: import from kernel v6.12
usb: dwc3: import from kernel v6.13
usb: dwc3: import from kernel v6.14
usb: dwc3: import from kernel v6.15
usb: dwc3: import from kernel v6.16
Jerome Forissier (4):
usb: host: re-import xhci-ext-caps.h from kernel v6.16
usb: gadget: re-import epautoconf.c from kernel v6.16
usb: udc: re-import udc-core.c from kernel v6.16
usb: fix build after resync of DWC3 with kernel v6.16
drivers/usb/cdns3/ep0.c | 8 +-
drivers/usb/common/common.c | 23 +
drivers/usb/dwc3/Makefile | 57 +-
drivers/usb/dwc3/core.c | 1710 ++++++++-----
drivers/usb/dwc3/core.h | 1060 ++++++--
drivers/usb/dwc3/debug.h | 432 ++++
drivers/usb/dwc3/dwc3-omap.c | 2 -
drivers/usb/dwc3/ep0.c | 737 +++---
drivers/usb/dwc3/gadget.c | 4256 ++++++++++++++++++++++----------
drivers/usb/dwc3/gadget.h | 112 +-
drivers/usb/dwc3/glue.h | 36 +
drivers/usb/dwc3/io.h | 29 +-
drivers/usb/dwc3/linux-compat.h | 16 -
drivers/usb/dwc3/samsung_usb_phy.c | 77 -
drivers/usb/dwc3/ti_usb_phy.c | 2 -
drivers/usb/gadget/at91_udc.c | 46 -
drivers/usb/gadget/atmel_usba_udc.c | 102 +-
drivers/usb/gadget/ci_udc.c | 470 ----
drivers/usb/gadget/composite.c | 2 +-
drivers/usb/gadget/dwc2_udc_otg.c | 174 +-
drivers/usb/gadget/epautoconf.c | 289 +--
drivers/usb/gadget/ether.c | 21 +-
drivers/usb/gadget/f_acm.c | 20 +-
drivers/usb/gadget/f_fastboot.c | 10 +-
drivers/usb/gadget/f_mass_storage.c | 5 +-
drivers/usb/gadget/f_rockusb.c | 11 +-
drivers/usb/gadget/f_sdp.c | 12 +-
drivers/usb/gadget/f_thor.c | 19 +-
drivers/usb/gadget/udc/Makefile | 1 +
drivers/usb/gadget/udc/udc-core.c | 1099 ++++++++-
drivers/usb/host/xhci-dwc3.c | 4 +-
drivers/usb/host/xhci-ext-caps.h | 158 ++
drivers/usb/host/xhci-exynos5.c | 2 +-
drivers/usb/mtu3/mtu3_gadget_ep0.c | 16 +-
drivers/usb/musb-new/musb_gadget_ep0.c | 24 +-
drivers/usb/musb-new/musb_uboot.c | 39 -
include/dm/device_compat.h | 13 +
include/dm/read.h | 46 +
include/linux/compat.h | 15 +
include/linux/usb/ch9.h | 25 +-
include/linux/usb/gadget.h | 520 +---
include/linux/usb/otg.h | 10 +
include/linux/usb/phy.h | 56 +
43 files changed, 7591 insertions(+), 4175 deletions(-)
create mode 100644 drivers/usb/dwc3/debug.h
create mode 100644 drivers/usb/dwc3/glue.h
delete mode 100644 drivers/usb/dwc3/linux-compat.h
delete mode 100644 drivers/usb/dwc3/samsung_usb_phy.c
create mode 100644 drivers/usb/host/xhci-ext-caps.h
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2026-06-24 12:30 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-06-24 12:30 [PATCH v3] drivers: usb: dwc3: sync code with Linux v6.16 Jens Wiklander
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.