Message ID | 20190103103538.30970-1-mgautam@codeaurora.org (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | [v1] arm64: dts: qcom: msm8996: Disable USB2 PHY suspend by core | expand |
On Thu, Jan 3, 2019 at 6:18 PM Manu Gautam <mgautam@codeaurora.org> wrote: > > QUSB2 PHY on msm8996 doesn't work well when autosuspend by > dwc3 core using USB2PHYCFG register is enabled. One of the > issue seen is that PHY driver reports PLL lock failure and > fails phy_init() if dwc3 core has USB2 PHY suspend enabled. > Fix this by using quirks to disable USB2 PHY LPM/suspend and > dwc3 core already takes care of explicitly suspending PHY > during suspend if quirks are specified. > > Signed-off-by: Manu Gautam <mgautam@codeaurora.org> > --- This works well for db820c [1]. Tested-by: Vivek Gautam <vivek.gautam@codeaurora.org> [1] https://github.com/vivekgautam1/linux/commits/origin/v4.20-rc5/db820c Best regards Vivek > arch/arm64/boot/dts/qcom/msm8996.dtsi | 4 ++++ > 1 file changed, 4 insertions(+) > > diff --git a/arch/arm64/boot/dts/qcom/msm8996.dtsi b/arch/arm64/boot/dts/qcom/msm8996.dtsi > index b29fe80d7288..1f14ca35afc2 100644 > --- a/arch/arm64/boot/dts/qcom/msm8996.dtsi > +++ b/arch/arm64/boot/dts/qcom/msm8996.dtsi > @@ -911,6 +911,8 @@ > interrupts = <0 138 IRQ_TYPE_LEVEL_HIGH>; > phys = <&hsusb_phy2>; > phy-names = "usb2-phy"; > + snps,dis_u2_susphy_quirk; > + snps,dis_enblslpm_quirk; > }; > }; > > @@ -940,6 +942,8 @@ > interrupts = <0 131 IRQ_TYPE_LEVEL_HIGH>; > phys = <&hsusb_phy1>, <&ssusb_phy_0>; > phy-names = "usb2-phy", "usb3-phy"; > + snps,dis_u2_susphy_quirk; > + snps,dis_enblslpm_quirk; > }; > }; > > -- > The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum, > a Linux Foundation Collaborative Project >
diff --git a/arch/arm64/boot/dts/qcom/msm8996.dtsi b/arch/arm64/boot/dts/qcom/msm8996.dtsi index b29fe80d7288..1f14ca35afc2 100644 --- a/arch/arm64/boot/dts/qcom/msm8996.dtsi +++ b/arch/arm64/boot/dts/qcom/msm8996.dtsi @@ -911,6 +911,8 @@ interrupts = <0 138 IRQ_TYPE_LEVEL_HIGH>; phys = <&hsusb_phy2>; phy-names = "usb2-phy"; + snps,dis_u2_susphy_quirk; + snps,dis_enblslpm_quirk; }; }; @@ -940,6 +942,8 @@ interrupts = <0 131 IRQ_TYPE_LEVEL_HIGH>; phys = <&hsusb_phy1>, <&ssusb_phy_0>; phy-names = "usb2-phy", "usb3-phy"; + snps,dis_u2_susphy_quirk; + snps,dis_enblslpm_quirk; }; };
QUSB2 PHY on msm8996 doesn't work well when autosuspend by dwc3 core using USB2PHYCFG register is enabled. One of the issue seen is that PHY driver reports PLL lock failure and fails phy_init() if dwc3 core has USB2 PHY suspend enabled. Fix this by using quirks to disable USB2 PHY LPM/suspend and dwc3 core already takes care of explicitly suspending PHY during suspend if quirks are specified. Signed-off-by: Manu Gautam <mgautam@codeaurora.org> --- arch/arm64/boot/dts/qcom/msm8996.dtsi | 4 ++++ 1 file changed, 4 insertions(+)