Skip to content

Commit b246caa

Browse files
Wayne Changvinodkoul
authored andcommitted
phy: tegra: xusb: Explicitly configure HS_DISCON_LEVEL to 0x7
The USB2 Bias Pad Control register manages analog parameters for signal detection. Previously, the HS_DISCON_LEVEL relied on hardware reset values, which may lead to the detection failure. Explicitly configure HS_DISCON_LEVEL to 0x7. This ensures the disconnect threshold is sufficient to guarantee reliable detection. Fixes: bbf7116 ("phy: tegra: xusb: Add Tegra186 support") Cc: stable@vger.kernel.org Signed-off-by: Wayne Chang <waynec@nvidia.com> Link: https://patch.msgid.link/20251212032116.768307-1-waynec@nvidia.com Signed-off-by: Vinod Koul <vkoul@kernel.org>
1 parent 7d8f725 commit b246caa

1 file changed

Lines changed: 3 additions & 0 deletions

File tree

drivers/phy/tegra/xusb-tegra186.c

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -84,6 +84,7 @@
8484
#define XUSB_PADCTL_USB2_BIAS_PAD_CTL0 0x284
8585
#define BIAS_PAD_PD BIT(11)
8686
#define HS_SQUELCH_LEVEL(x) (((x) & 0x7) << 0)
87+
#define HS_DISCON_LEVEL(x) (((x) & 0x7) << 3)
8788

8889
#define XUSB_PADCTL_USB2_BIAS_PAD_CTL1 0x288
8990
#define USB2_TRK_START_TIMER(x) (((x) & 0x7f) << 12)
@@ -623,6 +624,8 @@ static void tegra186_utmi_bias_pad_power_on(struct tegra_xusb_padctl *padctl)
623624
value &= ~BIAS_PAD_PD;
624625
value &= ~HS_SQUELCH_LEVEL(~0);
625626
value |= HS_SQUELCH_LEVEL(priv->calib.hs_squelch);
627+
value &= ~HS_DISCON_LEVEL(~0);
628+
value |= HS_DISCON_LEVEL(0x7);
626629
padctl_writel(padctl, value, XUSB_PADCTL_USB2_BIAS_PAD_CTL0);
627630

628631
udelay(1);

0 commit comments

Comments
 (0)