Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

phy: usb: Disable phy auto-suspend

The BDC block requires the PLL lock in order to grab the PLL clock.
The phy auto-suspend feature turns off the phy when nothing is attached
leading to the PLL to not lock. This leads the BDC block to grab the AUX
clock instead of the PLL clock. This is not ideal, so lets turn this
feature off.

Signed-off-by: Justin Chen <justinpopo6@gmail.com>
Acked-by: Florian Fainelli <f.fainelli@gmail.com>
Link: https://lore.kernel.org/r/1665005418-15807-5-git-send-email-justinpopo6@gmail.com
Signed-off-by: Vinod Koul <vkoul@kernel.org>

authored by

Justin Chen and committed by
Vinod Koul
833c173e 7e81153d

+6
+6
drivers/phy/broadcom/phy-brcm-usb-init-synopsys.c
··· 62 62 63 63 /* Register definitions for the USB_PHY block in 7211b0 */ 64 64 #define USB_PHY_PLL_CTL 0x00 65 + #define USB_PHY_PLL_CTL_PLL_SUSPEND_MASK BIT(27) 65 66 #define USB_PHY_PLL_CTL_PLL_RESETB_MASK BIT(30) 66 67 #define USB_PHY_PLL_LDO_CTL 0x08 67 68 #define USB_PHY_PLL_LDO_CTL_AFE_BG_PWRDWNB_MASK BIT(0) ··· 259 258 reg |= USB_PHY_UTMI_CTL_1_POWER_UP_FSM_EN_MASK; 260 259 brcm_usb_writel(reg, usb_phy + USB_PHY_UTMI_CTL_1); 261 260 } 261 + 262 + /* Disable PLL auto suspend */ 263 + reg = brcm_usb_readl(usb_phy + USB_PHY_PLL_CTL); 264 + reg |= USB_PHY_PLL_CTL_PLL_SUSPEND_MASK; 265 + brcm_usb_writel(reg, usb_phy + USB_PHY_PLL_CTL); 262 266 263 267 /* Init the PHY */ 264 268 reg = USB_PHY_PLL_LDO_CTL_AFE_CORERDY_MASK |