summaryrefslogtreecommitdiff
path: root/drivers/usb/cdns3/cdns3-starfive.c
diff options
context:
space:
mode:
authorAtlas Luo <atlas.luo@starfivetech.com>2025-04-22 10:32:00 +0300
committerAtlas Luo <atlas.luo@starfivetech.com>2025-04-22 10:32:00 +0300
commitf9311b3756e672b368d563f19ee524cabdff316f (patch)
treec8f7a32c39b8099d83818b76e313d577192d92e1 /drivers/usb/cdns3/cdns3-starfive.c
parented14f23898fe8057159973c72e414e9554e5db2b (diff)
parent931ebb71f49ead591f7649b03bf69857a8033d28 (diff)
downloadlinux-f9311b3756e672b368d563f19ee524cabdff316f.tar.xz
Merge branch 'CR_17763_usb_hal.feng' into 'jh7110-5.15.y-devel'
CR_17763_usb_hal.feng See merge request sdk/linux!1087
Diffstat (limited to 'drivers/usb/cdns3/cdns3-starfive.c')
-rw-r--r--drivers/usb/cdns3/cdns3-starfive.c6
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);