Back to home page

OSCL-LXR

 
 

    


0001 # SPDX-License-Identifier: GPL-2.0
0002 #
0003 # Physical Layer USB driver configuration
0004 #
0005 menu "USB Physical Layer drivers"
0006 
0007 config USB_PHY
0008         select EXTCON
0009         def_bool n
0010 
0011 #
0012 # USB Transceiver Drivers
0013 #
0014 config AB8500_USB
0015         tristate "AB8500 USB Transceiver Driver"
0016         depends on AB8500_CORE
0017         select USB_PHY
0018         help
0019           Enable this to support the USB OTG transceiver in AB8500 chip.
0020           This transceiver supports high and full speed devices plus,
0021           in host mode, low speed.
0022 
0023 config FSL_USB2_OTG
0024         tristate "Freescale USB OTG Transceiver Driver"
0025         depends on USB_EHCI_FSL && USB_FSL_USB2 && USB_OTG_FSM=y && PM
0026         depends on USB_GADGET || !USB_GADGET # if USB_GADGET=m, this can't be 'y'
0027         select USB_PHY
0028         help
0029           Enable this to support Freescale USB OTG transceiver.
0030 
0031 config ISP1301_OMAP
0032         tristate "Philips ISP1301 with OMAP OTG"
0033         depends on I2C
0034         depends on ARCH_OMAP_OTG || (ARM && COMPILE_TEST)
0035         depends on USB
0036         depends on USB_GADGET || !USB_GADGET # if USB_GADGET=m, this can't be 'y'
0037         select USB_PHY
0038         help
0039           If you say yes here you get support for the Philips ISP1301
0040           USB-On-The-Go transceiver working with the OMAP OTG controller.
0041           The ISP1301 is a full speed USB  transceiver which is used in
0042           products including H2, H3, and H4 development boards for Texas
0043           Instruments OMAP processors.
0044 
0045           This driver can also be built as a module.  If so, the module
0046           will be called phy-isp1301-omap.
0047 
0048 config KEYSTONE_USB_PHY
0049         tristate "Keystone USB PHY Driver"
0050         depends on ARCH_KEYSTONE || COMPILE_TEST
0051         depends on NOP_USB_XCEIV
0052         help
0053           Enable this to support Keystone USB phy. This driver provides
0054           interface to interact with USB 2.0 and USB 3.0 PHY that is part
0055           of the Keystone SOC.
0056 
0057 config NOP_USB_XCEIV
0058         tristate "NOP USB Transceiver Driver"
0059         depends on USB_GADGET || !USB_GADGET # if USB_GADGET=m, NOP can't be built-in
0060         select USB_PHY
0061         help
0062           This driver is to be used by all the usb transceiver which are either
0063           built-in with usb ip or which are autonomous and doesn't require any
0064           phy programming such as ISP1x04 etc.
0065 
0066 config AM335X_CONTROL_USB
0067         tristate
0068 
0069 config AM335X_PHY_USB
0070         tristate "AM335x USB PHY Driver"
0071         depends on ARM || COMPILE_TEST
0072         depends on NOP_USB_XCEIV
0073         select USB_PHY
0074         select AM335X_CONTROL_USB
0075         select USB_COMMON
0076         help
0077           This driver provides PHY support for that phy which part for the
0078           AM335x SoC.
0079 
0080 config TWL6030_USB
0081         tristate "TWL6030 USB Transceiver Driver"
0082         depends on TWL4030_CORE && OMAP_USB2 && USB_MUSB_OMAP2PLUS
0083         depends on OF
0084         help
0085           Enable this to support the USB OTG transceiver on TWL6030
0086           family chips. This TWL6030 transceiver has the VBUS and ID GND
0087           and OTG SRP events capabilities. For all other transceiver functionality
0088           UTMI PHY is embedded in OMAP4430. The internal PHY configurations APIs
0089           are hooked to this driver through platform_data structure.
0090           The definition of internal PHY APIs are in the mach-omap2 layer.
0091 
0092 config USB_GPIO_VBUS
0093         tristate "GPIO based peripheral-only VBUS sensing 'transceiver'"
0094         depends on GPIOLIB || COMPILE_TEST
0095         depends on USB_GADGET || !USB_GADGET # if USB_GADGET=m, this can't be 'y'
0096         select USB_PHY
0097         help
0098           Provides simple GPIO VBUS sensing for controllers with an
0099           internal transceiver via the usb_phy interface, and
0100           optionally control of a D+ pullup GPIO as well as a VBUS
0101           current limit regulator.
0102 
0103 config OMAP_OTG
0104         tristate "OMAP USB OTG controller driver"
0105         depends on ARCH_OMAP_OTG && EXTCON
0106         help
0107           Enable this to support some transceivers on OMAP1 platforms. OTG
0108           controller is needed to switch between host and peripheral modes.
0109 
0110           This driver can also be built as a module. If so, the module
0111           will be called phy-omap-otg.
0112 
0113 config TAHVO_USB
0114         tristate "Tahvo USB transceiver driver"
0115         depends on MFD_RETU
0116         depends on USB_GADGET || !USB_GADGET # if USB_GADGET=m, this can't be 'y'
0117         select USB_PHY
0118         help
0119           Enable this to support USB transceiver on Tahvo. This is used
0120           at least on Nokia 770.
0121 
0122 config TAHVO_USB_HOST_BY_DEFAULT
0123         depends on TAHVO_USB
0124         bool "Device in USB host mode by default"
0125         help
0126           Say Y here, if you want the device to enter USB host mode
0127           by default on bootup.
0128 
0129 config USB_ISP1301
0130         tristate "NXP ISP1301 USB transceiver support"
0131         depends on USB || USB_GADGET
0132         depends on I2C
0133         select USB_PHY
0134         help
0135           Say Y here to add support for the NXP ISP1301 USB transceiver driver.
0136           This chip is typically used as USB transceiver for USB host, gadget
0137           and OTG drivers (to be selected separately).
0138 
0139           To compile this driver as a module, choose M here: the
0140           module will be called phy-isp1301.
0141 
0142 config USB_MV_OTG
0143         tristate "Marvell USB OTG support"
0144         depends on USB_EHCI_MV && USB_MV_UDC && PM && USB_OTG
0145         depends on USB_GADGET || !USB_GADGET # if USB_GADGET=m, this can't be 'y'
0146         select USB_PHY
0147         help
0148           Say Y here if you want to build Marvell USB OTG transceiver
0149           driver in kernel (including PXA and MMP series). This driver
0150           implements role switch between EHCI host driver and gadget driver.
0151 
0152           To compile this driver as a module, choose M here.
0153 
0154 config USB_MXS_PHY
0155         tristate "Freescale MXS USB PHY support"
0156         depends on ARCH_MXC || ARCH_MXS
0157         select STMP_DEVICE
0158         select USB_PHY
0159         help
0160           Enable this to support the Freescale MXS USB PHY.
0161 
0162           MXS Phy is used by some of the i.MX SoCs, for example imx23/28/6x.
0163 
0164 config USB_TEGRA_PHY
0165         tristate "NVIDIA Tegra USB PHY Driver"
0166         depends on ARCH_TEGRA || COMPILE_TEST
0167         select USB_COMMON
0168         select USB_PHY
0169         select USB_ULPI
0170         help
0171           This driver provides PHY support for the USB controllers found
0172           on NVIDIA Tegra SoC's.
0173 
0174 config USB_ULPI
0175         bool "Generic ULPI Transceiver Driver"
0176         depends on ARM || ARM64 || COMPILE_TEST
0177         select USB_ULPI_VIEWPORT
0178         help
0179           Enable this to support ULPI connected USB OTG transceivers which
0180           are likely found on embedded boards.
0181 
0182 config USB_ULPI_VIEWPORT
0183         bool
0184         help
0185           Provides read/write operations to the ULPI phy register set for
0186           controllers with a viewport register (e.g. Chipidea/ARC controllers).
0187 
0188 config JZ4770_PHY
0189         tristate "Ingenic SoCs Transceiver Driver"
0190         depends on MIPS || COMPILE_TEST
0191         select USB_PHY
0192         help
0193           This driver provides PHY support for the USB controller found
0194           on the JZ-series and X-series SoCs from Ingenic.
0195 
0196 endmenu