aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/layerscape/patches-5.4/820-usb-0004-usb-dwc3-use-suspend-clock-from-dt-to-set-power-down.patch
diff options
context:
space:
mode:
Diffstat (limited to 'target/linux/layerscape/patches-5.4/820-usb-0004-usb-dwc3-use-suspend-clock-from-dt-to-set-power-down.patch')
-rw-r--r--target/linux/layerscape/patches-5.4/820-usb-0004-usb-dwc3-use-suspend-clock-from-dt-to-set-power-down.patch62
1 files changed, 0 insertions, 62 deletions
diff --git a/target/linux/layerscape/patches-5.4/820-usb-0004-usb-dwc3-use-suspend-clock-from-dt-to-set-power-down.patch b/target/linux/layerscape/patches-5.4/820-usb-0004-usb-dwc3-use-suspend-clock-from-dt-to-set-power-down.patch
deleted file mode 100644
index a60167e945..0000000000
--- a/target/linux/layerscape/patches-5.4/820-usb-0004-usb-dwc3-use-suspend-clock-from-dt-to-set-power-down.patch
+++ /dev/null
@@ -1,62 +0,0 @@
-From 0d4749abb6f7d042643ba1aa27a7388e8290b6f5 Mon Sep 17 00:00:00 2001
-From: Li Jun <jun.li@nxp.com>
-Date: Tue, 16 Apr 2019 14:02:38 +0800
-Subject: [PATCH] usb: dwc3: use suspend clock from dt to set power down scale
-
-Since the new dwc3 use bulk clks including the suspend clk, so we can
-use it to calculate the power down scale value.
-
-Acked-by: Peter Chen <peter.chen@nxp.com>
-Signed-off-by: Li Jun <jun.li@nxp.com>
----
- drivers/usb/dwc3/core.c | 21 +++++++++++++++++++++
- drivers/usb/dwc3/core.h | 1 +
- 2 files changed, 22 insertions(+)
-
---- a/drivers/usb/dwc3/core.c
-+++ b/drivers/usb/dwc3/core.c
-@@ -900,6 +900,25 @@ static void dwc3_set_incr_burst_type(str
- dwc3_writel(dwc->regs, DWC3_GSBUSCFG0, cfg);
- }
-
-+static void dwc3_set_power_down_clk_scale(struct dwc3 *dwc)
-+{
-+ u32 reg, scale;
-+
-+ if (dwc->num_clks == 0)
-+ return;
-+
-+ /*
-+ * The power down scale field specifies how many suspend_clk
-+ * periods fit into a 16KHz clock period. When performing
-+ * the division, round up the remainder.
-+ */
-+ scale = DIV_ROUND_UP(clk_get_rate(dwc->clks[2].clk), 16384);
-+ reg = dwc3_readl(dwc->regs, DWC3_GCTL);
-+ reg &= ~(DWC3_GCTL_PWRDNSCALE_MASK);
-+ reg |= DWC3_GCTL_PWRDNSCALE(scale);
-+ dwc3_writel(dwc->regs, DWC3_GCTL, reg);
-+}
-+
- /**
- * dwc3_core_init - Low-level initialization of DWC3 Core
- * @dwc: Pointer to our controller context structure
-@@ -924,6 +943,8 @@ static int dwc3_core_init(struct dwc3 *d
- dwc->maximum_speed = USB_SPEED_HIGH;
- }
-
-+ dwc3_set_power_down_clk_scale(dwc);
-+
- ret = dwc3_phy_setup(dwc);
- if (ret)
- goto err0;
---- a/drivers/usb/dwc3/core.h
-+++ b/drivers/usb/dwc3/core.h
-@@ -224,6 +224,7 @@
-
- /* Global Configuration Register */
- #define DWC3_GCTL_PWRDNSCALE(n) ((n) << 19)
-+#define DWC3_GCTL_PWRDNSCALE_MASK DWC3_GCTL_PWRDNSCALE(0x1fff)
- #define DWC3_GCTL_U2RSTECN BIT(16)
- #define DWC3_GCTL_RAMCLKSEL(x) (((x) & DWC3_GCTL_CLK_MASK) << 6)
- #define DWC3_GCTL_CLK_BUS (0)