18b7c3b68SRoland Stigge# 28b7c3b68SRoland Stigge# Physical Layer USB driver configuration 38b7c3b68SRoland Stigge# 4edc7cb2eSFelipe Balbimenuconfig USB_PHY 54623245cSArnd Bergmann bool "USB Physical Layer drivers" 6657b306aSKishon Vijay Abraham I help 7035978beSGeorge Spelvin Most USB controllers have the physical layer signalling part 8035978beSGeorge Spelvin (commonly called a PHY) built in. However, dual-role devices 9035978beSGeorge Spelvin (a.k.a. USB on-the-go) which support being USB master or slave 10035978beSGeorge Spelvin with the same connector often use an external PHY. 11657b306aSKishon Vijay Abraham I 12035978beSGeorge Spelvin The drivers in this submenu add support for such PHY devices. 13035978beSGeorge Spelvin They are not needed for standard master-only (or the vast 14035978beSGeorge Spelvin majority of slave-only) USB interfaces. 15035978beSGeorge Spelvin 16035978beSGeorge Spelvin If you're not sure if this applies to you, it probably doesn't; 17035978beSGeorge Spelvin say N here. 18edc7cb2eSFelipe Balbi 19edc7cb2eSFelipe Balbiif USB_PHY 208b7c3b68SRoland Stigge 21a0e63123SFelipe Balbi# 22a0e63123SFelipe Balbi# USB Transceiver Drivers 23a0e63123SFelipe Balbi# 24a0e63123SFelipe Balbiconfig AB8500_USB 25a0e63123SFelipe Balbi tristate "AB8500 USB Transceiver Driver" 26a0e63123SFelipe Balbi depends on AB8500_CORE 2757f6ce07SKishon Vijay Abraham I help 28a0e63123SFelipe Balbi Enable this to support the USB OTG transceiver in AB8500 chip. 29a0e63123SFelipe Balbi This transceiver supports high and full speed devices plus, 30a0e63123SFelipe Balbi in host mode, low speed. 31a0e63123SFelipe Balbi 32a0e63123SFelipe Balbiconfig FSL_USB2_OTG 33a0e63123SFelipe Balbi bool "Freescale USB OTG Transceiver Driver" 3498f541c6SAlan Stern depends on USB_EHCI_FSL && USB_FSL_USB2 && PM_RUNTIME 35a0e63123SFelipe Balbi select USB_OTG 36a0e63123SFelipe Balbi help 37a0e63123SFelipe Balbi Enable this to support Freescale USB OTG transceiver. 38a0e63123SFelipe Balbi 39a0e63123SFelipe Balbiconfig ISP1301_OMAP 40a0e63123SFelipe Balbi tristate "Philips ISP1301 with OMAP OTG" 41a0e63123SFelipe Balbi depends on I2C && ARCH_OMAP_OTG 42a0e63123SFelipe Balbi help 43a0e63123SFelipe Balbi If you say yes here you get support for the Philips ISP1301 44a0e63123SFelipe Balbi USB-On-The-Go transceiver working with the OMAP OTG controller. 45a0e63123SFelipe Balbi The ISP1301 is a full speed USB transceiver which is used in 46a0e63123SFelipe Balbi products including H2, H3, and H4 development boards for Texas 47a0e63123SFelipe Balbi Instruments OMAP processors. 48a0e63123SFelipe Balbi 49a0e63123SFelipe Balbi This driver can also be built as a module. If so, the module 50a0e63123SFelipe Balbi will be called isp1301_omap. 51a0e63123SFelipe Balbi 52a0e63123SFelipe Balbiconfig MV_U3D_PHY 53a0e63123SFelipe Balbi bool "Marvell USB 3.0 PHY controller Driver" 5460630c2eSFelipe Balbi depends on CPU_MMP3 55a0e63123SFelipe Balbi help 56a0e63123SFelipe Balbi Enable this to support Marvell USB 3.0 phy controller for Marvell 57a0e63123SFelipe Balbi SoC. 58a0e63123SFelipe Balbi 59a0e63123SFelipe Balbiconfig NOP_USB_XCEIV 60a0e63123SFelipe Balbi tristate "NOP USB Transceiver Driver" 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 6601658f0fSKishon Vijay Abraham Iconfig OMAP_CONTROL_USB 6701658f0fSKishon Vijay Abraham I tristate "OMAP CONTROL USB Driver" 684e682bbdSPaul Gortmaker depends on ARCH_OMAP2PLUS || COMPILE_TEST 6901658f0fSKishon Vijay Abraham I help 7001658f0fSKishon Vijay Abraham I Enable this to add support for the USB part present in the control 7101658f0fSKishon Vijay Abraham I module. This driver has API to power on the USB2 PHY and to write to 7201658f0fSKishon Vijay Abraham I the mailbox. The mailbox is present only in omap4 and the register to 7301658f0fSKishon Vijay Abraham I power on the USB2 PHY is present in OMAP4 and OMAP5. OMAP5 has an 7401658f0fSKishon Vijay Abraham I additional register to power on USB3 PHY. 7501658f0fSKishon Vijay Abraham I 768b7c3b68SRoland Stiggeconfig OMAP_USB2 778b7c3b68SRoland Stigge tristate "OMAP USB2 PHY Driver" 78c6156328SAlexandre Pereira da Silva depends on ARCH_OMAP2PLUS 798b7c3b68SRoland Stigge select OMAP_CONTROL_USB 808b7c3b68SRoland Stigge help 818b7c3b68SRoland Stigge Enable this to support the transceiver that is part of SOC. This 828b7c3b68SRoland Stigge driver takes care of all the PHY functionality apart from comparator. 838b7c3b68SRoland Stigge The USB OTG controller communicates with the comparator using this 848b7c3b68SRoland Stigge driver. 858b7c3b68SRoland Stigge 868b7c3b68SRoland Stiggeconfig OMAP_USB3 87a67e76acSYu Xu tristate "OMAP USB3 PHY Driver" 884e682bbdSPaul Gortmaker depends on ARCH_OMAP2PLUS || COMPILE_TEST 898b7c3b68SRoland Stigge select OMAP_CONTROL_USB 908b7c3b68SRoland Stigge help 918b7c3b68SRoland Stigge Enable this to support the USB3 PHY that is part of SOC. This 928b7c3b68SRoland Stigge driver takes care of all the PHY functionality apart from comparator. 938b7c3b68SRoland Stigge This driver interacts with the "OMAP Control USB Driver" to power 948b7c3b68SRoland Stigge on/off the PHY. 958b7c3b68SRoland Stigge 96a0e63123SFelipe Balbiconfig SAMSUNG_USBPHY 976278703bSTomasz Figa tristate 988b7c3b68SRoland Stigge help 99dc2377d0SVivek Gautam Enable this to support Samsung USB phy helper driver for Samsung SoCs. 100dc2377d0SVivek Gautam This driver provides common interface to interact, for Samsung USB 2.0 PHY 101dc2377d0SVivek Gautam driver and later for Samsung USB 3.0 PHY driver. 102dc2377d0SVivek Gautam 103dc2377d0SVivek Gautamconfig SAMSUNG_USB2PHY 104dc2377d0SVivek Gautam tristate "Samsung USB 2.0 PHY controller Driver" 105dc2377d0SVivek Gautam select SAMSUNG_USBPHY 106dc2377d0SVivek Gautam help 107dc2377d0SVivek Gautam Enable this to support Samsung USB 2.0 (High Speed) PHY controller 108dc2377d0SVivek Gautam driver for Samsung SoCs. 109a0e63123SFelipe Balbi 110b5276758SVivek Gautamconfig SAMSUNG_USB3PHY 111b5276758SVivek Gautam tristate "Samsung USB 3.0 PHY controller Driver" 112b5276758SVivek Gautam select SAMSUNG_USBPHY 113b5276758SVivek Gautam help 114b5276758SVivek Gautam Enable this to support Samsung USB 3.0 (Super Speed) phy controller 115b5276758SVivek Gautam for samsung SoCs. 116b5276758SVivek Gautam 117a0e63123SFelipe Balbiconfig TWL4030_USB 118a0e63123SFelipe Balbi tristate "TWL4030 USB Transceiver Driver" 119a0e63123SFelipe Balbi depends on TWL4030_CORE && REGULATOR_TWL4030 && USB_MUSB_OMAP2PLUS 120a0e63123SFelipe Balbi help 121a0e63123SFelipe Balbi Enable this to support the USB OTG transceiver on TWL4030 122a0e63123SFelipe Balbi family chips (including the TWL5030 and TPS659x0 devices). 123a0e63123SFelipe Balbi This transceiver supports high and full speed devices plus, 124a0e63123SFelipe Balbi in host mode, low speed. 125a0e63123SFelipe Balbi 126a0e63123SFelipe Balbiconfig TWL6030_USB 127a0e63123SFelipe Balbi tristate "TWL6030 USB Transceiver Driver" 128a0e63123SFelipe Balbi depends on TWL4030_CORE && OMAP_USB2 && USB_MUSB_OMAP2PLUS 129a0e63123SFelipe Balbi help 130a0e63123SFelipe Balbi Enable this to support the USB OTG transceiver on TWL6030 131a0e63123SFelipe Balbi family chips. This TWL6030 transceiver has the VBUS and ID GND 132a0e63123SFelipe Balbi and OTG SRP events capabilities. For all other transceiver functionality 133a0e63123SFelipe Balbi UTMI PHY is embedded in OMAP4430. The internal PHY configurations APIs 134a0e63123SFelipe Balbi are hooked to this driver through platform_data structure. 135a0e63123SFelipe Balbi The definition of internal PHY APIs are in the mach-omap2 layer. 136a0e63123SFelipe Balbi 137a0e63123SFelipe Balbiconfig USB_GPIO_VBUS 138a0e63123SFelipe Balbi tristate "GPIO based peripheral-only VBUS sensing 'transceiver'" 1395647ac0aSLinus Torvalds depends on GPIOLIB 140a0e63123SFelipe Balbi help 141a0e63123SFelipe Balbi Provides simple GPIO VBUS sensing for controllers with an 142a0e63123SFelipe Balbi internal transceiver via the usb_phy interface, and 143a0e63123SFelipe Balbi optionally control of a D+ pullup GPIO as well as a VBUS 144a0e63123SFelipe Balbi current limit regulator. 1458b7c3b68SRoland Stigge 1468b7c3b68SRoland Stiggeconfig USB_ISP1301 147a67e76acSYu Xu tristate "NXP ISP1301 USB transceiver support" 148a67e76acSYu Xu depends on USB || USB_GADGET 149a67e76acSYu Xu depends on I2C 1508b7c3b68SRoland Stigge help 1518b7c3b68SRoland Stigge Say Y here to add support for the NXP ISP1301 USB transceiver driver. 1528b7c3b68SRoland Stigge This chip is typically used as USB transceiver for USB host, gadget 1538b7c3b68SRoland Stigge and OTG drivers (to be selected separately). 1548b7c3b68SRoland Stigge 1558b7c3b68SRoland Stigge To compile this driver as a module, choose M here: the 1568b7c3b68SRoland Stigge module will be called isp1301. 157a67e76acSYu Xu 158a0e63123SFelipe Balbiconfig USB_MSM_OTG 159a0e63123SFelipe Balbi tristate "OTG support for Qualcomm on-chip USB controller" 160a0e63123SFelipe Balbi depends on (USB || USB_GADGET) && ARCH_MSM 161a67e76acSYu Xu help 162a0e63123SFelipe Balbi Enable this to support the USB OTG transceiver on MSM chips. It 163a0e63123SFelipe Balbi handles PHY initialization, clock management, and workarounds 164a0e63123SFelipe Balbi required after resetting the hardware and power management. 165a0e63123SFelipe Balbi This driver is required even for peripheral only or host only 166a0e63123SFelipe Balbi mode configurations. 167a0e63123SFelipe Balbi This driver is not supported on boards like trout which 168a0e63123SFelipe Balbi has an external PHY. 169a0e63123SFelipe Balbi 170a0e63123SFelipe Balbiconfig USB_MV_OTG 171a0e63123SFelipe Balbi tristate "Marvell USB OTG support" 17298f541c6SAlan Stern depends on USB_EHCI_MV && USB_MV_UDC && PM_RUNTIME 173a0e63123SFelipe Balbi select USB_OTG 174a0e63123SFelipe Balbi help 175a0e63123SFelipe Balbi Say Y here if you want to build Marvell USB OTG transciever 176a0e63123SFelipe Balbi driver in kernel (including PXA and MMP series). This driver 177a0e63123SFelipe Balbi implements role switch between EHCI host driver and gadget driver. 178a0e63123SFelipe Balbi 179a0e63123SFelipe Balbi To compile this driver as a module, choose M here. 180a0e63123SFelipe Balbi 181a0e63123SFelipe Balbiconfig USB_MXS_PHY 182a0e63123SFelipe Balbi tristate "Freescale MXS USB PHY support" 183a0e63123SFelipe Balbi depends on ARCH_MXC || ARCH_MXS 184a0e63123SFelipe Balbi select STMP_DEVICE 185a0e63123SFelipe Balbi help 186a0e63123SFelipe Balbi Enable this to support the Freescale MXS USB PHY. 187a0e63123SFelipe Balbi 188a0e63123SFelipe Balbi MXS Phy is used by some of the i.MX SoCs, for example imx23/28/6x. 1891789e52aSKuninori Morimoto 1901789e52aSKuninori Morimotoconfig USB_RCAR_PHY 19154407f19SSergei Shtylyov tristate "Renesas R-Car USB PHY support" 1921789e52aSKuninori Morimoto depends on USB || USB_GADGET 1931789e52aSKuninori Morimoto help 19454407f19SSergei Shtylyov Say Y here to add support for the Renesas R-Car USB common PHY driver. 19554407f19SSergei Shtylyov This chip is typically used as USB PHY for USB host, gadget. 19654407f19SSergei Shtylyov This driver supports R8A7778 and R8A7779. 1971789e52aSKuninori Morimoto 1981789e52aSKuninori Morimoto To compile this driver as a module, choose M here: the 19954407f19SSergei Shtylyov module will be called phy-rcar-usb. 200337dc3a7SPraveen Paneri 201a0e63123SFelipe Balbiconfig USB_ULPI 202a0e63123SFelipe Balbi bool "Generic ULPI Transceiver Driver" 203a0e63123SFelipe Balbi depends on ARM 204337dc3a7SPraveen Paneri help 205a0e63123SFelipe Balbi Enable this to support ULPI connected USB OTG transceivers which 206a0e63123SFelipe Balbi are likely found on embedded boards. 207a0e63123SFelipe Balbi 208a0e63123SFelipe Balbiconfig USB_ULPI_VIEWPORT 209a0e63123SFelipe Balbi bool 210a0e63123SFelipe Balbi depends on USB_ULPI 211a0e63123SFelipe Balbi help 212a0e63123SFelipe Balbi Provides read/write operations to the ULPI phy register set for 213a0e63123SFelipe Balbi controllers with a viewport register (e.g. Chipidea/ARC controllers). 214a0e63123SFelipe Balbi 215edc7cb2eSFelipe Balbiendif # USB_PHY 216