aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/usb/host
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/usb/host')
-rw-r--r--drivers/usb/host/ehci-s5p.c15
1 files changed, 15 insertions, 0 deletions
diff --git a/drivers/usb/host/ehci-s5p.c b/drivers/usb/host/ehci-s5p.c
index 293f7412992e..f098e2a291a0 100644
--- a/drivers/usb/host/ehci-s5p.c
+++ b/drivers/usb/host/ehci-s5p.c
@@ -17,6 +17,15 @@
17#include <plat/ehci.h> 17#include <plat/ehci.h>
18#include <plat/usb-phy.h> 18#include <plat/usb-phy.h>
19 19
20#define EHCI_INSNREG00(base) (base + 0x90)
21#define EHCI_INSNREG00_ENA_INCR16 (0x1 << 25)
22#define EHCI_INSNREG00_ENA_INCR8 (0x1 << 24)
23#define EHCI_INSNREG00_ENA_INCR4 (0x1 << 23)
24#define EHCI_INSNREG00_ENA_INCRX_ALIGN (0x1 << 22)
25#define EHCI_INSNREG00_ENABLE_DMA_BURST \
26 (EHCI_INSNREG00_ENA_INCR16 | EHCI_INSNREG00_ENA_INCR8 | \
27 EHCI_INSNREG00_ENA_INCR4 | EHCI_INSNREG00_ENA_INCRX_ALIGN)
28
20struct s5p_ehci_hcd { 29struct s5p_ehci_hcd {
21 struct device *dev; 30 struct device *dev;
22 struct usb_hcd *hcd; 31 struct usb_hcd *hcd;
@@ -128,6 +137,9 @@ static int __devinit s5p_ehci_probe(struct platform_device *pdev)
128 ehci->regs = hcd->regs + 137 ehci->regs = hcd->regs +
129 HC_LENGTH(ehci, readl(&ehci->caps->hc_capbase)); 138 HC_LENGTH(ehci, readl(&ehci->caps->hc_capbase));
130 139
140 /* DMA burst Enable */
141 writel(EHCI_INSNREG00_ENABLE_DMA_BURST, EHCI_INSNREG00(hcd->regs));
142
131 dbg_hcs_params(ehci, "reset"); 143 dbg_hcs_params(ehci, "reset");
132 dbg_hcc_params(ehci, "reset"); 144 dbg_hcc_params(ehci, "reset");
133 145
@@ -234,6 +246,9 @@ static int s5p_ehci_resume(struct device *dev)
234 if (pdata && pdata->phy_init) 246 if (pdata && pdata->phy_init)
235 pdata->phy_init(pdev, S5P_USB_PHY_HOST); 247 pdata->phy_init(pdev, S5P_USB_PHY_HOST);
236 248
249 /* DMA burst Enable */
250 writel(EHCI_INSNREG00_ENABLE_DMA_BURST, EHCI_INSNREG00(hcd->regs));
251
237 if (time_before(jiffies, ehci->next_statechange)) 252 if (time_before(jiffies, ehci->next_statechange))
238 msleep(100); 253 msleep(100);
239 254