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 9a0e63123SFelipe Balbi# 10a0e63123SFelipe Balbi# USB Transceiver Drivers 11a0e63123SFelipe Balbi# 12a0e63123SFelipe Balbiconfig AB8500_USB 13a0e63123SFelipe Balbi tristate "AB8500 USB Transceiver Driver" 14a0e63123SFelipe Balbi depends on AB8500_CORE 15052a11d1SRoger Quadros select USB_PHY 1657f6ce07SKishon Vijay Abraham I help 17a0e63123SFelipe Balbi Enable this to support the USB OTG transceiver in AB8500 chip. 18a0e63123SFelipe Balbi This transceiver supports high and full speed devices plus, 19a0e63123SFelipe Balbi in host mode, low speed. 20a0e63123SFelipe Balbi 21a0e63123SFelipe Balbiconfig FSL_USB2_OTG 22a0e63123SFelipe Balbi bool "Freescale USB OTG Transceiver Driver" 2398f541c6SAlan Stern depends on USB_EHCI_FSL && USB_FSL_USB2 && PM_RUNTIME 24a0e63123SFelipe Balbi select USB_OTG 25052a11d1SRoger Quadros select USB_PHY 26a0e63123SFelipe Balbi help 27a0e63123SFelipe Balbi Enable this to support Freescale USB OTG transceiver. 28a0e63123SFelipe Balbi 29a0e63123SFelipe Balbiconfig ISP1301_OMAP 30a0e63123SFelipe Balbi tristate "Philips ISP1301 with OMAP OTG" 31a0e63123SFelipe Balbi depends on I2C && ARCH_OMAP_OTG 32052a11d1SRoger Quadros select USB_PHY 33a0e63123SFelipe Balbi help 34a0e63123SFelipe Balbi If you say yes here you get support for the Philips ISP1301 35a0e63123SFelipe Balbi USB-On-The-Go transceiver working with the OMAP OTG controller. 36a0e63123SFelipe Balbi The ISP1301 is a full speed USB transceiver which is used in 37a0e63123SFelipe Balbi products including H2, H3, and H4 development boards for Texas 38a0e63123SFelipe Balbi Instruments OMAP processors. 39a0e63123SFelipe Balbi 40a0e63123SFelipe Balbi This driver can also be built as a module. If so, the module 41a0e63123SFelipe Balbi will be called isp1301_omap. 42a0e63123SFelipe Balbi 43a0e63123SFelipe Balbiconfig MV_U3D_PHY 44a0e63123SFelipe Balbi bool "Marvell USB 3.0 PHY controller Driver" 4560630c2eSFelipe Balbi depends on CPU_MMP3 46052a11d1SRoger Quadros select USB_PHY 47a0e63123SFelipe Balbi help 48a0e63123SFelipe Balbi Enable this to support Marvell USB 3.0 phy controller for Marvell 49a0e63123SFelipe Balbi SoC. 50a0e63123SFelipe Balbi 51a0e63123SFelipe Balbiconfig NOP_USB_XCEIV 52a0e63123SFelipe Balbi tristate "NOP USB Transceiver Driver" 53052a11d1SRoger Quadros select USB_PHY 54a0e63123SFelipe Balbi help 55a0e63123SFelipe Balbi This driver is to be used by all the usb transceiver which are either 56a0e63123SFelipe Balbi built-in with usb ip or which are autonomous and doesn't require any 57a0e63123SFelipe Balbi phy programming such as ISP1x04 etc. 5857f6ce07SKishon Vijay Abraham I 5901658f0fSKishon Vijay Abraham Iconfig OMAP_CONTROL_USB 6001658f0fSKishon Vijay Abraham I tristate "OMAP CONTROL USB Driver" 614e682bbdSPaul Gortmaker depends on ARCH_OMAP2PLUS || COMPILE_TEST 6201658f0fSKishon Vijay Abraham I help 6301658f0fSKishon Vijay Abraham I Enable this to add support for the USB part present in the control 6401658f0fSKishon Vijay Abraham I module. This driver has API to power on the USB2 PHY and to write to 6501658f0fSKishon Vijay Abraham I the mailbox. The mailbox is present only in omap4 and the register to 6601658f0fSKishon Vijay Abraham I power on the USB2 PHY is present in OMAP4 and OMAP5. OMAP5 has an 6701658f0fSKishon Vijay Abraham I additional register to power on USB3 PHY. 6801658f0fSKishon Vijay Abraham I 698b7c3b68SRoland Stiggeconfig OMAP_USB2 708b7c3b68SRoland Stigge tristate "OMAP USB2 PHY Driver" 71c6156328SAlexandre Pereira da Silva depends on ARCH_OMAP2PLUS 728b7c3b68SRoland Stigge select OMAP_CONTROL_USB 73052a11d1SRoger Quadros select USB_PHY 748b7c3b68SRoland Stigge help 758b7c3b68SRoland Stigge Enable this to support the transceiver that is part of SOC. This 768b7c3b68SRoland Stigge driver takes care of all the PHY functionality apart from comparator. 778b7c3b68SRoland Stigge The USB OTG controller communicates with the comparator using this 788b7c3b68SRoland Stigge driver. 798b7c3b68SRoland Stigge 808b7c3b68SRoland Stiggeconfig OMAP_USB3 818b7c3b68SRoland Stigge tristate "OMAP USB3 PHY Driver" 824e682bbdSPaul Gortmaker depends on ARCH_OMAP2PLUS || COMPILE_TEST 838b7c3b68SRoland Stigge select OMAP_CONTROL_USB 84052a11d1SRoger Quadros select USB_PHY 858b7c3b68SRoland Stigge help 868b7c3b68SRoland Stigge Enable this to support the USB3 PHY that is part of SOC. This 878b7c3b68SRoland Stigge driver takes care of all the PHY functionality apart from comparator. 888b7c3b68SRoland Stigge This driver interacts with the "OMAP Control USB Driver" to power 898b7c3b68SRoland Stigge on/off the PHY. 908b7c3b68SRoland Stigge 913bb869c8SSebastian Andrzej Siewiorconfig AM335X_CONTROL_USB 923bb869c8SSebastian Andrzej Siewior tristate 933bb869c8SSebastian Andrzej Siewior 943bb869c8SSebastian Andrzej Siewiorconfig AM335X_PHY_USB 953bb869c8SSebastian Andrzej Siewior tristate "AM335x USB PHY Driver" 963bb869c8SSebastian Andrzej Siewior select USB_PHY 973bb869c8SSebastian Andrzej Siewior select AM335X_CONTROL_USB 983bb869c8SSebastian Andrzej Siewior select NOP_USB_XCEIV 993bb869c8SSebastian Andrzej Siewior help 1003bb869c8SSebastian Andrzej Siewior This driver provides PHY support for that phy which part for the 1013bb869c8SSebastian Andrzej Siewior AM335x SoC. 1023bb869c8SSebastian Andrzej Siewior 103a0e63123SFelipe Balbiconfig SAMSUNG_USBPHY 1046278703bSTomasz Figa tristate 1058b7c3b68SRoland Stigge help 106dc2377d0SVivek Gautam Enable this to support Samsung USB phy helper driver for Samsung SoCs. 107dc2377d0SVivek Gautam This driver provides common interface to interact, for Samsung USB 2.0 PHY 108dc2377d0SVivek Gautam driver and later for Samsung USB 3.0 PHY driver. 109dc2377d0SVivek Gautam 110dc2377d0SVivek Gautamconfig SAMSUNG_USB2PHY 111dc2377d0SVivek Gautam tristate "Samsung USB 2.0 PHY controller Driver" 112dc2377d0SVivek Gautam select SAMSUNG_USBPHY 113052a11d1SRoger Quadros select USB_PHY 114dc2377d0SVivek Gautam help 115dc2377d0SVivek Gautam Enable this to support Samsung USB 2.0 (High Speed) PHY controller 116dc2377d0SVivek Gautam driver for Samsung SoCs. 117a0e63123SFelipe Balbi 118b5276758SVivek Gautamconfig SAMSUNG_USB3PHY 119b5276758SVivek Gautam tristate "Samsung USB 3.0 PHY controller Driver" 120b5276758SVivek Gautam select SAMSUNG_USBPHY 121052a11d1SRoger Quadros select USB_PHY 122b5276758SVivek Gautam help 123b5276758SVivek Gautam Enable this to support Samsung USB 3.0 (Super Speed) phy controller 124b5276758SVivek Gautam for samsung SoCs. 125b5276758SVivek Gautam 126a0e63123SFelipe Balbiconfig TWL4030_USB 127a0e63123SFelipe Balbi tristate "TWL4030 USB Transceiver Driver" 128a0e63123SFelipe Balbi depends on TWL4030_CORE && REGULATOR_TWL4030 && USB_MUSB_OMAP2PLUS 129052a11d1SRoger Quadros select USB_PHY 130a0e63123SFelipe Balbi help 131a0e63123SFelipe Balbi Enable this to support the USB OTG transceiver on TWL4030 132a0e63123SFelipe Balbi family chips (including the TWL5030 and TPS659x0 devices). 133a0e63123SFelipe Balbi This transceiver supports high and full speed devices plus, 134a0e63123SFelipe Balbi in host mode, low speed. 135a0e63123SFelipe Balbi 136a0e63123SFelipe Balbiconfig TWL6030_USB 137a0e63123SFelipe Balbi tristate "TWL6030 USB Transceiver Driver" 138a0e63123SFelipe Balbi depends on TWL4030_CORE && OMAP_USB2 && USB_MUSB_OMAP2PLUS 139a0e63123SFelipe Balbi help 140a0e63123SFelipe Balbi Enable this to support the USB OTG transceiver on TWL6030 141a0e63123SFelipe Balbi family chips. This TWL6030 transceiver has the VBUS and ID GND 142a0e63123SFelipe Balbi and OTG SRP events capabilities. For all other transceiver functionality 143a0e63123SFelipe Balbi UTMI PHY is embedded in OMAP4430. The internal PHY configurations APIs 144a0e63123SFelipe Balbi are hooked to this driver through platform_data structure. 145a0e63123SFelipe Balbi The definition of internal PHY APIs are in the mach-omap2 layer. 146a0e63123SFelipe Balbi 147a0e63123SFelipe Balbiconfig USB_GPIO_VBUS 148a0e63123SFelipe Balbi tristate "GPIO based peripheral-only VBUS sensing 'transceiver'" 1495647ac0aSLinus Torvalds depends on GPIOLIB 150052a11d1SRoger Quadros select USB_PHY 151a0e63123SFelipe Balbi help 152a0e63123SFelipe Balbi Provides simple GPIO VBUS sensing for controllers with an 153a0e63123SFelipe Balbi internal transceiver via the usb_phy interface, and 154a0e63123SFelipe Balbi optionally control of a D+ pullup GPIO as well as a VBUS 155a0e63123SFelipe Balbi current limit regulator. 1568b7c3b68SRoland Stigge 1578b7c3b68SRoland Stiggeconfig USB_ISP1301 158a67e76acSYu Xu tristate "NXP ISP1301 USB transceiver support" 159a67e76acSYu Xu depends on USB || USB_GADGET 160a67e76acSYu Xu depends on I2C 161052a11d1SRoger Quadros select USB_PHY 1628b7c3b68SRoland Stigge help 1638b7c3b68SRoland Stigge Say Y here to add support for the NXP ISP1301 USB transceiver driver. 1648b7c3b68SRoland Stigge This chip is typically used as USB transceiver for USB host, gadget 1658b7c3b68SRoland Stigge and OTG drivers (to be selected separately). 1668b7c3b68SRoland Stigge 1678b7c3b68SRoland Stigge To compile this driver as a module, choose M here: the 1688b7c3b68SRoland Stigge module will be called isp1301. 169a67e76acSYu Xu 170a0e63123SFelipe Balbiconfig USB_MSM_OTG 171a0e63123SFelipe Balbi tristate "OTG support for Qualcomm on-chip USB controller" 172a0e63123SFelipe Balbi depends on (USB || USB_GADGET) && ARCH_MSM 173052a11d1SRoger Quadros select USB_PHY 174a67e76acSYu Xu help 175a0e63123SFelipe Balbi Enable this to support the USB OTG transceiver on MSM chips. It 176a0e63123SFelipe Balbi handles PHY initialization, clock management, and workarounds 177a0e63123SFelipe Balbi required after resetting the hardware and power management. 178a0e63123SFelipe Balbi This driver is required even for peripheral only or host only 179a0e63123SFelipe Balbi mode configurations. 180a0e63123SFelipe Balbi This driver is not supported on boards like trout which 181a0e63123SFelipe Balbi has an external PHY. 182a0e63123SFelipe Balbi 183a0e63123SFelipe Balbiconfig USB_MV_OTG 184a0e63123SFelipe Balbi tristate "Marvell USB OTG support" 18598f541c6SAlan Stern depends on USB_EHCI_MV && USB_MV_UDC && PM_RUNTIME 186a0e63123SFelipe Balbi select USB_OTG 187052a11d1SRoger Quadros select USB_PHY 188a0e63123SFelipe Balbi help 189a0e63123SFelipe Balbi Say Y here if you want to build Marvell USB OTG transciever 190a0e63123SFelipe Balbi driver in kernel (including PXA and MMP series). This driver 191a0e63123SFelipe Balbi implements role switch between EHCI host driver and gadget driver. 192a0e63123SFelipe Balbi 193a0e63123SFelipe Balbi To compile this driver as a module, choose M here. 194a0e63123SFelipe Balbi 195a0e63123SFelipe Balbiconfig USB_MXS_PHY 196a0e63123SFelipe Balbi tristate "Freescale MXS USB PHY support" 197a0e63123SFelipe Balbi depends on ARCH_MXC || ARCH_MXS 198a0e63123SFelipe Balbi select STMP_DEVICE 199052a11d1SRoger Quadros select USB_PHY 200a0e63123SFelipe Balbi help 201a0e63123SFelipe Balbi Enable this to support the Freescale MXS USB PHY. 202a0e63123SFelipe Balbi 203a0e63123SFelipe Balbi MXS Phy is used by some of the i.MX SoCs, for example imx23/28/6x. 2041789e52aSKuninori Morimoto 2051789e52aSKuninori Morimotoconfig USB_RCAR_PHY 20654407f19SSergei Shtylyov tristate "Renesas R-Car USB PHY support" 2071789e52aSKuninori Morimoto depends on USB || USB_GADGET 208052a11d1SRoger Quadros select USB_PHY 2091789e52aSKuninori Morimoto help 21054407f19SSergei Shtylyov Say Y here to add support for the Renesas R-Car USB common PHY driver. 21154407f19SSergei Shtylyov This chip is typically used as USB PHY for USB host, gadget. 21254407f19SSergei Shtylyov This driver supports R8A7778 and R8A7779. 2131789e52aSKuninori Morimoto 2141789e52aSKuninori Morimoto To compile this driver as a module, choose M here: the 21554407f19SSergei Shtylyov module will be called phy-rcar-usb. 216337dc3a7SPraveen Paneri 2175578b266SValentine Barshakconfig USB_RCAR_GEN2_PHY 2185578b266SValentine Barshak tristate "Renesas R-Car Gen2 USB PHY support" 2195578b266SValentine Barshak depends on ARCH_R8A7790 || ARCH_R8A7791 || COMPILE_TEST 2205578b266SValentine Barshak select USB_PHY 2215578b266SValentine Barshak help 2225578b266SValentine Barshak Say Y here to add support for the Renesas R-Car Gen2 USB PHY driver. 2235578b266SValentine Barshak It is typically used to control internal USB PHY for USBHS, 2245578b266SValentine Barshak and to configure shared USB channels 0 and 2. 2255578b266SValentine Barshak This driver supports R8A7790 and R8A7791. 2265578b266SValentine Barshak 2275578b266SValentine Barshak To compile this driver as a module, choose M here: the 2285578b266SValentine Barshak module will be called phy-rcar-gen2-usb. 2295578b266SValentine Barshak 230a0e63123SFelipe Balbiconfig USB_ULPI 231a0e63123SFelipe Balbi bool "Generic ULPI Transceiver Driver" 232a0e63123SFelipe Balbi depends on ARM 233337dc3a7SPraveen Paneri help 234a0e63123SFelipe Balbi Enable this to support ULPI connected USB OTG transceivers which 235a0e63123SFelipe Balbi are likely found on embedded boards. 236a0e63123SFelipe Balbi 237a0e63123SFelipe Balbiconfig USB_ULPI_VIEWPORT 238a0e63123SFelipe Balbi bool 239a0e63123SFelipe Balbi depends on USB_ULPI 240a0e63123SFelipe Balbi help 241a0e63123SFelipe Balbi Provides read/write operations to the ULPI phy register set for 242a0e63123SFelipe Balbi controllers with a viewport register (e.g. Chipidea/ARC controllers). 243a0e63123SFelipe Balbi 244052a11d1SRoger Quadrosendmenu 245