diff options
-rw-r--r-- | drivers/usb/host/ehci-s5p.c | 15 |
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 | |||
20 | struct s5p_ehci_hcd { | 29 | struct 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 | ||