18c2ecf20Sopenharmony_ci# SPDX-License-Identifier: GPL-2.0 28c2ecf20Sopenharmony_ci# 38c2ecf20Sopenharmony_ci# Physical Layer USB driver configuration 48c2ecf20Sopenharmony_ci# 58c2ecf20Sopenharmony_cimenu "USB Physical Layer drivers" 68c2ecf20Sopenharmony_ci 78c2ecf20Sopenharmony_ciconfig USB_PHY 88c2ecf20Sopenharmony_ci select EXTCON 98c2ecf20Sopenharmony_ci def_bool n 108c2ecf20Sopenharmony_ci 118c2ecf20Sopenharmony_ci# 128c2ecf20Sopenharmony_ci# USB Transceiver Drivers 138c2ecf20Sopenharmony_ci# 148c2ecf20Sopenharmony_ciconfig AB8500_USB 158c2ecf20Sopenharmony_ci tristate "AB8500 USB Transceiver Driver" 168c2ecf20Sopenharmony_ci depends on AB8500_CORE 178c2ecf20Sopenharmony_ci select USB_PHY 188c2ecf20Sopenharmony_ci help 198c2ecf20Sopenharmony_ci Enable this to support the USB OTG transceiver in AB8500 chip. 208c2ecf20Sopenharmony_ci This transceiver supports high and full speed devices plus, 218c2ecf20Sopenharmony_ci in host mode, low speed. 228c2ecf20Sopenharmony_ci 238c2ecf20Sopenharmony_ciconfig FSL_USB2_OTG 248c2ecf20Sopenharmony_ci tristate "Freescale USB OTG Transceiver Driver" 258c2ecf20Sopenharmony_ci depends on USB_EHCI_FSL && USB_FSL_USB2 && USB_OTG_FSM=y && PM 268c2ecf20Sopenharmony_ci depends on USB_GADGET || !USB_GADGET # if USB_GADGET=m, this can't be 'y' 278c2ecf20Sopenharmony_ci select USB_PHY 288c2ecf20Sopenharmony_ci help 298c2ecf20Sopenharmony_ci Enable this to support Freescale USB OTG transceiver. 308c2ecf20Sopenharmony_ci 318c2ecf20Sopenharmony_ciconfig ISP1301_OMAP 328c2ecf20Sopenharmony_ci tristate "Philips ISP1301 with OMAP OTG" 338c2ecf20Sopenharmony_ci depends on I2C && ARCH_OMAP_OTG 348c2ecf20Sopenharmony_ci depends on USB 358c2ecf20Sopenharmony_ci depends on USB_GADGET || !USB_GADGET # if USB_GADGET=m, this can't be 'y' 368c2ecf20Sopenharmony_ci select USB_PHY 378c2ecf20Sopenharmony_ci help 388c2ecf20Sopenharmony_ci If you say yes here you get support for the Philips ISP1301 398c2ecf20Sopenharmony_ci USB-On-The-Go transceiver working with the OMAP OTG controller. 408c2ecf20Sopenharmony_ci The ISP1301 is a full speed USB transceiver which is used in 418c2ecf20Sopenharmony_ci products including H2, H3, and H4 development boards for Texas 428c2ecf20Sopenharmony_ci Instruments OMAP processors. 438c2ecf20Sopenharmony_ci 448c2ecf20Sopenharmony_ci This driver can also be built as a module. If so, the module 458c2ecf20Sopenharmony_ci will be called phy-isp1301-omap. 468c2ecf20Sopenharmony_ci 478c2ecf20Sopenharmony_ciconfig KEYSTONE_USB_PHY 488c2ecf20Sopenharmony_ci tristate "Keystone USB PHY Driver" 498c2ecf20Sopenharmony_ci depends on ARCH_KEYSTONE || COMPILE_TEST 508c2ecf20Sopenharmony_ci depends on NOP_USB_XCEIV 518c2ecf20Sopenharmony_ci help 528c2ecf20Sopenharmony_ci Enable this to support Keystone USB phy. This driver provides 538c2ecf20Sopenharmony_ci interface to interact with USB 2.0 and USB 3.0 PHY that is part 548c2ecf20Sopenharmony_ci of the Keystone SOC. 558c2ecf20Sopenharmony_ci 568c2ecf20Sopenharmony_ciconfig NOP_USB_XCEIV 578c2ecf20Sopenharmony_ci tristate "NOP USB Transceiver Driver" 588c2ecf20Sopenharmony_ci depends on USB_GADGET || !USB_GADGET # if USB_GADGET=m, NOP can't be built-in 598c2ecf20Sopenharmony_ci select USB_PHY 608c2ecf20Sopenharmony_ci help 618c2ecf20Sopenharmony_ci This driver is to be used by all the usb transceiver which are either 628c2ecf20Sopenharmony_ci built-in with usb ip or which are autonomous and doesn't require any 638c2ecf20Sopenharmony_ci phy programming such as ISP1x04 etc. 648c2ecf20Sopenharmony_ci 658c2ecf20Sopenharmony_ciconfig AM335X_CONTROL_USB 668c2ecf20Sopenharmony_ci tristate 678c2ecf20Sopenharmony_ci 688c2ecf20Sopenharmony_ciconfig AM335X_PHY_USB 698c2ecf20Sopenharmony_ci tristate "AM335x USB PHY Driver" 708c2ecf20Sopenharmony_ci depends on ARM || COMPILE_TEST 718c2ecf20Sopenharmony_ci depends on NOP_USB_XCEIV 728c2ecf20Sopenharmony_ci select USB_PHY 738c2ecf20Sopenharmony_ci select AM335X_CONTROL_USB 748c2ecf20Sopenharmony_ci select USB_COMMON 758c2ecf20Sopenharmony_ci help 768c2ecf20Sopenharmony_ci This driver provides PHY support for that phy which part for the 778c2ecf20Sopenharmony_ci AM335x SoC. 788c2ecf20Sopenharmony_ci 798c2ecf20Sopenharmony_ciconfig TWL6030_USB 808c2ecf20Sopenharmony_ci tristate "TWL6030 USB Transceiver Driver" 818c2ecf20Sopenharmony_ci depends on TWL4030_CORE && OMAP_USB2 && USB_MUSB_OMAP2PLUS 828c2ecf20Sopenharmony_ci depends on OF 838c2ecf20Sopenharmony_ci help 848c2ecf20Sopenharmony_ci Enable this to support the USB OTG transceiver on TWL6030 858c2ecf20Sopenharmony_ci family chips. This TWL6030 transceiver has the VBUS and ID GND 868c2ecf20Sopenharmony_ci and OTG SRP events capabilities. For all other transceiver functionality 878c2ecf20Sopenharmony_ci UTMI PHY is embedded in OMAP4430. The internal PHY configurations APIs 888c2ecf20Sopenharmony_ci are hooked to this driver through platform_data structure. 898c2ecf20Sopenharmony_ci The definition of internal PHY APIs are in the mach-omap2 layer. 908c2ecf20Sopenharmony_ci 918c2ecf20Sopenharmony_ciconfig USB_GPIO_VBUS 928c2ecf20Sopenharmony_ci tristate "GPIO based peripheral-only VBUS sensing 'transceiver'" 938c2ecf20Sopenharmony_ci depends on GPIOLIB || COMPILE_TEST 948c2ecf20Sopenharmony_ci depends on USB_GADGET || !USB_GADGET # if USB_GADGET=m, this can't be 'y' 958c2ecf20Sopenharmony_ci select USB_PHY 968c2ecf20Sopenharmony_ci help 978c2ecf20Sopenharmony_ci Provides simple GPIO VBUS sensing for controllers with an 988c2ecf20Sopenharmony_ci internal transceiver via the usb_phy interface, and 998c2ecf20Sopenharmony_ci optionally control of a D+ pullup GPIO as well as a VBUS 1008c2ecf20Sopenharmony_ci current limit regulator. 1018c2ecf20Sopenharmony_ci 1028c2ecf20Sopenharmony_ciconfig OMAP_OTG 1038c2ecf20Sopenharmony_ci tristate "OMAP USB OTG controller driver" 1048c2ecf20Sopenharmony_ci depends on ARCH_OMAP_OTG && EXTCON 1058c2ecf20Sopenharmony_ci help 1068c2ecf20Sopenharmony_ci Enable this to support some transceivers on OMAP1 platforms. OTG 1078c2ecf20Sopenharmony_ci controller is needed to switch between host and peripheral modes. 1088c2ecf20Sopenharmony_ci 1098c2ecf20Sopenharmony_ci This driver can also be built as a module. If so, the module 1108c2ecf20Sopenharmony_ci will be called phy-omap-otg. 1118c2ecf20Sopenharmony_ci 1128c2ecf20Sopenharmony_ciconfig TAHVO_USB 1138c2ecf20Sopenharmony_ci tristate "Tahvo USB transceiver driver" 1148c2ecf20Sopenharmony_ci depends on MFD_RETU 1158c2ecf20Sopenharmony_ci depends on USB_GADGET || !USB_GADGET # if USB_GADGET=m, this can't be 'y' 1168c2ecf20Sopenharmony_ci select USB_PHY 1178c2ecf20Sopenharmony_ci help 1188c2ecf20Sopenharmony_ci Enable this to support USB transceiver on Tahvo. This is used 1198c2ecf20Sopenharmony_ci at least on Nokia 770. 1208c2ecf20Sopenharmony_ci 1218c2ecf20Sopenharmony_ciconfig TAHVO_USB_HOST_BY_DEFAULT 1228c2ecf20Sopenharmony_ci depends on TAHVO_USB 1238c2ecf20Sopenharmony_ci bool "Device in USB host mode by default" 1248c2ecf20Sopenharmony_ci help 1258c2ecf20Sopenharmony_ci Say Y here, if you want the device to enter USB host mode 1268c2ecf20Sopenharmony_ci by default on bootup. 1278c2ecf20Sopenharmony_ci 1288c2ecf20Sopenharmony_ciconfig USB_ISP1301 1298c2ecf20Sopenharmony_ci tristate "NXP ISP1301 USB transceiver support" 1308c2ecf20Sopenharmony_ci depends on USB || USB_GADGET 1318c2ecf20Sopenharmony_ci depends on I2C 1328c2ecf20Sopenharmony_ci select USB_PHY 1338c2ecf20Sopenharmony_ci help 1348c2ecf20Sopenharmony_ci Say Y here to add support for the NXP ISP1301 USB transceiver driver. 1358c2ecf20Sopenharmony_ci This chip is typically used as USB transceiver for USB host, gadget 1368c2ecf20Sopenharmony_ci and OTG drivers (to be selected separately). 1378c2ecf20Sopenharmony_ci 1388c2ecf20Sopenharmony_ci To compile this driver as a module, choose M here: the 1398c2ecf20Sopenharmony_ci module will be called phy-isp1301. 1408c2ecf20Sopenharmony_ci 1418c2ecf20Sopenharmony_ciconfig USB_MV_OTG 1428c2ecf20Sopenharmony_ci tristate "Marvell USB OTG support" 1438c2ecf20Sopenharmony_ci depends on USB_EHCI_MV && USB_MV_UDC && PM && USB_OTG 1448c2ecf20Sopenharmony_ci depends on USB_GADGET || !USB_GADGET # if USB_GADGET=m, this can't be 'y' 1458c2ecf20Sopenharmony_ci select USB_PHY 1468c2ecf20Sopenharmony_ci help 1478c2ecf20Sopenharmony_ci Say Y here if you want to build Marvell USB OTG transciever 1488c2ecf20Sopenharmony_ci driver in kernel (including PXA and MMP series). This driver 1498c2ecf20Sopenharmony_ci implements role switch between EHCI host driver and gadget driver. 1508c2ecf20Sopenharmony_ci 1518c2ecf20Sopenharmony_ci To compile this driver as a module, choose M here. 1528c2ecf20Sopenharmony_ci 1538c2ecf20Sopenharmony_ciconfig USB_MXS_PHY 1548c2ecf20Sopenharmony_ci tristate "Freescale MXS USB PHY support" 1558c2ecf20Sopenharmony_ci depends on ARCH_MXC || ARCH_MXS 1568c2ecf20Sopenharmony_ci select STMP_DEVICE 1578c2ecf20Sopenharmony_ci select USB_PHY 1588c2ecf20Sopenharmony_ci help 1598c2ecf20Sopenharmony_ci Enable this to support the Freescale MXS USB PHY. 1608c2ecf20Sopenharmony_ci 1618c2ecf20Sopenharmony_ci MXS Phy is used by some of the i.MX SoCs, for example imx23/28/6x. 1628c2ecf20Sopenharmony_ci 1638c2ecf20Sopenharmony_ciconfig USB_TEGRA_PHY 1648c2ecf20Sopenharmony_ci tristate "NVIDIA Tegra USB PHY Driver" 1658c2ecf20Sopenharmony_ci depends on ARCH_TEGRA || COMPILE_TEST 1668c2ecf20Sopenharmony_ci select USB_COMMON 1678c2ecf20Sopenharmony_ci select USB_PHY 1688c2ecf20Sopenharmony_ci select USB_ULPI 1698c2ecf20Sopenharmony_ci help 1708c2ecf20Sopenharmony_ci This driver provides PHY support for the USB controllers found 1718c2ecf20Sopenharmony_ci on NVIDIA Tegra SoC's. 1728c2ecf20Sopenharmony_ci 1738c2ecf20Sopenharmony_ciconfig USB_ULPI 1748c2ecf20Sopenharmony_ci bool "Generic ULPI Transceiver Driver" 1758c2ecf20Sopenharmony_ci depends on ARM || ARM64 || COMPILE_TEST 1768c2ecf20Sopenharmony_ci select USB_ULPI_VIEWPORT 1778c2ecf20Sopenharmony_ci help 1788c2ecf20Sopenharmony_ci Enable this to support ULPI connected USB OTG transceivers which 1798c2ecf20Sopenharmony_ci are likely found on embedded boards. 1808c2ecf20Sopenharmony_ci 1818c2ecf20Sopenharmony_ciconfig USB_ULPI_VIEWPORT 1828c2ecf20Sopenharmony_ci bool 1838c2ecf20Sopenharmony_ci help 1848c2ecf20Sopenharmony_ci Provides read/write operations to the ULPI phy register set for 1858c2ecf20Sopenharmony_ci controllers with a viewport register (e.g. Chipidea/ARC controllers). 1868c2ecf20Sopenharmony_ci 1878c2ecf20Sopenharmony_ciconfig JZ4770_PHY 1888c2ecf20Sopenharmony_ci tristate "Ingenic SoCs Transceiver Driver" 1898c2ecf20Sopenharmony_ci depends on MIPS || COMPILE_TEST 1908c2ecf20Sopenharmony_ci select USB_PHY 1918c2ecf20Sopenharmony_ci help 1928c2ecf20Sopenharmony_ci This driver provides PHY support for the USB controller found 1938c2ecf20Sopenharmony_ci on the JZ-series and X-series SoCs from Ingenic. 1948c2ecf20Sopenharmony_ci 1958c2ecf20Sopenharmony_ciendmenu 196