The Asahi Linux team continues to make progress in bringing full Linux support to Apple’s Arm-based Macs. Their latest milestone is enabling USB 3.1 Gen 2 functionality on M1 and M2 systems-on-chip (SoCs). While Asahi users have already had access to this feature for some time, the patches are now being proposed for inclusion in the mainline Linux kernel, marking a big step forward.
However, support for DisplayPort and Thunderbolt alt modes isn’t ready yet. Developers note that groundwork for these features has been laid, but additional work is required. According to the team, one of the biggest hurdles has been working against quirks in Apple’s USB controller firmware, which makes implementing these features unusually difficult.
Currently, Asahi Linux supports M1 and M2 Macs, with a few notable gaps remaining: USB-C external displays, USB4/Thunderbolt, and Touch ID still aren’t functional.
Why USB 3 on Apple Silicon Is Tricky
The developers describe Apple’s USB3 controller as “a very special kind of broken.” Unlike standard implementations, it:
- Fails to detect plug/unplug events that should normally be handled by the dwc3 controller.
- Requires a full hardware reset for every new connection or mode change.
- Needs extremely careful synchronization between the Type-C PHY bring-up and dwc3 initialization.
If this process isn’t perfectly timed, the port can either stop working until the system is rebooted or, in worst cases, trigger a watchdog reset of the entire SoC within seconds.
At the center of this complexity is Apple’s CD321x TIPD variant, which negotiates Type-C modes. Unlike other controllers, it doesn’t expose power or data profiles (PDOs/VDOs) for software to control. Instead, the system only learns which mode has been chosen after the fact — forcing developers to adapt accordingly.
One developer even dumped the firmware from the CD321x chip to confirm these limitations.
The Path Forward
Despite the challenges, the team has finally arrived at a solution stable enough to propose for merging into the kernel. The current driver series also contains early support for DisplayPort AltMode and USB4/Thunderbolt, though more development is needed before these features become usable.
Testing requires the latest version of m1n1 (not the older 1.5.0 release) since newer device tree tunables are necessary. Developers can try it out via the apple-usb3-v1 kernel tag.
If no better approach is suggested during review, the Asahi team plans to drop the RFC (Request for Comments) label and extend the patches to cover all M1 and M2 Macs.