diff options
-rw-r--r-- | drivers/usb/cdns3/cdns3-starfive.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/drivers/usb/cdns3/cdns3-starfive.c b/drivers/usb/cdns3/cdns3-starfive.c index 84f0f483a749..a4cd8e919048 100644 --- a/drivers/usb/cdns3/cdns3-starfive.c +++ b/drivers/usb/cdns3/cdns3-starfive.c @@ -57,6 +57,8 @@ #define USB3_PHY_RES_INDEX 0 #define USB2_PHY_RES_INDEX 1 +#define USB_CLK_MODE_OFF 0x0 +#define USB_CLK_MODE_RX_NORMAL_PWR 1 #define USB_LS_KEEPALIVE_OFF 0x4 #define USB_LS_KEEPALIVE_ENABLE 4 @@ -201,6 +203,10 @@ static void cdns_starfive_set_phy(struct cdns_starfive *data) { unsigned int val; + val = readl(data->phybase_20 + USB_CLK_MODE_OFF); + val |= BIT(USB_CLK_MODE_RX_NORMAL_PWR); + writel(val, data->phybase_20 + USB_CLK_MODE_OFF); + if (data->mode != USB_DR_MODE_PERIPHERAL) { /* Enable the LS speed keep-alive signal */ val = readl(data->phybase_20 + USB_LS_KEEPALIVE_OFF); |