--- a/drivers/usb/host/ehci-hcd.c
+++ b/drivers/usb/host/ehci-hcd.c
-@@ -1039,6 +1039,11 @@ MODULE_LICENSE ("GPL");
+@@ -1041,6 +1041,11 @@ MODULE_LICENSE ("GPL");
#define PLATFORM_DRIVER ixp4xx_ehci_driver
#endif
#error "missing bus glue for ehci-hcd"
--- a/drivers/usb/host/ehci.h
+++ b/drivers/usb/host/ehci.h
-@@ -755,6 +755,11 @@ ehci_port_speed(struct ehci_hcd *ehci, u
+@@ -764,6 +764,11 @@ ehci_port_speed(struct ehci_hcd *ehci, u
#define writel_be(val, addr) __raw_writel(val, (__force unsigned *)addr)
#endif
static inline unsigned int ehci_readl(const struct ehci_hcd *ehci,
__u32 __iomem * regs)
{
+--- a/drivers/usb/host/Kconfig
++++ b/drivers/usb/host/Kconfig
+@@ -44,7 +44,7 @@ config USB_EHCI_HCD
+
+ config USB_EHCI_ROOT_HUB_TT
+ bool "Root Hub Transaction Translators"
+- depends on USB_EHCI_HCD
++ depends on USB_EHCI_HCD && !BCM63XX
+ ---help---
+ Some EHCI chips have vendor-specific extensions to integrate
+ transaction translators, so that no OHCI or UHCI companion