diff options
Diffstat (limited to 'drivers/usb/host/ehci-hcd.c')
-rw-r--r-- | drivers/usb/host/ehci-hcd.c | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/drivers/usb/host/ehci-hcd.c b/drivers/usb/host/ehci-hcd.c index 889c2027e7f..a205a53c61f 100644 --- a/drivers/usb/host/ehci-hcd.c +++ b/drivers/usb/host/ehci-hcd.c | |||
@@ -201,9 +201,15 @@ static void tdi_reset (struct ehci_hcd *ehci) | |||
201 | u32 __iomem *reg_ptr; | 201 | u32 __iomem *reg_ptr; |
202 | u32 tmp; | 202 | u32 tmp; |
203 | 203 | ||
204 | reg_ptr = (u32 __iomem *)(((u8 __iomem *)ehci->regs) + 0x68); | 204 | reg_ptr = (u32 __iomem *)(((u8 __iomem *)ehci->regs) + USBMODE); |
205 | tmp = ehci_readl(ehci, reg_ptr); | 205 | tmp = ehci_readl(ehci, reg_ptr); |
206 | tmp |= 0x3; | 206 | tmp |= USBMODE_CM_HC; |
207 | /* The default byte access to MMR space is LE after | ||
208 | * controller reset. Set the required endian mode | ||
209 | * for transfer buffers to match the host microprocessor | ||
210 | */ | ||
211 | if (ehci_big_endian_mmio(ehci)) | ||
212 | tmp |= USBMODE_BE; | ||
207 | ehci_writel(ehci, tmp, reg_ptr); | 213 | ehci_writel(ehci, tmp, reg_ptr); |
208 | } | 214 | } |
209 | 215 | ||