# SPDX-License-Identifier: GPL-2.0
#
# Physical Layer [31mCONFIG_USB[0m driver configuration
#
menu "USB Physical Layer drivers"
config [31mCONFIG_USB_PHY[0m
select [31mCONFIG_EXTCON[0m
def_bool n
#
# [31mCONFIG_USB[0m Transceiver Drivers
#
config [31mCONFIG_AB8500_USB[0m
tristate "AB8500 USB Transceiver Driver"
depends on [31mCONFIG_AB8500_CORE[0m
select [31mCONFIG_USB_PHY[0m
help
Enable this to support the [31mCONFIG_USB[0m OTG transceiver in AB8500 chip.
This transceiver supports high and full speed devices plus,
in host mode, low speed.
config [31mCONFIG_FSL_USB2_OTG[0m
tristate "Freescale USB OTG Transceiver Driver"
depends on [31mCONFIG_USB_EHCI_FSL[0m && [31mCONFIG_USB_FSL_USB2[0m && [31mCONFIG_USB_OTG_FSM[0m=y && [31mCONFIG_PM[0m
depends on [31mCONFIG_USB_GADGET[0m || ![31mCONFIG_USB_GADGET[0m # if [31mCONFIG_USB_GADGET[0m=m, this can't be 'y'
select [31mCONFIG_USB_PHY[0m
help
Enable this to support Freescale [31mCONFIG_USB[0m OTG transceiver.
config [31mCONFIG_ISP1301_OMAP[0m
tristate "Philips ISP1301 with OMAP OTG"
depends on [31mCONFIG_I2C[0m && [31mCONFIG_ARCH_OMAP_OTG[0m
depends on [31mCONFIG_USB[0m
depends on [31mCONFIG_USB_GADGET[0m || ![31mCONFIG_USB_GADGET[0m # if [31mCONFIG_USB_GADGET[0m=m, this can't be 'y'
select [31mCONFIG_USB_PHY[0m
help
If you say yes here you get support for the Philips ISP1301
[31mCONFIG_USB[0m-On-The-Go transceiver working with the OMAP OTG controller.
The ISP1301 is a full speed [31mCONFIG_USB[0m 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 phy-isp1301-omap.
config [31mCONFIG_KEYSTONE_USB_PHY[0m
tristate "Keystone USB PHY Driver"
depends on [31mCONFIG_ARCH_KEYSTONE[0m || [31mCONFIG_COMPILE_TEST[0m
depends on [31mCONFIG_NOP_USB_XCEIV[0m
help
Enable this to support Keystone [31mCONFIG_USB[0m phy. This driver provides
interface to interact with [31mCONFIG_USB[0m 2.0 and [31mCONFIG_USB[0m 3.0 PHY that is part
of the Keystone SOC.
config [31mCONFIG_NOP_USB_XCEIV[0m
tristate "NOP USB Transceiver Driver"
depends on [31mCONFIG_USB_GADGET[0m || ![31mCONFIG_USB_GADGET[0m # if [31mCONFIG_USB_GADGET[0m=m, NOP can't be built-in
select [31mCONFIG_USB_PHY[0m
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 [31mCONFIG_AM335X_CONTROL_USB[0m
tristate
config [31mCONFIG_AM335X_PHY_USB[0m
tristate "AM335x USB PHY Driver"
depends on [31mCONFIG_ARM[0m || [31mCONFIG_COMPILE_TEST[0m
depends on [31mCONFIG_NOP_USB_XCEIV[0m
select [31mCONFIG_USB_PHY[0m
select [31mCONFIG_AM335X_CONTROL_USB[0m
select [31mCONFIG_USB_COMMON[0m
help
This driver provides PHY support for that phy which part for the
AM335x SoC.
config [31mCONFIG_TWL6030_USB[0m
tristate "TWL6030 USB Transceiver Driver"
depends on [31mCONFIG_TWL4030_CORE[0m && [31mCONFIG_OMAP_USB2[0m && [31mCONFIG_USB_MUSB_OMAP2PLUS[0m
depends on [31mCONFIG_OF[0m
help
Enable this to support the [31mCONFIG_USB[0m 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 [31mCONFIG_USB_GPIO_VBUS[0m
tristate "GPIO based peripheral-only VBUS sensing 'transceiver'"
depends on [31mCONFIG_GPIOLIB[0m || [31mCONFIG_COMPILE_TEST[0m
depends on [31mCONFIG_USB_GADGET[0m || ![31mCONFIG_USB_GADGET[0m # if [31mCONFIG_USB_GADGET[0m=m, this can't be 'y'
select [31mCONFIG_USB_PHY[0m
help
Provides simple GPIO VBUS sensing for controllers with an
internal transceiver via the usb_phy interface, and
optionally control of a [31mCONFIG_D[0m+ pullup GPIO as well as a VBUS
current limit regulator.
config [31mCONFIG_OMAP_OTG[0m
tristate "OMAP USB OTG controller driver"
depends on [31mCONFIG_ARCH_OMAP_OTG[0m && [31mCONFIG_EXTCON[0m
help
Enable this to support some transceivers on OMAP1 platforms. OTG
controller is needed to switch between host and peripheral modes.
This driver can also be built as a module. If so, the module
will be called phy-omap-otg.
config [31mCONFIG_TAHVO_USB[0m
tristate "Tahvo USB transceiver driver"
depends on [31mCONFIG_MFD_RETU[0m
depends on [31mCONFIG_USB_GADGET[0m || ![31mCONFIG_USB_GADGET[0m # if [31mCONFIG_USB_GADGET[0m=m, this can't be 'y'
select [31mCONFIG_USB_PHY[0m
help
Enable this to support [31mCONFIG_USB[0m transceiver on Tahvo. This is used
at least on Nokia 770.
config [31mCONFIG_TAHVO_USB_HOST_BY_DEFAULT[0m
depends on [31mCONFIG_TAHVO_USB[0m
bool "Device in USB host mode by default"
help
Say Y here, if you want the device to enter [31mCONFIG_USB[0m host mode
by default on bootup.
config [31mCONFIG_USB_ISP1301[0m
tristate "NXP ISP1301 USB transceiver support"
depends on [31mCONFIG_USB[0m || [31mCONFIG_USB_GADGET[0m
depends on [31mCONFIG_I2C[0m
select [31mCONFIG_USB_PHY[0m
help
Say Y here to add support for the NXP ISP1301 [31mCONFIG_USB[0m transceiver driver.
This chip is typically used as [31mCONFIG_USB[0m transceiver for [31mCONFIG_USB[0m host, gadget
and OTG drivers (to be selected separately).
To compile this driver as a module, choose [31mCONFIG_M[0m here: the
module will be called phy-isp1301.
config [31mCONFIG_USB_MV_OTG[0m
tristate "Marvell USB OTG support"
depends on [31mCONFIG_USB_EHCI_MV[0m && [31mCONFIG_USB_MV_UDC[0m && [31mCONFIG_PM[0m && [31mCONFIG_USB_OTG[0m
depends on [31mCONFIG_USB_GADGET[0m || ![31mCONFIG_USB_GADGET[0m # if [31mCONFIG_USB_GADGET[0m=m, this can't be 'y'
select [31mCONFIG_USB_PHY[0m
help
Say Y here if you want to build Marvell [31mCONFIG_USB[0m 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 [31mCONFIG_M[0m here.
config [31mCONFIG_USB_MXS_PHY[0m
tristate "Freescale MXS USB PHY support"
depends on [31mCONFIG_ARCH_MXC[0m || [31mCONFIG_ARCH_MXS[0m
select [31mCONFIG_STMP_DEVICE[0m
select [31mCONFIG_USB_PHY[0m
help
Enable this to support the Freescale MXS [31mCONFIG_USB[0m PHY.
MXS Phy is used by some of the i.MX SoCs, for example imx23/28/6x.
config [31mCONFIG_USB_TEGRA_PHY[0m
tristate "NVIDIA Tegra USB PHY Driver"
depends on [31mCONFIG_ARCH_TEGRA[0m
select [31mCONFIG_USB_COMMON[0m
select [31mCONFIG_USB_PHY[0m
select [31mCONFIG_USB_ULPI[0m
help
This driver provides PHY support for the [31mCONFIG_USB[0m controllers found
on NVIDIA Tegra SoC's.
config [31mCONFIG_USB_ULPI[0m
bool "Generic ULPI Transceiver Driver"
depends on [31mCONFIG_ARM[0m || [31mCONFIG_ARM64[0m
select [31mCONFIG_USB_ULPI_VIEWPORT[0m
help
Enable this to support ULPI connected [31mCONFIG_USB[0m OTG transceivers which
are likely found on embedded boards.
config [31mCONFIG_USB_ULPI_VIEWPORT[0m
bool
help
Provides read/write operations to the ULPI phy register set for
controllers with a viewport register (e.g. Chipidea/[31mCONFIG_ARC[0m controllers).
endmenu