1cae8dc3bSGreg Kroah-Hartman# SPDX-License-Identifier: GPL-2.0 28b7c3b68SRoland Stigge# 38b7c3b68SRoland Stigge# Physical Layer USB driver configuration 48b7c3b68SRoland Stigge# 5052a11d1SRoger Quadrosmenu "USB Physical Layer drivers" 6657b306aSKishon Vijay Abraham I 7052a11d1SRoger Quadrosconfig USB_PHY 87d21114dSBaolin Wang select EXTCON 9052a11d1SRoger Quadros def_bool n 108b7c3b68SRoland Stigge 11a0e63123SFelipe Balbi# 12a0e63123SFelipe Balbi# USB Transceiver Drivers 13a0e63123SFelipe Balbi# 14a0e63123SFelipe Balbiconfig AB8500_USB 15a0e63123SFelipe Balbi tristate "AB8500 USB Transceiver Driver" 16a0e63123SFelipe Balbi depends on AB8500_CORE 17052a11d1SRoger Quadros select USB_PHY 1857f6ce07SKishon Vijay Abraham I help 19a0e63123SFelipe Balbi Enable this to support the USB OTG transceiver in AB8500 chip. 20a0e63123SFelipe Balbi This transceiver supports high and full speed devices plus, 21a0e63123SFelipe Balbi in host mode, low speed. 22a0e63123SFelipe Balbi 23a0e63123SFelipe Balbiconfig FSL_USB2_OTG 242100e3caSArnd Bergmann tristate "Freescale USB OTG Transceiver Driver" 25f2105d42SAnders Roxell depends on USB_EHCI_FSL && USB_FSL_USB2 && USB_OTG_FSM=y && PM 265a8d651aSFelipe Balbi depends on USB_GADGET || !USB_GADGET # if USB_GADGET=m, this can't be 'y' 27052a11d1SRoger Quadros select USB_PHY 28a0e63123SFelipe Balbi help 29a0e63123SFelipe Balbi Enable this to support Freescale USB OTG transceiver. 30a0e63123SFelipe Balbi 31a0e63123SFelipe Balbiconfig ISP1301_OMAP 32a0e63123SFelipe Balbi tristate "Philips ISP1301 with OMAP OTG" 33*11e00292SArnd Bergmann depends on I2C 34*11e00292SArnd Bergmann depends on ARCH_OMAP_OTG || (ARM && COMPILE_TEST) 357cd0c298SFelipe Balbi depends on USB 365a8d651aSFelipe Balbi depends on USB_GADGET || !USB_GADGET # if USB_GADGET=m, this can't be 'y' 37052a11d1SRoger Quadros select USB_PHY 38a0e63123SFelipe Balbi help 39a0e63123SFelipe Balbi If you say yes here you get support for the Philips ISP1301 40a0e63123SFelipe Balbi USB-On-The-Go transceiver working with the OMAP OTG controller. 41a0e63123SFelipe Balbi The ISP1301 is a full speed USB transceiver which is used in 42a0e63123SFelipe Balbi products including H2, H3, and H4 development boards for Texas 43a0e63123SFelipe Balbi Instruments OMAP processors. 44a0e63123SFelipe Balbi 45a0e63123SFelipe Balbi This driver can also be built as a module. If so, the module 4612c8d64eSAaro Koskinen will be called phy-isp1301-omap. 47a0e63123SFelipe Balbi 4825acdd08SWingMan Kwokconfig KEYSTONE_USB_PHY 4925acdd08SWingMan Kwok tristate "Keystone USB PHY Driver" 5025acdd08SWingMan Kwok depends on ARCH_KEYSTONE || COMPILE_TEST 515a8d651aSFelipe Balbi depends on NOP_USB_XCEIV 5225acdd08SWingMan Kwok help 5325acdd08SWingMan Kwok Enable this to support Keystone USB phy. This driver provides 5425acdd08SWingMan Kwok interface to interact with USB 2.0 and USB 3.0 PHY that is part 5525acdd08SWingMan Kwok of the Keystone SOC. 5625acdd08SWingMan Kwok 57a0e63123SFelipe Balbiconfig NOP_USB_XCEIV 58a0e63123SFelipe Balbi tristate "NOP USB Transceiver Driver" 595a8d651aSFelipe Balbi depends on USB_GADGET || !USB_GADGET # if USB_GADGET=m, NOP can't be built-in 60052a11d1SRoger Quadros select USB_PHY 61a0e63123SFelipe Balbi help 62a0e63123SFelipe Balbi This driver is to be used by all the usb transceiver which are either 63a0e63123SFelipe Balbi built-in with usb ip or which are autonomous and doesn't require any 64a0e63123SFelipe Balbi phy programming such as ISP1x04 etc. 6557f6ce07SKishon Vijay Abraham I 663bb869c8SSebastian Andrzej Siewiorconfig AM335X_CONTROL_USB 673bb869c8SSebastian Andrzej Siewior tristate 683bb869c8SSebastian Andrzej Siewior 693bb869c8SSebastian Andrzej Siewiorconfig AM335X_PHY_USB 703bb869c8SSebastian Andrzej Siewior tristate "AM335x USB PHY Driver" 717ba01278SDave Jones depends on ARM || COMPILE_TEST 725a8d651aSFelipe Balbi depends on NOP_USB_XCEIV 733bb869c8SSebastian Andrzej Siewior select USB_PHY 743bb869c8SSebastian Andrzej Siewior select AM335X_CONTROL_USB 7559f042f6SBin Liu select USB_COMMON 763bb869c8SSebastian Andrzej Siewior help 773bb869c8SSebastian Andrzej Siewior This driver provides PHY support for that phy which part for the 783bb869c8SSebastian Andrzej Siewior AM335x SoC. 793bb869c8SSebastian Andrzej Siewior 80a0e63123SFelipe Balbiconfig TWL6030_USB 81a0e63123SFelipe Balbi tristate "TWL6030 USB Transceiver Driver" 82a0e63123SFelipe Balbi depends on TWL4030_CORE && OMAP_USB2 && USB_MUSB_OMAP2PLUS 831ad528dbSNicolae Rosia depends on OF 84a0e63123SFelipe Balbi help 85a0e63123SFelipe Balbi Enable this to support the USB OTG transceiver on TWL6030 86a0e63123SFelipe Balbi family chips. This TWL6030 transceiver has the VBUS and ID GND 87a0e63123SFelipe Balbi and OTG SRP events capabilities. For all other transceiver functionality 88a0e63123SFelipe Balbi UTMI PHY is embedded in OMAP4430. The internal PHY configurations APIs 89a0e63123SFelipe Balbi are hooked to this driver through platform_data structure. 90a0e63123SFelipe Balbi The definition of internal PHY APIs are in the mach-omap2 layer. 91a0e63123SFelipe Balbi 92a0e63123SFelipe Balbiconfig USB_GPIO_VBUS 93a0e63123SFelipe Balbi tristate "GPIO based peripheral-only VBUS sensing 'transceiver'" 94db978e28SGeert Uytterhoeven depends on GPIOLIB || COMPILE_TEST 955a8d651aSFelipe Balbi depends on USB_GADGET || !USB_GADGET # if USB_GADGET=m, this can't be 'y' 96052a11d1SRoger Quadros select USB_PHY 97a0e63123SFelipe Balbi help 98a0e63123SFelipe Balbi Provides simple GPIO VBUS sensing for controllers with an 99a0e63123SFelipe Balbi internal transceiver via the usb_phy interface, and 100a0e63123SFelipe Balbi optionally control of a D+ pullup GPIO as well as a VBUS 101a0e63123SFelipe Balbi current limit regulator. 10201658f0fSKishon Vijay Abraham I 103449d2ba6SAaro Koskinenconfig OMAP_OTG 104449d2ba6SAaro Koskinen tristate "OMAP USB OTG controller driver" 105449d2ba6SAaro Koskinen depends on ARCH_OMAP_OTG && EXTCON 106449d2ba6SAaro Koskinen help 107449d2ba6SAaro Koskinen Enable this to support some transceivers on OMAP1 platforms. OTG 108449d2ba6SAaro Koskinen controller is needed to switch between host and peripheral modes. 109449d2ba6SAaro Koskinen 110449d2ba6SAaro Koskinen This driver can also be built as a module. If so, the module 11112c8d64eSAaro Koskinen will be called phy-omap-otg. 112449d2ba6SAaro Koskinen 1139ba96ae5SAaro Koskinenconfig TAHVO_USB 1149ba96ae5SAaro Koskinen tristate "Tahvo USB transceiver driver" 1157d21114dSBaolin Wang depends on MFD_RETU 1165a8d651aSFelipe Balbi depends on USB_GADGET || !USB_GADGET # if USB_GADGET=m, this can't be 'y' 1179ba96ae5SAaro Koskinen select USB_PHY 1189ba96ae5SAaro Koskinen help 1199ba96ae5SAaro Koskinen Enable this to support USB transceiver on Tahvo. This is used 1209ba96ae5SAaro Koskinen at least on Nokia 770. 1219ba96ae5SAaro Koskinen 1229ba96ae5SAaro Koskinenconfig TAHVO_USB_HOST_BY_DEFAULT 1239ba96ae5SAaro Koskinen depends on TAHVO_USB 1246341e62bSChristoph Jaeger bool "Device in USB host mode by default" 1259ba96ae5SAaro Koskinen help 1269ba96ae5SAaro Koskinen Say Y here, if you want the device to enter USB host mode 1279ba96ae5SAaro Koskinen by default on bootup. 1289ba96ae5SAaro Koskinen 1298b7c3b68SRoland Stiggeconfig USB_ISP1301 1308b7c3b68SRoland Stigge tristate "NXP ISP1301 USB transceiver support" 131c6156328SAlexandre Pereira da Silva depends on USB || USB_GADGET 1328b7c3b68SRoland Stigge depends on I2C 133052a11d1SRoger Quadros select USB_PHY 1348b7c3b68SRoland Stigge help 1358b7c3b68SRoland Stigge Say Y here to add support for the NXP ISP1301 USB transceiver driver. 1368b7c3b68SRoland Stigge This chip is typically used as USB transceiver for USB host, gadget 1378b7c3b68SRoland Stigge and OTG drivers (to be selected separately). 1388b7c3b68SRoland Stigge 1398b7c3b68SRoland Stigge To compile this driver as a module, choose M here: the 14012c8d64eSAaro Koskinen module will be called phy-isp1301. 141a67e76acSYu Xu 142a0e63123SFelipe Balbiconfig USB_MV_OTG 143a0e63123SFelipe Balbi tristate "Marvell USB OTG support" 144c4f16130SPeter Chen depends on USB_EHCI_MV && USB_MV_UDC && PM && USB_OTG 1455a8d651aSFelipe Balbi depends on USB_GADGET || !USB_GADGET # if USB_GADGET=m, this can't be 'y' 146052a11d1SRoger Quadros select USB_PHY 147a0e63123SFelipe Balbi help 14844ef9b2cSColin Ian King Say Y here if you want to build Marvell USB OTG transceiver 149a0e63123SFelipe Balbi driver in kernel (including PXA and MMP series). This driver 150a0e63123SFelipe Balbi implements role switch between EHCI host driver and gadget driver. 151a0e63123SFelipe Balbi 152a0e63123SFelipe Balbi To compile this driver as a module, choose M here. 153a0e63123SFelipe Balbi 154a0e63123SFelipe Balbiconfig USB_MXS_PHY 155a0e63123SFelipe Balbi tristate "Freescale MXS USB PHY support" 156a0e63123SFelipe Balbi depends on ARCH_MXC || ARCH_MXS 157a0e63123SFelipe Balbi select STMP_DEVICE 158052a11d1SRoger Quadros select USB_PHY 159a0e63123SFelipe Balbi help 160a0e63123SFelipe Balbi Enable this to support the Freescale MXS USB PHY. 161a0e63123SFelipe Balbi 162a0e63123SFelipe Balbi MXS Phy is used by some of the i.MX SoCs, for example imx23/28/6x. 1631789e52aSKuninori Morimoto 164ee30ec0cSDmitry Osipenkoconfig USB_TEGRA_PHY 165ee30ec0cSDmitry Osipenko tristate "NVIDIA Tegra USB PHY Driver" 16691687c19SKrzysztof Kozlowski depends on ARCH_TEGRA || COMPILE_TEST 167822852f2SArnd Bergmann select USB_COMMON 168ee30ec0cSDmitry Osipenko select USB_PHY 169ee30ec0cSDmitry Osipenko select USB_ULPI 170ee30ec0cSDmitry Osipenko help 171ee30ec0cSDmitry Osipenko This driver provides PHY support for the USB controllers found 172ee30ec0cSDmitry Osipenko on NVIDIA Tegra SoC's. 173ee30ec0cSDmitry Osipenko 174a0e63123SFelipe Balbiconfig USB_ULPI 175a0e63123SFelipe Balbi bool "Generic ULPI Transceiver Driver" 17691687c19SKrzysztof Kozlowski depends on ARM || ARM64 || COMPILE_TEST 1771ea276cbSIvan T. Ivanov select USB_ULPI_VIEWPORT 178337dc3a7SPraveen Paneri help 179a0e63123SFelipe Balbi Enable this to support ULPI connected USB OTG transceivers which 180a0e63123SFelipe Balbi are likely found on embedded boards. 181a0e63123SFelipe Balbi 182a0e63123SFelipe Balbiconfig USB_ULPI_VIEWPORT 183a0e63123SFelipe Balbi bool 184a0e63123SFelipe Balbi help 185a0e63123SFelipe Balbi Provides read/write operations to the ULPI phy register set for 186a0e63123SFelipe Balbi controllers with a viewport register (e.g. Chipidea/ARC controllers). 187a0e63123SFelipe Balbi 188541368b4SPaul Cercueilconfig JZ4770_PHY 1892a6c0b82S周琰杰 (Zhou Yanjie) tristate "Ingenic SoCs Transceiver Driver" 190541368b4SPaul Cercueil depends on MIPS || COMPILE_TEST 191541368b4SPaul Cercueil select USB_PHY 192541368b4SPaul Cercueil help 193541368b4SPaul Cercueil This driver provides PHY support for the USB controller found 1942a6c0b82S周琰杰 (Zhou Yanjie) on the JZ-series and X-series SoCs from Ingenic. 195541368b4SPaul Cercueil 196052a11d1SRoger Quadrosendmenu 197