aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/usb/host/Kconfig
diff options
context:
space:
mode:
authorDavid Daney <ddaney@caviumnetworks.com>2010-10-08 17:47:52 -0400
committerRalf Baechle <ralf@linux-mips.org>2010-10-29 14:08:44 -0400
commit1643accdaad4625c2877f7ceefa39c1cb3e90117 (patch)
treee3dcc5b371c89591e1d90f80bd82727b8e0fd245 /drivers/usb/host/Kconfig
parent4169b86324fbefdf137a0bd69154d0e874f2bec2 (diff)
USB: Add EHCI and OHCH glue for OCTEON II SOCs.
The OCTEON II SOC has USB EHCI and OHCI controllers connected directly to the internal I/O bus. This patch adds the necessary 'glue' logic to allow ehci-hcd and ohci-hcd drivers to work on OCTEON II. The OCTEON normally runs big-endian, and the ehci/ohci internal registers have host endianness, so we need to select USB_EHCI_BIG_ENDIAN_MMIO. The ehci and ohci blocks share a common clocking and PHY infrastructure. Initialization of the host controller and PHY clocks is common between the two and is factored out into the octeon2-common.c file. Setting of USB_ARCH_HAS_OHCI and USB_ARCH_HAS_EHCI is done in arch/mips/Kconfig in a following patch. Signed-off-by: David Daney <ddaney@caviumnetworks.com> To: linux-usb@vger.kernel.org To: dbrownell@users.sourceforge.net Patchwork: http://patchwork.linux-mips.org/patch/1675/ Acked-by: Greg Kroah-Hartman <gregkh@suse.de> Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
Diffstat (limited to 'drivers/usb/host/Kconfig')
-rw-r--r--drivers/usb/host/Kconfig30
1 files changed, 28 insertions, 2 deletions
diff --git a/drivers/usb/host/Kconfig b/drivers/usb/host/Kconfig
index bf2e7d23453..2391c396ca3 100644
--- a/drivers/usb/host/Kconfig
+++ b/drivers/usb/host/Kconfig
@@ -93,8 +93,9 @@ config USB_EHCI_TT_NEWSCHED
93 93
94config USB_EHCI_BIG_ENDIAN_MMIO 94config USB_EHCI_BIG_ENDIAN_MMIO
95 bool 95 bool
96 depends on USB_EHCI_HCD && (PPC_CELLEB || PPC_PS3 || 440EPX || ARCH_IXP4XX || \ 96 depends on USB_EHCI_HCD && (PPC_CELLEB || PPC_PS3 || 440EPX || \
97 XPS_USB_HCD_XILINX || PPC_MPC512x) 97 ARCH_IXP4XX || XPS_USB_HCD_XILINX || \
98 PPC_MPC512x || CPU_CAVIUM_OCTEON)
98 default y 99 default y
99 100
100config USB_EHCI_BIG_ENDIAN_DESC 101config USB_EHCI_BIG_ENDIAN_DESC
@@ -434,3 +435,28 @@ config USB_IMX21_HCD
434 To compile this driver as a module, choose M here: the 435 To compile this driver as a module, choose M here: the
435 module will be called "imx21-hcd". 436 module will be called "imx21-hcd".
436 437
438config USB_OCTEON_EHCI
439 bool "Octeon on-chip EHCI support"
440 depends on USB && USB_EHCI_HCD && CPU_CAVIUM_OCTEON
441 default n
442 select USB_EHCI_BIG_ENDIAN_MMIO
443 help
444 Enable support for the Octeon II SOC's on-chip EHCI
445 controller. It is needed for high-speed (480Mbit/sec)
446 USB 2.0 device support. All CN6XXX based chips with USB are
447 supported.
448
449config USB_OCTEON_OHCI
450 bool "Octeon on-chip OHCI support"
451 depends on USB && USB_OHCI_HCD && CPU_CAVIUM_OCTEON
452 default USB_OCTEON_EHCI
453 select USB_OHCI_BIG_ENDIAN_MMIO
454 select USB_OHCI_LITTLE_ENDIAN
455 help
456 Enable support for the Octeon II SOC's on-chip OHCI
457 controller. It is needed for low-speed USB 1.0 device
458 support. All CN6XXX based chips with USB are supported.
459
460config USB_OCTEON2_COMMON
461 bool
462 default y if USB_OCTEON_EHCI || USB_OCTEON_OHCI