From 93cb82477df06ab4f5fdda99a19d3f1b2b7c2eee Mon Sep 17 00:00:00 2001 From: Masahiro Yamada Date: Mon, 1 Aug 2016 00:16:32 +0900 Subject: usb: add CONFIG_USB_OHCI_HCD in Kconfig Add this option as a common config for all OHCI controllers. Its help message was copied from Linux. Also, I moved it below EHCI to respect the order in Linux's Kconfig. Add CONFIG_USB_OHCI_HCD=y to axs103_defconfig, which is the only user of OHCI_GENERIC. Signed-off-by: Masahiro Yamada --- drivers/usb/host/Kconfig | 35 +++++++++++++++++++++++++---------- 1 file changed, 25 insertions(+), 10 deletions(-) (limited to 'drivers/usb/host/Kconfig') diff --git a/drivers/usb/host/Kconfig b/drivers/usb/host/Kconfig index 7f94c1f372..ec5424b2b7 100644 --- a/drivers/usb/host/Kconfig +++ b/drivers/usb/host/Kconfig @@ -24,15 +24,7 @@ config USB_XHCI_DWC3 Say Y or if your system has a Dual Role SuperSpeed USB controller based on the DesignWare USB3 IP Core. -endif - -config USB_OHCI_GENERIC - bool "Support for generic OHCI USB controller" - depends on OF_CONTROL - depends on DM_USB - default n - ---help--- - Enables support for generic OHCI controller. +endif # USB_XHCI_HCD config USB_EHCI_HCD bool "EHCI HCD (USB 2.0) support" @@ -116,4 +108,27 @@ config USB_EHCI_GENERIC ---help--- Enables support for generic EHCI controller. -endif +endif # USB_EHCI_HCD + +config USB_OHCI_HCD + bool "OHCI HCD (USB 1.1) support" + ---help--- + The Open Host Controller Interface (OHCI) is a standard for accessing + USB 1.1 host controller hardware. It does more in hardware than Intel's + UHCI specification. If your USB host controller follows the OHCI spec, + say Y. On most non-x86 systems, and on x86 hardware that's not using a + USB controller from Intel or VIA, this is appropriate. If your host + controller doesn't use PCI, this is probably appropriate. For a PCI + based system where you're not sure, the "lspci -v" entry will list the + right "prog-if" for your USB controller(s): EHCI, OHCI, or UHCI. + +if USB_OHCI_HCD + +config USB_OHCI_GENERIC + bool "Support for generic OHCI USB controller" + depends on OF_CONTROL + depends on DM_USB + ---help--- + Enables support for generic OHCI controller. + +endif # USB_OHCI_HCD -- cgit From 96d8284bd59ad99aae7fcd5ce3cc95e4aef782dc Mon Sep 17 00:00:00 2001 From: Masahiro Yamada Date: Mon, 1 Aug 2016 00:16:33 +0900 Subject: usb: add CONFIG_USB_UHCI_HCD in Kconfig There is no UHCI driver entry in Kconfig for now, but we have some UHCI drivers, for example, LEON. This is a placeholder in case we want to move them to Kconfig in the future. The help message was copied from Linux. Signed-off-by: Masahiro Yamada --- drivers/usb/host/Kconfig | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) (limited to 'drivers/usb/host/Kconfig') diff --git a/drivers/usb/host/Kconfig b/drivers/usb/host/Kconfig index ec5424b2b7..7f562d1e5b 100644 --- a/drivers/usb/host/Kconfig +++ b/drivers/usb/host/Kconfig @@ -132,3 +132,20 @@ config USB_OHCI_GENERIC Enables support for generic OHCI controller. endif # USB_OHCI_HCD + +config USB_UHCI_HCD + bool "UHCI HCD (most Intel and VIA) support" + ---help--- + The Universal Host Controller Interface is a standard by Intel for + accessing the USB hardware in the PC (which is also called the USB + host controller). If your USB host controller conforms to this + standard, you may want to say Y, but see below. All recent boards + with Intel PCI chipsets (like intel 430TX, 440FX, 440LX, 440BX, + i810, i820) conform to this standard. Also all VIA PCI chipsets + (like VIA VP2, VP3, MVP3, Apollo Pro, Apollo Pro II or Apollo Pro + 133) and LEON/GRLIB SoCs with the GRUSBHC controller. + If unsure, say Y. + +if USB_UHCI_HCD + +endif # USB_UHCI_HCD -- cgit From 2b58e1b76d2630f67e642a273f0975a11ead428d Mon Sep 17 00:00:00 2001 From: Masahiro Yamada Date: Mon, 1 Aug 2016 00:16:34 +0900 Subject: usb: add (move) CONFIG_USB_HOST to Kconfig The meaning of CONFIG_USB in U-Boot is different from that in Linux. As you see in drivers/usb/Kconfig of Linux, CONFIG_USB enables the USB host controller support, while CONFIG_USB_SUPPORT is used to enable the whole of the USB sub-system. When I added CONFIG_USB into Kconfig by commit 6e7e9294d321 ("usb: add basic USB configs in Kconfig"), I planned to follow the Linux's convention, i.e. CONFIG_USB to enable/disable the USB host support. Then, commit 68f7c5db2d1e ("usb: Generic USB Kconfig option, that fits both host and gadget and comments") changed the logic of the CONFIG_USB to point to the whole of the USB sub-system. As a result, currently we do not have an option for USB host. This commit adds CONFIG_USB_HOST, which will be useful to compile in the USB host support code. CONFIG_USB_HOST is not referenced at all, but strangely some boards define it in board headers. I removed them because USB_HOST will be selected in Kconfig going forward. Signed-off-by: Masahiro Yamada --- drivers/usb/host/Kconfig | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'drivers/usb/host/Kconfig') diff --git a/drivers/usb/host/Kconfig b/drivers/usb/host/Kconfig index 7f562d1e5b..31eec0a9e0 100644 --- a/drivers/usb/host/Kconfig +++ b/drivers/usb/host/Kconfig @@ -3,8 +3,12 @@ # comment "USB Host Controller Drivers" +config USB_HOST + bool + config USB_XHCI_HCD bool "xHCI HCD (USB 3.0) support" + select USB_HOST ---help--- The eXtensible Host Controller Interface (xHCI) is standard for USB 3.0 "SuperSpeed" host controller hardware. @@ -28,6 +32,7 @@ endif # USB_XHCI_HCD config USB_EHCI_HCD bool "EHCI HCD (USB 2.0) support" + select USB_HOST ---help--- The Enhanced Host Controller Interface (EHCI) is standard for USB 2.0 "high speed" (480 Mbit/sec, 60 Mbyte/sec) host controller hardware. @@ -128,6 +133,7 @@ config USB_OHCI_GENERIC bool "Support for generic OHCI USB controller" depends on OF_CONTROL depends on DM_USB + select USB_HOST ---help--- Enables support for generic OHCI controller. @@ -135,6 +141,7 @@ endif # USB_OHCI_HCD config USB_UHCI_HCD bool "UHCI HCD (most Intel and VIA) support" + select USB_HOST ---help--- The Universal Host Controller Interface is a standard by Intel for accessing the USB hardware in the PC (which is also called the USB -- cgit