[linux-yocto] [PATCH 1/3] drivers/usb: Update the Axxia USB Quirks
Daniel Dragomir
daniel.dragomir at windriver.com
Fri Dec 9 06:29:35 PST 2016
From: John Jacques <john.jacques at intel.com>
Signed-off-by: John Jacques <john.jacques at intel.com>
---
arch/arm64/boot/dts/intel/axc67xx.dtsi | 6 ++++--
arch/arm64/boot/dts/intel/axm56xx.dtsi | 2 +-
drivers/usb/dwc3/core.c | 11 ++++++++---
drivers/usb/dwc3/core.h | 8 ++++++--
4 files changed, 19 insertions(+), 8 deletions(-)
diff --git a/arch/arm64/boot/dts/intel/axc67xx.dtsi b/arch/arm64/boot/dts/intel/axc67xx.dtsi
index 95e7761..3e8acdb 100644
--- a/arch/arm64/boot/dts/intel/axc67xx.dtsi
+++ b/arch/arm64/boot/dts/intel/axc67xx.dtsi
@@ -141,7 +141,8 @@
compatible = "snps,dwc3";
reg = <0x90 0x00000000 0 0x100000>;
interrupts = <GIC_SPI 55 IRQ_TYPE_LEVEL_HIGH>;
- snps,axxia_usb_quirk;
+ snps,axxia_usb_944754_quirk;
+ snps,axxia_usb_952264_quirk;
};
};
@@ -156,7 +157,8 @@
compatible = "snps,dwc3";
reg = <0x98 0x00000000 0 0x100000>;
interrupts = <GIC_SPI 56 IRQ_TYPE_LEVEL_HIGH>;
- snps,axxia_usb_quirk;
+ snps,axxia_usb_944754_quirk;
+ snps,axxia_usb_952264_quirk;
};
};
diff --git a/arch/arm64/boot/dts/intel/axm56xx.dtsi b/arch/arm64/boot/dts/intel/axm56xx.dtsi
index 849d1e6..522e6b8 100644
--- a/arch/arm64/boot/dts/intel/axm56xx.dtsi
+++ b/arch/arm64/boot/dts/intel/axm56xx.dtsi
@@ -123,7 +123,7 @@
compatible = "snps,dwc3";
reg = <0x90 0x00000000 0 0x100000>;
interrupts = <GIC_SPI 90 IRQ_TYPE_LEVEL_HIGH>;
- snps,axxia_usb_quirk;
+ snps,axxia_usb_944754_quirk;
};
};
diff --git a/drivers/usb/dwc3/core.c b/drivers/usb/dwc3/core.c
index b44d477..c13d121 100644
--- a/drivers/usb/dwc3/core.c
+++ b/drivers/usb/dwc3/core.c
@@ -465,9 +465,12 @@ static int dwc3_phy_setup(struct dwc3 *dwc)
if (dwc->dis_u3_susphy_quirk)
reg &= ~DWC3_GUSB3PIPECTL_SUSPHY;
- if (dwc->axxia_usb_quirk)
+ if (dwc->axxia_usb_944754_quirk)
reg &= ~(1 << 18);
+ if (dwc->axxia_usb_952264_quirk)
+ reg |= (1 << 28);
+
dwc3_writel(dwc->regs, DWC3_GUSB3PIPECTL(0), reg);
reg = dwc3_readl(dwc->regs, DWC3_GUSB2PHYCFG(0));
@@ -915,8 +918,10 @@ static int dwc3_probe(struct platform_device *pdev)
"snps,lfps_filter_quirk");
dwc->rx_detect_poll_quirk = device_property_read_bool(dev,
"snps,rx_detect_poll_quirk");
- dwc->axxia_usb_quirk = device_property_read_bool(dev,
- "snps,axxia_usb_quirk");
+ dwc->axxia_usb_944754_quirk = device_property_read_bool(dev,
+ "snps,axxia_usb_944754_quirk");
+ dwc->axxia_usb_952264_quirk = device_property_read_bool(dev,
+ "snps,axxia_usb_952264_quirk");
dwc->dis_u3_susphy_quirk = device_property_read_bool(dev,
"snps,dis_u3_susphy_quirk");
dwc->dis_u2_susphy_quirk = device_property_read_bool(dev,
diff --git a/drivers/usb/dwc3/core.h b/drivers/usb/dwc3/core.h
index 4bef77e..6c2bd96 100644
--- a/drivers/usb/dwc3/core.h
+++ b/drivers/usb/dwc3/core.h
@@ -719,7 +719,10 @@ struct dwc3_scratchpad_array {
* @del_phy_power_chg_quirk: set if we enable delay phy power change quirk
* @lfps_filter_quirk: set if we enable LFPS filter quirk
* @rx_detect_poll_quirk: set if we enable rx_detect to polling lfps quirk
- * @axxia_usb_quirk: set if we enable the Axxia usb quirk
+ * @axxia_usb_944754_quirk: set if we enable the Axxia usb quirk
+ * "phy star 9000944754"
+ * @axxia_usb_952264_quirk: set if we enable the Axxia usb quirk
+ * "phy star 9000952264"
* @dis_u3_susphy_quirk: set if we disable usb3 suspend phy
* @dis_u2_susphy_quirk: set if we disable usb2 suspend phy
* @dis_enblslpm_quirk: set if we clear enblslpm in GUSB2PHYCFG,
@@ -865,7 +868,8 @@ struct dwc3 {
unsigned del_phy_power_chg_quirk:1;
unsigned lfps_filter_quirk:1;
unsigned rx_detect_poll_quirk:1;
- unsigned axxia_usb_quirk:1;
+ unsigned axxia_usb_944754_quirk:1;
+ unsigned axxia_usb_952264_quirk:1;
unsigned dis_u3_susphy_quirk:1;
unsigned dis_u2_susphy_quirk:1;
unsigned dis_enblslpm_quirk:1;
--
2.7.4
More information about the linux-yocto
mailing list