mirror of
https://github.com/torvalds/linux.git
synced 2024-11-18 01:51:53 +00:00
052a11d13b
Convert PHY Drivers from menuconfig to menu so that the PHY drivers can be explicitely selected by the controller drivers. USB_PHY is no longer a user visible option. It is upto to the PHY drivers to select it if needed. This patch does so for the existing PHY drivers that use the USB_PHY library. Doing so moves the USB_PHY and PHY driver selection problem from the end user to the PHY and controller driver developer. e.g. Earlier, a controller driver (e.g. EHCI_OMAP) that needs to select a PHY driver (e.g. NOP_PHY) couldn't do so because the PHY driver depended on USB_PHY. Making the controller driver depend on USB_PHY has a negative effect i.e. it becomes invisible to the user till USB_PHY is enabled. Most end users will not familiar with this. With this patch, the end user just needs to select the controller driver needed for his/her platform without worrying about which PHY driver to select. Also update USB_EHCI_MSM, USB_LPC32XX and USB_OMAP to not depend on USB_PHY any more. They can safely select the necessary PHY drivers. [ balbi@ti.com : refreshed on top of my next branch. Changed bool followed by default n into def_bool n ] CC: Pavankumar Kondeti <pkondeti@codeaurora.org> Acked-by: Roland Stigge <stigge@antcom.de> Signed-off-by: Roger Quadros <rogerq@ti.com> Signed-off-by: Felipe Balbi <balbi@ti.com>
218 lines
6.8 KiB
Plaintext
218 lines
6.8 KiB
Plaintext
#
|
|
# Physical Layer USB driver configuration
|
|
#
|
|
menu "USB Physical Layer drivers"
|
|
|
|
config USB_PHY
|
|
def_bool n
|
|
|
|
#
|
|
# USB Transceiver Drivers
|
|
#
|
|
config AB8500_USB
|
|
tristate "AB8500 USB Transceiver Driver"
|
|
depends on AB8500_CORE
|
|
select USB_PHY
|
|
help
|
|
Enable this to support the USB OTG transceiver in AB8500 chip.
|
|
This transceiver supports high and full speed devices plus,
|
|
in host mode, low speed.
|
|
|
|
config FSL_USB2_OTG
|
|
bool "Freescale USB OTG Transceiver Driver"
|
|
depends on USB_EHCI_FSL && USB_FSL_USB2 && PM_RUNTIME
|
|
select USB_OTG
|
|
select USB_PHY
|
|
help
|
|
Enable this to support Freescale USB OTG transceiver.
|
|
|
|
config ISP1301_OMAP
|
|
tristate "Philips ISP1301 with OMAP OTG"
|
|
depends on I2C && ARCH_OMAP_OTG
|
|
select USB_PHY
|
|
help
|
|
If you say yes here you get support for the Philips ISP1301
|
|
USB-On-The-Go transceiver working with the OMAP OTG controller.
|
|
The ISP1301 is a full speed USB transceiver which is used in
|
|
products including H2, H3, and H4 development boards for Texas
|
|
Instruments OMAP processors.
|
|
|
|
This driver can also be built as a module. If so, the module
|
|
will be called isp1301_omap.
|
|
|
|
config MV_U3D_PHY
|
|
bool "Marvell USB 3.0 PHY controller Driver"
|
|
depends on CPU_MMP3
|
|
select USB_PHY
|
|
help
|
|
Enable this to support Marvell USB 3.0 phy controller for Marvell
|
|
SoC.
|
|
|
|
config NOP_USB_XCEIV
|
|
tristate "NOP USB Transceiver Driver"
|
|
select USB_PHY
|
|
help
|
|
This driver is to be used by all the usb transceiver which are either
|
|
built-in with usb ip or which are autonomous and doesn't require any
|
|
phy programming such as ISP1x04 etc.
|
|
|
|
config OMAP_CONTROL_USB
|
|
tristate "OMAP CONTROL USB Driver"
|
|
help
|
|
Enable this to add support for the USB part present in the control
|
|
module. This driver has API to power on the USB2 PHY and to write to
|
|
the mailbox. The mailbox is present only in omap4 and the register to
|
|
power on the USB2 PHY is present in OMAP4 and OMAP5. OMAP5 has an
|
|
additional register to power on USB3 PHY.
|
|
|
|
config OMAP_USB2
|
|
tristate "OMAP USB2 PHY Driver"
|
|
depends on ARCH_OMAP2PLUS
|
|
select OMAP_CONTROL_USB
|
|
select USB_PHY
|
|
help
|
|
Enable this to support the transceiver that is part of SOC. This
|
|
driver takes care of all the PHY functionality apart from comparator.
|
|
The USB OTG controller communicates with the comparator using this
|
|
driver.
|
|
|
|
config OMAP_USB3
|
|
tristate "OMAP USB3 PHY Driver"
|
|
select OMAP_CONTROL_USB
|
|
select USB_PHY
|
|
help
|
|
Enable this to support the USB3 PHY that is part of SOC. This
|
|
driver takes care of all the PHY functionality apart from comparator.
|
|
This driver interacts with the "OMAP Control USB Driver" to power
|
|
on/off the PHY.
|
|
|
|
config SAMSUNG_USBPHY
|
|
tristate
|
|
help
|
|
Enable this to support Samsung USB phy helper driver for Samsung SoCs.
|
|
This driver provides common interface to interact, for Samsung USB 2.0 PHY
|
|
driver and later for Samsung USB 3.0 PHY driver.
|
|
|
|
config SAMSUNG_USB2PHY
|
|
tristate "Samsung USB 2.0 PHY controller Driver"
|
|
select SAMSUNG_USBPHY
|
|
select USB_PHY
|
|
help
|
|
Enable this to support Samsung USB 2.0 (High Speed) PHY controller
|
|
driver for Samsung SoCs.
|
|
|
|
config SAMSUNG_USB3PHY
|
|
tristate "Samsung USB 3.0 PHY controller Driver"
|
|
select SAMSUNG_USBPHY
|
|
select USB_PHY
|
|
help
|
|
Enable this to support Samsung USB 3.0 (Super Speed) phy controller
|
|
for samsung SoCs.
|
|
|
|
config TWL4030_USB
|
|
tristate "TWL4030 USB Transceiver Driver"
|
|
depends on TWL4030_CORE && REGULATOR_TWL4030 && USB_MUSB_OMAP2PLUS
|
|
select USB_PHY
|
|
help
|
|
Enable this to support the USB OTG transceiver on TWL4030
|
|
family chips (including the TWL5030 and TPS659x0 devices).
|
|
This transceiver supports high and full speed devices plus,
|
|
in host mode, low speed.
|
|
|
|
config TWL6030_USB
|
|
tristate "TWL6030 USB Transceiver Driver"
|
|
depends on TWL4030_CORE && OMAP_USB2 && USB_MUSB_OMAP2PLUS
|
|
help
|
|
Enable this to support the USB OTG transceiver on TWL6030
|
|
family chips. This TWL6030 transceiver has the VBUS and ID GND
|
|
and OTG SRP events capabilities. For all other transceiver functionality
|
|
UTMI PHY is embedded in OMAP4430. The internal PHY configurations APIs
|
|
are hooked to this driver through platform_data structure.
|
|
The definition of internal PHY APIs are in the mach-omap2 layer.
|
|
|
|
config USB_GPIO_VBUS
|
|
tristate "GPIO based peripheral-only VBUS sensing 'transceiver'"
|
|
depends on GPIOLIB
|
|
select USB_PHY
|
|
help
|
|
Provides simple GPIO VBUS sensing for controllers with an
|
|
internal transceiver via the usb_phy interface, and
|
|
optionally control of a D+ pullup GPIO as well as a VBUS
|
|
current limit regulator.
|
|
|
|
config USB_ISP1301
|
|
tristate "NXP ISP1301 USB transceiver support"
|
|
depends on USB || USB_GADGET
|
|
depends on I2C
|
|
select USB_PHY
|
|
help
|
|
Say Y here to add support for the NXP ISP1301 USB transceiver driver.
|
|
This chip is typically used as USB transceiver for USB host, gadget
|
|
and OTG drivers (to be selected separately).
|
|
|
|
To compile this driver as a module, choose M here: the
|
|
module will be called isp1301.
|
|
|
|
config USB_MSM_OTG
|
|
tristate "OTG support for Qualcomm on-chip USB controller"
|
|
depends on (USB || USB_GADGET) && ARCH_MSM
|
|
select USB_PHY
|
|
help
|
|
Enable this to support the USB OTG transceiver on MSM chips. It
|
|
handles PHY initialization, clock management, and workarounds
|
|
required after resetting the hardware and power management.
|
|
This driver is required even for peripheral only or host only
|
|
mode configurations.
|
|
This driver is not supported on boards like trout which
|
|
has an external PHY.
|
|
|
|
config USB_MV_OTG
|
|
tristate "Marvell USB OTG support"
|
|
depends on USB_EHCI_MV && USB_MV_UDC && PM_RUNTIME
|
|
select USB_OTG
|
|
select USB_PHY
|
|
help
|
|
Say Y here if you want to build Marvell USB OTG transciever
|
|
driver in kernel (including PXA and MMP series). This driver
|
|
implements role switch between EHCI host driver and gadget driver.
|
|
|
|
To compile this driver as a module, choose M here.
|
|
|
|
config USB_MXS_PHY
|
|
tristate "Freescale MXS USB PHY support"
|
|
depends on ARCH_MXC || ARCH_MXS
|
|
select STMP_DEVICE
|
|
select USB_PHY
|
|
help
|
|
Enable this to support the Freescale MXS USB PHY.
|
|
|
|
MXS Phy is used by some of the i.MX SoCs, for example imx23/28/6x.
|
|
|
|
config USB_RCAR_PHY
|
|
tristate "Renesas R-Car USB PHY support"
|
|
depends on USB || USB_GADGET
|
|
select USB_PHY
|
|
help
|
|
Say Y here to add support for the Renesas R-Car USB common PHY driver.
|
|
This chip is typically used as USB PHY for USB host, gadget.
|
|
This driver supports R8A7778 and R8A7779.
|
|
|
|
To compile this driver as a module, choose M here: the
|
|
module will be called phy-rcar-usb.
|
|
|
|
config USB_ULPI
|
|
bool "Generic ULPI Transceiver Driver"
|
|
depends on ARM
|
|
help
|
|
Enable this to support ULPI connected USB OTG transceivers which
|
|
are likely found on embedded boards.
|
|
|
|
config USB_ULPI_VIEWPORT
|
|
bool
|
|
depends on USB_ULPI
|
|
help
|
|
Provides read/write operations to the ULPI phy register set for
|
|
controllers with a viewport register (e.g. Chipidea/ARC controllers).
|
|
|
|
endmenu
|