Commit 0a92ea87 authored by Justin Chen's avatar Justin Chen Committed by Vinod Koul
Browse files

phy: usb: Toggle the PHY power during init



When bringing up the PHY, it might be in a bad state if left powered.
One case is we lose the PLL lock if the PLL is gated while the PHY
is powered. Toggle the PHY power so we can start from a known state.

Fixes: 4e5b9c9a ("phy: usb: Add support for new Synopsys USB controller on the 7216")
Signed-off-by: default avatarJustin Chen <justin.chen@broadcom.com>
Acked-by: default avatarFlorian Fainelli <florian.fainelli@broadcom.com>
Link: https://lore.kernel.org/r/20241024213540.1059412-1-justin.chen@broadcom.com


Signed-off-by: default avatarVinod Koul <vkoul@kernel.org>
parent 40384c84
Loading
Loading
Loading
Loading
+6 −0
Original line number Diff line number Diff line
@@ -325,6 +325,12 @@ static void usb_init_common_7216(struct brcm_usb_init_params *params)
	void __iomem *ctrl = params->regs[BRCM_REGS_CTRL];

	USB_CTRL_UNSET(ctrl, USB_PM, XHC_S2_CLK_SWITCH_EN);

	/*
	 * The PHY might be in a bad state if it is already powered
	 * up. Toggle the power just in case.
	 */
	USB_CTRL_SET(ctrl, USB_PM, USB_PWRDN);
	USB_CTRL_UNSET(ctrl, USB_PM, USB_PWRDN);

	/* 1 millisecond - for USB clocks to settle down */