diff options
author | Yin Honghua-R63875 <Hong-Hua.Yin@freescale.com> | 2015-11-24 06:35:34 (GMT) |
---|---|---|
committer | Yin Honghua-R63875 <Hong-Hua.Yin@freescale.com> | 2015-11-24 06:35:34 (GMT) |
commit | 1c291fd8f4204f5515e27cbd2e7413320efd3b0b (patch) | |
tree | 14d31f8da28f2753d8c0773bf6802a3c8db7d27c | |
parent | 50eea5125969ce451f520e7dc04ae4065d5d8cc4 (diff) | |
parent | dd05648ba8c2327863dbef3f0136876a7f2ae874 (diff) | |
download | linux-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.dtsi | 1 | ||||
-rw-r--r-- | drivers/usb/dwc3/core.c | 9 | ||||
-rw-r--r-- | drivers/usb/dwc3/host.c | 1 |
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; |