aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMark Brown <broonie@linaro.org>2014-05-14 18:52:08 +0100
committerMark Brown <broonie@linaro.org>2014-05-14 18:52:08 +0100
commit31c39ee311f03cc286a9b3d397eb92c050407cf0 (patch)
treef3b3d052d1dca0f973c43ff6451f7cb2d1ee69ec
parenta75f9b8beff402082cff34ff754eedea483f4bad (diff)
parentf5b36de8d872e8abab045b0c1c808976d24e3764 (diff)
Merge remote-tracking branch 'lsk/v3.10/topic/arm64-usb' into linux-linaro-lsk
-rw-r--r--drivers/usb/host/ehci-hcd.c11
-rw-r--r--drivers/usb/phy/Kconfig2
2 files changed, 9 insertions, 4 deletions
diff --git a/drivers/usb/host/ehci-hcd.c b/drivers/usb/host/ehci-hcd.c
index 4518b8189a9e..4150380df705 100644
--- a/drivers/usb/host/ehci-hcd.c
+++ b/drivers/usb/host/ehci-hcd.c
@@ -591,11 +591,16 @@ static int ehci_run (struct usb_hcd *hcd)
*/
hcc_params = ehci_readl(ehci, &ehci->caps->hcc_params);
if (HCC_64BIT_ADDR(hcc_params)) {
- ehci_writel(ehci, 0, &ehci->regs->segment);
-#if 0
-// this is deeply broken on almost all architectures
+#if CONFIG_ARM64
+ ehci_writel(ehci, ehci->periodic_dma >> 32, &ehci->regs->segment);
+ /*
+ * this is deeply broken on almost all architectures
+ * but arm64 can use it so enable it
+ */
if (!dma_set_mask(hcd->self.controller, DMA_BIT_MASK(64)))
ehci_info(ehci, "enabled 64bit DMA\n");
+#else
+ ehci_writel(ehci, 0, &ehci->regs->segment);
#endif
}
diff --git a/drivers/usb/phy/Kconfig b/drivers/usb/phy/Kconfig
index 2311b1e4e43c..be41733a5eac 100644
--- a/drivers/usb/phy/Kconfig
+++ b/drivers/usb/phy/Kconfig
@@ -198,7 +198,7 @@ config USB_RCAR_PHY
config USB_ULPI
bool "Generic ULPI Transceiver Driver"
- depends on ARM
+ depends on ARM || ARM64
help
Enable this to support ULPI connected USB OTG transceivers which
are likely found on embedded boards.