summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorSven Peter <sven@kernel.org>2025-10-15 18:40:45 +0300
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2025-10-22 11:58:31 +0300
commit0ec946d32ef7b1f58070cbef06bd7bdc8193c94a (patch)
treea8f505214f890a8121adcce0e3f829398d637c33 /include
parentf854920e8f9af234570b4c5cdfdceb87527def39 (diff)
downloadlinux-0ec946d32ef7b1f58070cbef06bd7bdc8193c94a.tar.xz
usb: dwc3: Add Apple Silicon DWC3 glue layer driver
The dwc3 controller present on Apple Silicon SoCs like the M1 requires a specific order of operations synchronized between its PHY and its Type-C controller. Specifically, the PHY first has to go through initial bringup (which requires knowledge of the lane mode and orientation) before dwc3 itself can be brought up and can then finalize the PHY configuration. Additionally, dwc3 has to be teared down and re-initialized whenever the cable is changed due to hardware quirks that prevent a new device from being recognized and due to the PHY being unable to switch lane mode or orientation while dwc3 is up and running. These controllers also have a Apple-specific MMIO region after the common dwc3 region where some controls have to be updated. PHY bringup and shutdown also requires SUSPHY to be enabled for the ports to work correctly. In the future, this driver will also gain support for USB3-via-USB4 tunneling which will require additional tweaks. Add a glue driver that takes of all of these constraints. Reviewed-by: Neal Gompa <neal@gompa.dev> Acked-by: Thinh Nguyen <Thinh.Nguyen@synopsys.com> Signed-off-by: Sven Peter <sven@kernel.org> Link: https://patch.msgid.link/20251015-b4-aplpe-dwc3-v2-5-cbd65a2d511a@kernel.org Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'include')
0 files changed, 0 insertions, 0 deletions