diff options
author | Vincent Palatin <vpalatin@chromium.org> | 2012-12-12 17:55:22 -0800 |
---|---|---|
committer | Marek Vasut <marex@denx.de> | 2013-03-16 21:12:01 +0100 |
commit | 2982837e36e56584b0ab0256dd82d306e4ba1249 (patch) | |
tree | c77952f78486d03852f29a837633e18aa9902c42 | |
parent | 7c38e90aff5f5b8b7f7ebc27d8d07c51aececde3 (diff) | |
download | u-boot-imx-2982837e36e56584b0ab0256dd82d306e4ba1249.zip u-boot-imx-2982837e36e56584b0ab0256dd82d306e4ba1249.tar.gz u-boot-imx-2982837e36e56584b0ab0256dd82d306e4ba1249.tar.bz2 |
usb: ehci: Add 64-bit controller support
On EHCI controller with 64-bit address space support, we must initialize
properly the high word for the PCI bus master accesses.
Signed-off-by: Vincent Palatin <vpalatin@chromium.org>
Signed-off-by: Simon Glass <sjg@chromium.org>
-rw-r--r-- | drivers/usb/host/ehci-hcd.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/usb/host/ehci-hcd.c b/drivers/usb/host/ehci-hcd.c index 7f98a63..20309ad 100644 --- a/drivers/usb/host/ehci-hcd.c +++ b/drivers/usb/host/ehci-hcd.c @@ -870,6 +870,9 @@ int usb_lowlevel_init(int index, void **controller) if (ehci_hcd_init(index, &ehcic[index].hccr, &ehcic[index].hcor)) return -1; #endif + /* Set the high address word (aka segment) for 64-bit controller */ + if (ehci_readl(&ehcic[index].hccr->cr_hccparams) & 1) + ehci_writel(ehcic[index].hcor->or_ctrldssegment, 0); qh_list = &ehcic[index].qh_list; |