The Linux support for dwc3 on Apple silicon SoCs switched to using a apple specific glue driver [1] that uses it own compatible string. The glue driver handles platform specific requirements on the interaction between dwc3 and the USB2/USB3 PHY and reset-controller for USB role switches and plug events. To keep USB working as before when the nodes still carried "snps,dwc3" as compatible add "apple,t8103-dwc3" to the of match table. Eventually it is probably advisable to add a dwc3-apple glue driver and write code for the currently empty Apple Type-C PHY driver in phy-apple-atc.c.
Link: https://lore.kernel.org/asahi/[email protected]/ [1] Reviewed-by: Neal Gompa <[email protected]> Reviewed-by: Mark Kettenis <[email protected]> Reviewed-by: Marek Vasut <[email protected]> Signed-off-by: Janne Grunau <[email protected]> --- Changes in v2: - sorted the entries in xhci_dwc3_ids alphabetically - imported Reviewed-by: trailers - Link to v1: https://lore.kernel.org/r/20260109-usb-dwc3-apple-compat-linux-v1-1-b6e255b5e...@jannau.net --- drivers/usb/host/xhci-dwc3.c | 1 + 1 file changed, 1 insertion(+) diff --git a/drivers/usb/host/xhci-dwc3.c b/drivers/usb/host/xhci-dwc3.c index e3e0ceff43e6abdb8643f265819eff28c2c802f4..8ad07a4b98c9574a5fa0cbfe83f5567e0f49f364 100644 --- a/drivers/usb/host/xhci-dwc3.c +++ b/drivers/usb/host/xhci-dwc3.c @@ -237,6 +237,7 @@ static int xhci_dwc3_remove(struct udevice *dev) } static const struct udevice_id xhci_dwc3_ids[] = { + { .compatible = "apple,t8103-dwc3" }, { .compatible = "snps,dwc3" }, { } }; --- base-commit: 127a42c7257a6ffbbd1575ed1cbaa8f5408a44b3 change-id: 20260109-usb-dwc3-apple-compat-linux-821ee75bec48 Best regards, -- Janne Grunau <[email protected]>

