diff --git a/drivers/pinctrl/pinctrl-tegra210-xusb.c b/drivers/pinctrl/pinctrl-tegra210-xusb.c index 4475b79ccd58f..a129ab9a579ff 100644 --- a/drivers/pinctrl/pinctrl-tegra210-xusb.c +++ b/drivers/pinctrl/pinctrl-tegra210-xusb.c @@ -1148,9 +1148,9 @@ static int tegra210_utmi_phy_power_on(struct phy *phy) XUSB_PADCTL_USB2_OTG_PAD_CTL0_PD | XUSB_PADCTL_USB2_OTG_PAD_CTL0_PD2 | XUSB_PADCTL_USB2_OTG_PAD_CTL0_PD_ZI); - value |= (priv->fuse.hs_curr_level[port] + - utmi->hs_curr_level_offset) << - XUSB_PADCTL_USB2_OTG_PAD_CTL0_HS_CURR_LEVEL_SHIFT; + value |= (((u32) clamp_val((s32) priv->fuse.hs_curr_level[port] + + utmi->hs_curr_level_offset, 0, 0x3f)) << + XUSB_PADCTL_USB2_OTG_PAD_CTL0_HS_CURR_LEVEL_SHIFT); padctl_writel(padctl, value, XUSB_PADCTL_USB2_OTG_PADX_CTL0(port)); value = padctl_readl(padctl, XUSB_PADCTL_USB2_OTG_PADX_CTL1(port));