Apple Type-C PHY driver RFC posted to kernel mailing list
(lore.kernel.org)
from TheTwelveYearOld@lemmy.world to linux@lemmy.ml on 22 Aug 07:59
https://lemmy.world/post/34804328
from TheTwelveYearOld@lemmy.world to linux@lemmy.ml on 22 Aug 07:59
https://lemmy.world/post/34804328
Subject: [PATCH RFC 21/22] phy: apple: Add Apple Type-C PHY Date: Thu, 21 Aug 2025 15:39:13 +0000[thread overview] Message-ID: <20250821-atcphy-6-17-v1-21-172beda182b8@kernel.org> (raw) In-Reply-To: <20250821-atcphy-6-17-v1-0-172beda182b8@kernel.org> The Apple Type-C PHY (ATCPHY) is a PHY for USB 2.0, USB 3.x, USB4/Thunderbolt, and DisplayPort connectivity found in Apple Silicon SoCs. The PHY handles muxing between these different protocols and also provides the reset controller for the attached dwc3 USB controller. There is no documentation available for this PHY and the entire sequence of MMIO pokes has been figured out by tracing all MMIO access of Apple's driver under a thin hypervisor and correlating the register reads/writes to their kernel's debug output to find their names. Deviations from this sequence generally results in the port not working or, especially when the mode is switched to USB4 or Thunderbolt, to some watchdog resetting the entire SoC. This initial commit already introduces support for Display Port and USB4/Thunderbolt but the drivers for these are not ready. We cannot control the alternate mode negotiation and are stuck with whatever Apple's firmware decides such that any DisplayPort or USB4/Thunderbolt device will result in a correctly setup PHY but not be usable until the other drivers are upstreamed as well. Co-developed-by: Janne Grunau <j@jannau.net> Signed-off-by: Janne Grunau <j@jannau.net> Co-developed-by: Hector Martin <marcan@marcan.st> Signed-off-by: Hector Martin <marcan@marcan.st> Signed-off-by: Sven Peter <sven@kernel.org>
threaded - newest