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" 231b3e3aa6SRafael J. Wysocki depends on USB_EHCI_FSL && USB_FSL_USB2 && USB_OTG_FSM && PM 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 327cd0c298SFelipe Balbi depends on USB 33052a11d1SRoger Quadros select USB_PHY 34a0e63123SFelipe Balbi help 35a0e63123SFelipe Balbi If you say yes here you get support for the Philips ISP1301 36a0e63123SFelipe Balbi USB-On-The-Go transceiver working with the OMAP OTG controller. 37a0e63123SFelipe Balbi The ISP1301 is a full speed USB transceiver which is used in 38a0e63123SFelipe Balbi products including H2, H3, and H4 development boards for Texas 39a0e63123SFelipe Balbi Instruments OMAP processors. 40a0e63123SFelipe Balbi 41a0e63123SFelipe Balbi This driver can also be built as a module. If so, the module 4212c8d64eSAaro Koskinen will be called phy-isp1301-omap. 43a0e63123SFelipe Balbi 4425acdd08SWingMan Kwokconfig KEYSTONE_USB_PHY 4525acdd08SWingMan Kwok tristate "Keystone USB PHY Driver" 4625acdd08SWingMan Kwok depends on ARCH_KEYSTONE || COMPILE_TEST 4725acdd08SWingMan Kwok select NOP_USB_XCEIV 4825acdd08SWingMan Kwok help 4925acdd08SWingMan Kwok Enable this to support Keystone USB phy. This driver provides 5025acdd08SWingMan Kwok interface to interact with USB 2.0 and USB 3.0 PHY that is part 5125acdd08SWingMan Kwok of the Keystone SOC. 5225acdd08SWingMan Kwok 53a0e63123SFelipe Balbiconfig NOP_USB_XCEIV 54a0e63123SFelipe Balbi tristate "NOP USB Transceiver Driver" 55052a11d1SRoger Quadros select USB_PHY 56a0e63123SFelipe Balbi help 57a0e63123SFelipe Balbi This driver is to be used by all the usb transceiver which are either 58a0e63123SFelipe Balbi built-in with usb ip or which are autonomous and doesn't require any 59a0e63123SFelipe Balbi phy programming such as ISP1x04 etc. 6057f6ce07SKishon Vijay Abraham I 613bb869c8SSebastian Andrzej Siewiorconfig AM335X_CONTROL_USB 623bb869c8SSebastian Andrzej Siewior tristate 633bb869c8SSebastian Andrzej Siewior 643bb869c8SSebastian Andrzej Siewiorconfig AM335X_PHY_USB 653bb869c8SSebastian Andrzej Siewior tristate "AM335x USB PHY Driver" 667ba01278SDave Jones depends on ARM || COMPILE_TEST 673bb869c8SSebastian Andrzej Siewior select USB_PHY 683bb869c8SSebastian Andrzej Siewior select AM335X_CONTROL_USB 693bb869c8SSebastian Andrzej Siewior select NOP_USB_XCEIV 703bb869c8SSebastian Andrzej Siewior help 713bb869c8SSebastian Andrzej Siewior This driver provides PHY support for that phy which part for the 723bb869c8SSebastian Andrzej Siewior AM335x SoC. 733bb869c8SSebastian Andrzej Siewior 74a0e63123SFelipe Balbiconfig SAMSUNG_USBPHY 756278703bSTomasz Figa tristate 7601658f0fSKishon Vijay Abraham I help 77dc2377d0SVivek Gautam Enable this to support Samsung USB phy helper driver for Samsung SoCs. 78dc2377d0SVivek Gautam This driver provides common interface to interact, for Samsung USB 2.0 PHY 79dc2377d0SVivek Gautam driver and later for Samsung USB 3.0 PHY driver. 80dc2377d0SVivek Gautam 81a0e63123SFelipe Balbiconfig TWL6030_USB 82a0e63123SFelipe Balbi tristate "TWL6030 USB Transceiver Driver" 83a0e63123SFelipe Balbi depends on TWL4030_CORE && OMAP_USB2 && USB_MUSB_OMAP2PLUS 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'" 945647ac0aSLinus Torvalds depends on GPIOLIB 95052a11d1SRoger Quadros select USB_PHY 96a0e63123SFelipe Balbi help 97a0e63123SFelipe Balbi Provides simple GPIO VBUS sensing for controllers with an 98a0e63123SFelipe Balbi internal transceiver via the usb_phy interface, and 99a0e63123SFelipe Balbi optionally control of a D+ pullup GPIO as well as a VBUS 100a0e63123SFelipe Balbi current limit regulator. 10101658f0fSKishon Vijay Abraham I 102449d2ba6SAaro Koskinenconfig OMAP_OTG 103449d2ba6SAaro Koskinen tristate "OMAP USB OTG controller driver" 104449d2ba6SAaro Koskinen depends on ARCH_OMAP_OTG && EXTCON 105449d2ba6SAaro Koskinen help 106449d2ba6SAaro Koskinen Enable this to support some transceivers on OMAP1 platforms. OTG 107449d2ba6SAaro Koskinen controller is needed to switch between host and peripheral modes. 108449d2ba6SAaro Koskinen 109449d2ba6SAaro Koskinen This driver can also be built as a module. If so, the module 11012c8d64eSAaro Koskinen will be called phy-omap-otg. 111449d2ba6SAaro Koskinen 1129ba96ae5SAaro Koskinenconfig TAHVO_USB 1139ba96ae5SAaro Koskinen tristate "Tahvo USB transceiver driver" 1149ba96ae5SAaro Koskinen depends on MFD_RETU && EXTCON 1159ba96ae5SAaro Koskinen select USB_PHY 1169ba96ae5SAaro Koskinen help 1179ba96ae5SAaro Koskinen Enable this to support USB transceiver on Tahvo. This is used 1189ba96ae5SAaro Koskinen at least on Nokia 770. 1199ba96ae5SAaro Koskinen 1209ba96ae5SAaro Koskinenconfig TAHVO_USB_HOST_BY_DEFAULT 1219ba96ae5SAaro Koskinen depends on TAHVO_USB 1229ba96ae5SAaro Koskinen boolean "Device in USB host mode by default" 1239ba96ae5SAaro Koskinen help 1249ba96ae5SAaro Koskinen Say Y here, if you want the device to enter USB host mode 1259ba96ae5SAaro Koskinen by default on bootup. 1269ba96ae5SAaro Koskinen 1278b7c3b68SRoland Stiggeconfig USB_ISP1301 1288b7c3b68SRoland Stigge tristate "NXP ISP1301 USB transceiver support" 129c6156328SAlexandre Pereira da Silva depends on USB || USB_GADGET 1308b7c3b68SRoland Stigge depends on I2C 131052a11d1SRoger Quadros select USB_PHY 1328b7c3b68SRoland Stigge help 1338b7c3b68SRoland Stigge Say Y here to add support for the NXP ISP1301 USB transceiver driver. 1348b7c3b68SRoland Stigge This chip is typically used as USB transceiver for USB host, gadget 1358b7c3b68SRoland Stigge and OTG drivers (to be selected separately). 1368b7c3b68SRoland Stigge 1378b7c3b68SRoland Stigge To compile this driver as a module, choose M here: the 13812c8d64eSAaro Koskinen module will be called phy-isp1301. 139a67e76acSYu Xu 140a0e63123SFelipe Balbiconfig USB_MSM_OTG 1410d092fdbSIvan T. Ivanov tristate "Qualcomm on-chip USB OTG controller support" 1421f7fc408SFelipe Balbi depends on (USB || USB_GADGET) && (ARCH_MSM || ARCH_QCOM || COMPILE_TEST) 143c5ab571fSArnd Bergmann depends on RESET_CONTROLLER 144052a11d1SRoger Quadros select USB_PHY 145a67e76acSYu Xu help 1460d092fdbSIvan T. Ivanov Enable this to support the USB OTG transceiver on Qualcomm chips. It 147a0e63123SFelipe Balbi handles PHY initialization, clock management, and workarounds 148a0e63123SFelipe Balbi required after resetting the hardware and power management. 149a0e63123SFelipe Balbi This driver is required even for peripheral only or host only 150a0e63123SFelipe Balbi mode configurations. 151a0e63123SFelipe Balbi This driver is not supported on boards like trout which 152a0e63123SFelipe Balbi has an external PHY. 153a0e63123SFelipe Balbi 154a0e63123SFelipe Balbiconfig USB_MV_OTG 155a0e63123SFelipe Balbi tristate "Marvell USB OTG support" 1561b3e3aa6SRafael J. Wysocki depends on USB_EHCI_MV && USB_MV_UDC && PM 157a0e63123SFelipe Balbi select USB_OTG 158052a11d1SRoger Quadros select USB_PHY 159a0e63123SFelipe Balbi help 160a0e63123SFelipe Balbi Say Y here if you want to build Marvell USB OTG transciever 161a0e63123SFelipe Balbi driver in kernel (including PXA and MMP series). This driver 162a0e63123SFelipe Balbi implements role switch between EHCI host driver and gadget driver. 163a0e63123SFelipe Balbi 164a0e63123SFelipe Balbi To compile this driver as a module, choose M here. 165a0e63123SFelipe Balbi 166a0e63123SFelipe Balbiconfig USB_MXS_PHY 167a0e63123SFelipe Balbi tristate "Freescale MXS USB PHY support" 168a0e63123SFelipe Balbi depends on ARCH_MXC || ARCH_MXS 169a0e63123SFelipe Balbi select STMP_DEVICE 170052a11d1SRoger Quadros select USB_PHY 171a0e63123SFelipe Balbi help 172a0e63123SFelipe Balbi Enable this to support the Freescale MXS USB PHY. 173a0e63123SFelipe Balbi 174a0e63123SFelipe Balbi MXS Phy is used by some of the i.MX SoCs, for example imx23/28/6x. 1751789e52aSKuninori Morimoto 1761789e52aSKuninori Morimotoconfig USB_RCAR_PHY 17754407f19SSergei Shtylyov tristate "Renesas R-Car USB PHY support" 1781789e52aSKuninori Morimoto depends on USB || USB_GADGET 179efccd24aSJean Delvare depends on ARCH_R8A7778 || ARCH_R8A7779 || COMPILE_TEST 180052a11d1SRoger Quadros select USB_PHY 1811789e52aSKuninori Morimoto help 18254407f19SSergei Shtylyov Say Y here to add support for the Renesas R-Car USB common PHY driver. 18354407f19SSergei Shtylyov This chip is typically used as USB PHY for USB host, gadget. 18454407f19SSergei Shtylyov This driver supports R8A7778 and R8A7779. 1851789e52aSKuninori Morimoto 1861789e52aSKuninori Morimoto To compile this driver as a module, choose M here: the 18754407f19SSergei Shtylyov module will be called phy-rcar-usb. 188337dc3a7SPraveen Paneri 1895578b266SValentine Barshakconfig USB_RCAR_GEN2_PHY 1905578b266SValentine Barshak tristate "Renesas R-Car Gen2 USB PHY support" 1915578b266SValentine Barshak depends on ARCH_R8A7790 || ARCH_R8A7791 || COMPILE_TEST 1925578b266SValentine Barshak select USB_PHY 1935578b266SValentine Barshak help 1945578b266SValentine Barshak Say Y here to add support for the Renesas R-Car Gen2 USB PHY driver. 1955578b266SValentine Barshak It is typically used to control internal USB PHY for USBHS, 1965578b266SValentine Barshak and to configure shared USB channels 0 and 2. 1975578b266SValentine Barshak This driver supports R8A7790 and R8A7791. 1985578b266SValentine Barshak 1995578b266SValentine Barshak To compile this driver as a module, choose M here: the 2005578b266SValentine Barshak module will be called phy-rcar-gen2-usb. 2015578b266SValentine Barshak 202a0e63123SFelipe Balbiconfig USB_ULPI 203a0e63123SFelipe Balbi bool "Generic ULPI Transceiver Driver" 204113229b8SLiviu Dudau depends on ARM || ARM64 205337dc3a7SPraveen Paneri help 206a0e63123SFelipe Balbi Enable this to support ULPI connected USB OTG transceivers which 207a0e63123SFelipe Balbi are likely found on embedded boards. 208a0e63123SFelipe Balbi 209a0e63123SFelipe Balbiconfig USB_ULPI_VIEWPORT 210a0e63123SFelipe Balbi bool 211a0e63123SFelipe Balbi depends on USB_ULPI 212a0e63123SFelipe Balbi help 213a0e63123SFelipe Balbi Provides read/write operations to the ULPI phy register set for 214a0e63123SFelipe Balbi controllers with a viewport register (e.g. Chipidea/ARC controllers). 215a0e63123SFelipe Balbi 216052a11d1SRoger Quadrosendmenu 217