]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
phy: apple: atc: Reset USB2 PHY during probe as well
authorSven Peter <sven@kernel.org>
Thu, 8 Jan 2026 19:12:06 +0000 (20:12 +0100)
committerVinod Koul <vkoul@kernel.org>
Wed, 14 Jan 2026 14:15:07 +0000 (19:45 +0530)
Now that the upstream Type-C PHY code is getting broader test coverage we
got reports of USB devices plugged in during boot or those plugged in for
the first time after boot occasionally not working correctly.
This is partially caused by the USB2 parts of the PHY being left in an
unknown state by the previous boot stages. We reset all other parts during
probe but forgot about the USB2 PHY so let's fix that and actually reset
and power off the USB2 PHY as well.

Reported-by: James Calligeros <jcalligeros99@gmail.com>
Reported-by: Janne Grunau <j@jannau.net>
Fixes: 8e98ca1e74db ("phy: apple: Add Apple Type-C PHY")
Signed-off-by: Sven Peter <sven@kernel.org>
Reviewed-by: Janne Grunau <j@jannau.net>
Tested-by: Janne Grunau <j@jannau.net>
Link: https://patch.msgid.link/20260108-atcphy-coldboot-fix-v1-1-01c41c6e84f2@kernel.org
Signed-off-by: Vinod Koul <vkoul@kernel.org>
drivers/phy/apple/atc.c

index 716c1e70de38ca604803739fedaa543d91f7501b..dc867f368b68748ea953e594ad998d7f965d8d1d 100644 (file)
@@ -2227,6 +2227,7 @@ static int atcphy_probe_finalize(struct apple_atcphy *atcphy)
        _atcphy_dwc3_reset_assert(atcphy);
 
        /* Reset atcphy to clear any state potentially left by the bootloader */
+       atcphy_usb2_power_off(atcphy);
        atcphy_power_off(atcphy);
        atcphy_setup_pipehandler(atcphy);