69 lines
2.3 KiB
Diff
69 lines
2.3 KiB
Diff
|
From 42de8afc40c97002fceb500e2331f6a722be3c14 Mon Sep 17 00:00:00 2001
|
||
|
From: Jules Maselbas <jmaselbas@kalray.eu>
|
||
|
Date: Thu, 9 May 2019 11:15:28 +0200
|
||
|
Subject: [PATCH 49/53] usb: dwc2: Use generic PHY width in params setup
|
||
|
|
||
|
Setting params.phy_utmi_width in dwc2_lowlevel_hw_init() is pointless since
|
||
|
it's value will be overwritten by dwc2_init_params().
|
||
|
|
||
|
This change make sure to take in account the generic PHY width information
|
||
|
during paraminitialisation, done in dwc2_set_param_phy_utmi_width().
|
||
|
|
||
|
By doing so, the phy_utmi_width params can still be overrided by
|
||
|
devicetree specific params and will also be checked against hardware
|
||
|
capabilities.
|
||
|
|
||
|
Fixes: 707d80f0a3c5 ("usb: dwc2: gadget: Replace phyif with phy_utmi_width")
|
||
|
Acked-by: Minas Harutyunyan <hminas@synopsys.com>
|
||
|
Tested-by: Marek Szyprowski <m.szyprowski@samsung.com>
|
||
|
Signed-off-by: Jules Maselbas <jmaselbas@kalray.eu>
|
||
|
Signed-off-by: Felipe Balbi <felipe.balbi@linux.intel.com>
|
||
|
---
|
||
|
drivers/usb/dwc2/params.c | 9 +++++++++
|
||
|
drivers/usb/dwc2/platform.c | 9 ---------
|
||
|
2 files changed, 9 insertions(+), 9 deletions(-)
|
||
|
|
||
|
diff --git a/drivers/usb/dwc2/params.c b/drivers/usb/dwc2/params.c
|
||
|
index 6900eea57526..5949262ff669 100644
|
||
|
--- a/drivers/usb/dwc2/params.c
|
||
|
+++ b/drivers/usb/dwc2/params.c
|
||
|
@@ -253,6 +253,15 @@ static void dwc2_set_param_phy_utmi_width(struct dwc2_hsotg *hsotg)
|
||
|
val = (hsotg->hw_params.utmi_phy_data_width ==
|
||
|
GHWCFG4_UTMI_PHY_DATA_WIDTH_8) ? 8 : 16;
|
||
|
|
||
|
+ if (hsotg->phy) {
|
||
|
+ /*
|
||
|
+ * If using the generic PHY framework, check if the PHY bus
|
||
|
+ * width is 8-bit and set the phyif appropriately.
|
||
|
+ */
|
||
|
+ if (phy_get_bus_width(hsotg->phy) == 8)
|
||
|
+ val = 8;
|
||
|
+ }
|
||
|
+
|
||
|
hsotg->params.phy_utmi_width = val;
|
||
|
}
|
||
|
|
||
|
diff --git a/drivers/usb/dwc2/platform.c b/drivers/usb/dwc2/platform.c
|
||
|
index d10a7f8daec3..e98d7812da2d 100644
|
||
|
--- a/drivers/usb/dwc2/platform.c
|
||
|
+++ b/drivers/usb/dwc2/platform.c
|
||
|
@@ -271,15 +271,6 @@ static int dwc2_lowlevel_hw_init(struct dwc2_hsotg *hsotg)
|
||
|
|
||
|
hsotg->plat = dev_get_platdata(hsotg->dev);
|
||
|
|
||
|
- if (hsotg->phy) {
|
||
|
- /*
|
||
|
- * If using the generic PHY framework, check if the PHY bus
|
||
|
- * width is 8-bit and set the phyif appropriately.
|
||
|
- */
|
||
|
- if (phy_get_bus_width(hsotg->phy) == 8)
|
||
|
- hsotg->params.phy_utmi_width = 8;
|
||
|
- }
|
||
|
-
|
||
|
/* Clock */
|
||
|
hsotg->clk = devm_clk_get_optional(hsotg->dev, "otg");
|
||
|
if (IS_ERR(hsotg->clk)) {
|
||
|
--
|
||
|
2.11.0
|
||
|
|