18b7c3b68SRoland Stigge# 28b7c3b68SRoland Stigge# Physical Layer USB driver configuration 38b7c3b68SRoland Stigge# 4052a11d1SRoger Quadrosmenu "USB Physical Layer drivers" 5657b306aSKishon Vijay Abraham I 6052a11d1SRoger Quadrosconfig USB_PHY 7052a11d1SRoger Quadros def_bool n 88b7c3b68SRoland Stigge 9e1d2e319SAnton Tikhomirovconfig USB_OTG_FSM 10e1d2e319SAnton Tikhomirov bool "USB 2.0 OTG FSM implementation" 11e1d2e319SAnton Tikhomirov select USB_OTG 12e1d2e319SAnton Tikhomirov select USB_PHY 13e1d2e319SAnton Tikhomirov help 14e1d2e319SAnton Tikhomirov Implements OTG Final State Machine as specified in On-The-Go 15e1d2e319SAnton Tikhomirov and Embedded Host Supplement to the USB Revision 2.0 Specification. 16e1d2e319SAnton Tikhomirov 17a0e63123SFelipe Balbi# 18a0e63123SFelipe Balbi# USB Transceiver Drivers 19a0e63123SFelipe Balbi# 20a0e63123SFelipe Balbiconfig AB8500_USB 21a0e63123SFelipe Balbi tristate "AB8500 USB Transceiver Driver" 22a0e63123SFelipe Balbi depends on AB8500_CORE 23052a11d1SRoger Quadros select USB_PHY 2457f6ce07SKishon Vijay Abraham I help 25a0e63123SFelipe Balbi Enable this to support the USB OTG transceiver in AB8500 chip. 26a0e63123SFelipe Balbi This transceiver supports high and full speed devices plus, 27a0e63123SFelipe Balbi in host mode, low speed. 28a0e63123SFelipe Balbi 29a0e63123SFelipe Balbiconfig FSL_USB2_OTG 30a0e63123SFelipe Balbi bool "Freescale USB OTG Transceiver Driver" 31e1d2e319SAnton Tikhomirov depends on USB_EHCI_FSL && USB_FSL_USB2 && USB_OTG_FSM && PM_RUNTIME 32a0e63123SFelipe Balbi select USB_OTG 33052a11d1SRoger Quadros select USB_PHY 34a0e63123SFelipe Balbi help 35a0e63123SFelipe Balbi Enable this to support Freescale USB OTG transceiver. 36a0e63123SFelipe Balbi 37a0e63123SFelipe Balbiconfig ISP1301_OMAP 38a0e63123SFelipe Balbi tristate "Philips ISP1301 with OMAP OTG" 39a0e63123SFelipe Balbi depends on I2C && ARCH_OMAP_OTG 40052a11d1SRoger Quadros select USB_PHY 41a0e63123SFelipe Balbi help 42a0e63123SFelipe Balbi If you say yes here you get support for the Philips ISP1301 43a0e63123SFelipe Balbi USB-On-The-Go transceiver working with the OMAP OTG controller. 44a0e63123SFelipe Balbi The ISP1301 is a full speed USB transceiver which is used in 45a0e63123SFelipe Balbi products including H2, H3, and H4 development boards for Texas 46a0e63123SFelipe Balbi Instruments OMAP processors. 47a0e63123SFelipe Balbi 48a0e63123SFelipe Balbi This driver can also be built as a module. If so, the module 4912c8d64eSAaro Koskinen will be called phy-isp1301-omap. 50a0e63123SFelipe Balbi 5125acdd08SWingMan Kwokconfig KEYSTONE_USB_PHY 5225acdd08SWingMan Kwok tristate "Keystone USB PHY Driver" 5325acdd08SWingMan Kwok depends on ARCH_KEYSTONE || COMPILE_TEST 5425acdd08SWingMan Kwok select NOP_USB_XCEIV 5525acdd08SWingMan Kwok help 5625acdd08SWingMan Kwok Enable this to support Keystone USB phy. This driver provides 5725acdd08SWingMan Kwok interface to interact with USB 2.0 and USB 3.0 PHY that is part 5825acdd08SWingMan Kwok of the Keystone SOC. 5925acdd08SWingMan Kwok 60a0e63123SFelipe Balbiconfig MV_U3D_PHY 61a0e63123SFelipe Balbi bool "Marvell USB 3.0 PHY controller Driver" 6260630c2eSFelipe Balbi depends on CPU_MMP3 63052a11d1SRoger Quadros select USB_PHY 64a0e63123SFelipe Balbi help 65a0e63123SFelipe Balbi Enable this to support Marvell USB 3.0 phy controller for Marvell 66a0e63123SFelipe Balbi SoC. 67a0e63123SFelipe Balbi 68a0e63123SFelipe Balbiconfig NOP_USB_XCEIV 69a0e63123SFelipe Balbi tristate "NOP USB Transceiver Driver" 70052a11d1SRoger Quadros select USB_PHY 71a0e63123SFelipe Balbi help 72a0e63123SFelipe Balbi This driver is to be used by all the usb transceiver which are either 73a0e63123SFelipe Balbi built-in with usb ip or which are autonomous and doesn't require any 74a0e63123SFelipe Balbi phy programming such as ISP1x04 etc. 7557f6ce07SKishon Vijay Abraham I 7601658f0fSKishon Vijay Abraham Iconfig OMAP_CONTROL_USB 7701658f0fSKishon Vijay Abraham I tristate "OMAP CONTROL USB Driver" 784e682bbdSPaul Gortmaker depends on ARCH_OMAP2PLUS || COMPILE_TEST 7901658f0fSKishon Vijay Abraham I help 8001658f0fSKishon Vijay Abraham I Enable this to add support for the USB part present in the control 8101658f0fSKishon Vijay Abraham I module. This driver has API to power on the USB2 PHY and to write to 8201658f0fSKishon Vijay Abraham I the mailbox. The mailbox is present only in omap4 and the register to 8301658f0fSKishon Vijay Abraham I power on the USB2 PHY is present in OMAP4 and OMAP5. OMAP5 has an 8401658f0fSKishon Vijay Abraham I additional register to power on USB3 PHY. 8501658f0fSKishon Vijay Abraham I 868b7c3b68SRoland Stiggeconfig OMAP_USB3 878b7c3b68SRoland Stigge tristate "OMAP USB3 PHY Driver" 884e682bbdSPaul Gortmaker depends on ARCH_OMAP2PLUS || COMPILE_TEST 898b7c3b68SRoland Stigge select OMAP_CONTROL_USB 90052a11d1SRoger Quadros select USB_PHY 918b7c3b68SRoland Stigge help 928b7c3b68SRoland Stigge Enable this to support the USB3 PHY that is part of SOC. This 938b7c3b68SRoland Stigge driver takes care of all the PHY functionality apart from comparator. 948b7c3b68SRoland Stigge This driver interacts with the "OMAP Control USB Driver" to power 958b7c3b68SRoland Stigge on/off the PHY. 968b7c3b68SRoland Stigge 973bb869c8SSebastian Andrzej Siewiorconfig AM335X_CONTROL_USB 983bb869c8SSebastian Andrzej Siewior tristate 993bb869c8SSebastian Andrzej Siewior 1003bb869c8SSebastian Andrzej Siewiorconfig AM335X_PHY_USB 1013bb869c8SSebastian Andrzej Siewior tristate "AM335x USB PHY Driver" 1027ba01278SDave Jones depends on ARM || COMPILE_TEST 1033bb869c8SSebastian Andrzej Siewior select USB_PHY 1043bb869c8SSebastian Andrzej Siewior select AM335X_CONTROL_USB 1053bb869c8SSebastian Andrzej Siewior select NOP_USB_XCEIV 1063bb869c8SSebastian Andrzej Siewior help 1073bb869c8SSebastian Andrzej Siewior This driver provides PHY support for that phy which part for the 1083bb869c8SSebastian Andrzej Siewior AM335x SoC. 1093bb869c8SSebastian Andrzej Siewior 110a0e63123SFelipe Balbiconfig SAMSUNG_USBPHY 1116278703bSTomasz Figa tristate 1128b7c3b68SRoland Stigge help 113dc2377d0SVivek Gautam Enable this to support Samsung USB phy helper driver for Samsung SoCs. 114dc2377d0SVivek Gautam This driver provides common interface to interact, for Samsung USB 2.0 PHY 115dc2377d0SVivek Gautam driver and later for Samsung USB 3.0 PHY driver. 116dc2377d0SVivek Gautam 117dc2377d0SVivek Gautamconfig SAMSUNG_USB2PHY 118dc2377d0SVivek Gautam tristate "Samsung USB 2.0 PHY controller Driver" 119dc2377d0SVivek Gautam select SAMSUNG_USBPHY 120052a11d1SRoger Quadros select USB_PHY 121dc2377d0SVivek Gautam help 122dc2377d0SVivek Gautam Enable this to support Samsung USB 2.0 (High Speed) PHY controller 123dc2377d0SVivek Gautam driver for Samsung SoCs. 124a0e63123SFelipe Balbi 125b5276758SVivek Gautamconfig SAMSUNG_USB3PHY 126b5276758SVivek Gautam tristate "Samsung USB 3.0 PHY controller Driver" 127b5276758SVivek Gautam select SAMSUNG_USBPHY 128052a11d1SRoger Quadros select USB_PHY 129b5276758SVivek Gautam help 130b5276758SVivek Gautam Enable this to support Samsung USB 3.0 (Super Speed) phy controller 131b5276758SVivek Gautam for samsung SoCs. 132b5276758SVivek Gautam 133a0e63123SFelipe Balbiconfig TWL6030_USB 134a0e63123SFelipe Balbi tristate "TWL6030 USB Transceiver Driver" 135a0e63123SFelipe Balbi depends on TWL4030_CORE && OMAP_USB2 && USB_MUSB_OMAP2PLUS 136a0e63123SFelipe Balbi help 137a0e63123SFelipe Balbi Enable this to support the USB OTG transceiver on TWL6030 138a0e63123SFelipe Balbi family chips. This TWL6030 transceiver has the VBUS and ID GND 139a0e63123SFelipe Balbi and OTG SRP events capabilities. For all other transceiver functionality 140a0e63123SFelipe Balbi UTMI PHY is embedded in OMAP4430. The internal PHY configurations APIs 141a0e63123SFelipe Balbi are hooked to this driver through platform_data structure. 142a0e63123SFelipe Balbi The definition of internal PHY APIs are in the mach-omap2 layer. 143a0e63123SFelipe Balbi 144a0e63123SFelipe Balbiconfig USB_GPIO_VBUS 145a0e63123SFelipe Balbi tristate "GPIO based peripheral-only VBUS sensing 'transceiver'" 1465647ac0aSLinus Torvalds depends on GPIOLIB 147052a11d1SRoger Quadros select USB_PHY 148a0e63123SFelipe Balbi help 149a0e63123SFelipe Balbi Provides simple GPIO VBUS sensing for controllers with an 150a0e63123SFelipe Balbi internal transceiver via the usb_phy interface, and 151a0e63123SFelipe Balbi optionally control of a D+ pullup GPIO as well as a VBUS 152a0e63123SFelipe Balbi current limit regulator. 1538b7c3b68SRoland Stigge 154449d2ba6SAaro Koskinenconfig OMAP_OTG 155449d2ba6SAaro Koskinen tristate "OMAP USB OTG controller driver" 156449d2ba6SAaro Koskinen depends on ARCH_OMAP_OTG && EXTCON 157449d2ba6SAaro Koskinen help 158449d2ba6SAaro Koskinen Enable this to support some transceivers on OMAP1 platforms. OTG 159449d2ba6SAaro Koskinen controller is needed to switch between host and peripheral modes. 160449d2ba6SAaro Koskinen 161449d2ba6SAaro Koskinen This driver can also be built as a module. If so, the module 16212c8d64eSAaro Koskinen will be called phy-omap-otg. 163449d2ba6SAaro Koskinen 1649ba96ae5SAaro Koskinenconfig TAHVO_USB 1659ba96ae5SAaro Koskinen tristate "Tahvo USB transceiver driver" 1669ba96ae5SAaro Koskinen depends on MFD_RETU && EXTCON 1679ba96ae5SAaro Koskinen select USB_PHY 1689ba96ae5SAaro Koskinen help 1699ba96ae5SAaro Koskinen Enable this to support USB transceiver on Tahvo. This is used 1709ba96ae5SAaro Koskinen at least on Nokia 770. 1719ba96ae5SAaro Koskinen 1729ba96ae5SAaro Koskinenconfig TAHVO_USB_HOST_BY_DEFAULT 1739ba96ae5SAaro Koskinen depends on TAHVO_USB 1749ba96ae5SAaro Koskinen boolean "Device in USB host mode by default" 1759ba96ae5SAaro Koskinen help 1769ba96ae5SAaro Koskinen Say Y here, if you want the device to enter USB host mode 1779ba96ae5SAaro Koskinen by default on bootup. 1789ba96ae5SAaro Koskinen 1798b7c3b68SRoland Stiggeconfig USB_ISP1301 1808b7c3b68SRoland Stigge tristate "NXP ISP1301 USB transceiver support" 1818b7c3b68SRoland Stigge depends on USB || USB_GADGET 1828b7c3b68SRoland Stigge depends on I2C 183052a11d1SRoger Quadros select USB_PHY 1848b7c3b68SRoland Stigge help 1858b7c3b68SRoland Stigge Say Y here to add support for the NXP ISP1301 USB transceiver driver. 1868b7c3b68SRoland Stigge This chip is typically used as USB transceiver for USB host, gadget 1878b7c3b68SRoland Stigge and OTG drivers (to be selected separately). 1888b7c3b68SRoland Stigge 1898b7c3b68SRoland Stigge To compile this driver as a module, choose M here: the 19012c8d64eSAaro Koskinen module will be called phy-isp1301. 191a67e76acSYu Xu 192a0e63123SFelipe Balbiconfig USB_MSM_OTG 193a0e63123SFelipe Balbi tristate "OTG support for Qualcomm on-chip USB controller" 194a0e63123SFelipe Balbi depends on (USB || USB_GADGET) && ARCH_MSM 195052a11d1SRoger Quadros select USB_PHY 196a67e76acSYu Xu help 197a0e63123SFelipe Balbi Enable this to support the USB OTG transceiver on MSM chips. It 198a0e63123SFelipe Balbi handles PHY initialization, clock management, and workarounds 199a0e63123SFelipe Balbi required after resetting the hardware and power management. 200a0e63123SFelipe Balbi This driver is required even for peripheral only or host only 201a0e63123SFelipe Balbi mode configurations. 202a0e63123SFelipe Balbi This driver is not supported on boards like trout which 203a0e63123SFelipe Balbi has an external PHY. 204a0e63123SFelipe Balbi 205a0e63123SFelipe Balbiconfig USB_MV_OTG 206a0e63123SFelipe Balbi tristate "Marvell USB OTG support" 20798f541c6SAlan Stern depends on USB_EHCI_MV && USB_MV_UDC && PM_RUNTIME 208a0e63123SFelipe Balbi select USB_OTG 209052a11d1SRoger Quadros select USB_PHY 210a0e63123SFelipe Balbi help 211a0e63123SFelipe Balbi Say Y here if you want to build Marvell USB OTG transciever 212a0e63123SFelipe Balbi driver in kernel (including PXA and MMP series). This driver 213a0e63123SFelipe Balbi implements role switch between EHCI host driver and gadget driver. 214a0e63123SFelipe Balbi 215a0e63123SFelipe Balbi To compile this driver as a module, choose M here. 216a0e63123SFelipe Balbi 217a0e63123SFelipe Balbiconfig USB_MXS_PHY 218a0e63123SFelipe Balbi tristate "Freescale MXS USB PHY support" 219a0e63123SFelipe Balbi depends on ARCH_MXC || ARCH_MXS 220a0e63123SFelipe Balbi select STMP_DEVICE 221052a11d1SRoger Quadros select USB_PHY 222a0e63123SFelipe Balbi help 223a0e63123SFelipe Balbi Enable this to support the Freescale MXS USB PHY. 224a0e63123SFelipe Balbi 225a0e63123SFelipe Balbi MXS Phy is used by some of the i.MX SoCs, for example imx23/28/6x. 2261789e52aSKuninori Morimoto 2271789e52aSKuninori Morimotoconfig USB_RCAR_PHY 22854407f19SSergei Shtylyov tristate "Renesas R-Car USB PHY support" 2291789e52aSKuninori Morimoto depends on USB || USB_GADGET 230052a11d1SRoger Quadros select USB_PHY 2311789e52aSKuninori Morimoto help 23254407f19SSergei Shtylyov Say Y here to add support for the Renesas R-Car USB common PHY driver. 23354407f19SSergei Shtylyov This chip is typically used as USB PHY for USB host, gadget. 23454407f19SSergei Shtylyov This driver supports R8A7778 and R8A7779. 2351789e52aSKuninori Morimoto 2361789e52aSKuninori Morimoto To compile this driver as a module, choose M here: the 23754407f19SSergei Shtylyov module will be called phy-rcar-usb. 238337dc3a7SPraveen Paneri 2395578b266SValentine Barshakconfig USB_RCAR_GEN2_PHY 2405578b266SValentine Barshak tristate "Renesas R-Car Gen2 USB PHY support" 2415578b266SValentine Barshak depends on ARCH_R8A7790 || ARCH_R8A7791 || COMPILE_TEST 2425578b266SValentine Barshak select USB_PHY 2435578b266SValentine Barshak help 2445578b266SValentine Barshak Say Y here to add support for the Renesas R-Car Gen2 USB PHY driver. 2455578b266SValentine Barshak It is typically used to control internal USB PHY for USBHS, 2465578b266SValentine Barshak and to configure shared USB channels 0 and 2. 2475578b266SValentine Barshak This driver supports R8A7790 and R8A7791. 2485578b266SValentine Barshak 2495578b266SValentine Barshak To compile this driver as a module, choose M here: the 2505578b266SValentine Barshak module will be called phy-rcar-gen2-usb. 2515578b266SValentine Barshak 252a0e63123SFelipe Balbiconfig USB_ULPI 253a0e63123SFelipe Balbi bool "Generic ULPI Transceiver Driver" 254a0e63123SFelipe Balbi depends on ARM 255337dc3a7SPraveen Paneri help 256a0e63123SFelipe Balbi Enable this to support ULPI connected USB OTG transceivers which 257a0e63123SFelipe Balbi are likely found on embedded boards. 258a0e63123SFelipe Balbi 259a0e63123SFelipe Balbiconfig USB_ULPI_VIEWPORT 260a0e63123SFelipe Balbi bool 261a0e63123SFelipe Balbi depends on USB_ULPI 262a0e63123SFelipe Balbi help 263a0e63123SFelipe Balbi Provides read/write operations to the ULPI phy register set for 264a0e63123SFelipe Balbi controllers with a viewport register (e.g. Chipidea/ARC controllers). 265a0e63123SFelipe Balbi 266052a11d1SRoger Quadrosendmenu 267