summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYin Honghua-R63875 <Hong-Hua.Yin@freescale.com>2015-11-24 06:35:34 (GMT)
committerYin Honghua-R63875 <Hong-Hua.Yin@freescale.com>2015-11-24 06:35:34 (GMT)
commit1c291fd8f4204f5515e27cbd2e7413320efd3b0b (patch)
tree14d31f8da28f2753d8c0773bf6802a3c8db7d27c
parent50eea5125969ce451f520e7dc04ae4065d5d8cc4 (diff)
parentdd05648ba8c2327863dbef3f0136876a7f2ae874 (diff)
downloadlinux-fsl-qoriq-1c291fd8f4204f5515e27cbd2e7413320efd3b0b.tar.xz
Merge pull request #72 in SDK/linux-devel from ~B56421/linux-devel_sdk_ip-usb:bugfix/QSDK-2454 to master
* commit 'dd05648ba8c2327863dbef3f0136876a7f2ae874': arm: dts: ls1021a: Add dma-coherent property to usb3 node drivers: dwc3: Set dma ops for xhci dev drivers: dwc3 : Add support for USB snooping drivers: dwc3: host: Change burst beat and outstanding pipelined transfers requests.
-rw-r--r--arch/arm/boot/dts/ls1021a.dtsi1
-rw-r--r--drivers/usb/dwc3/core.c9
-rw-r--r--drivers/usb/dwc3/host.c1
3 files changed, 11 insertions, 0 deletions
diff --git a/arch/arm/boot/dts/ls1021a.dtsi b/arch/arm/boot/dts/ls1021a.dtsi
index c44f0de..96a7dd2 100644
--- a/arch/arm/boot/dts/ls1021a.dtsi
+++ b/arch/arm/boot/dts/ls1021a.dtsi
@@ -801,6 +801,7 @@
interrupts = <GIC_SPI 93 IRQ_TYPE_LEVEL_HIGH>;
dr_mode = "host";
configure-gfladj;
+ dma-coherent;
};
pcie@3400000 {
diff --git a/drivers/usb/dwc3/core.c b/drivers/usb/dwc3/core.c
index 4787d66..736f79a 100644
--- a/drivers/usb/dwc3/core.c
+++ b/drivers/usb/dwc3/core.c
@@ -495,6 +495,15 @@ static int dwc3_probe(struct platform_device *pdev)
dwc3_writel(dwc->regs, DWC3_GFLADJ, GFLADJ_30MHZ_REG_SEL |
GFLADJ_30MHZ(GFLADJ_30MHZ_DEFAULT));
+ dwc3_writel(dwc->regs, DWC3_GSBUSCFG0,
+ (dwc3_readl(dwc->regs, DWC3_GSBUSCFG0) & ~0xff) | 0xf);
+ dwc3_writel(dwc->regs, DWC3_GSBUSCFG1,
+ dwc3_readl(dwc->regs, DWC3_GSBUSCFG1) | 0xf00);
+
+ /* Enable Snooping */
+ dwc3_writel(dwc->regs, DWC3_GSBUSCFG0,
+ dwc3_readl(dwc->regs, DWC3_GSBUSCFG0) | 0x22220000);
+
if (IS_ENABLED(CONFIG_USB_DWC3_HOST))
dwc->dr_mode = USB_DR_MODE_HOST;
else if (IS_ENABLED(CONFIG_USB_DWC3_GADGET))
diff --git a/drivers/usb/dwc3/host.c b/drivers/usb/dwc3/host.c
index 32db328..98015ce 100644
--- a/drivers/usb/dwc3/host.c
+++ b/drivers/usb/dwc3/host.c
@@ -36,6 +36,7 @@ int dwc3_host_init(struct dwc3 *dwc)
xhci->dev.parent = dwc->dev;
xhci->dev.dma_mask = dwc->dev->dma_mask;
xhci->dev.dma_parms = dwc->dev->dma_parms;
+ set_dma_ops(&xhci->dev, dwc->dev->archdata.dma_ops);
dwc->xhci = xhci;