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 10e90b8417SFelipe Balbi tristate "USB 2.0 OTG FSM implementation" 11e90b8417SFelipe Balbi depends on USB 12e1d2e319SAnton Tikhomirov select USB_OTG 13e1d2e319SAnton Tikhomirov select USB_PHY 14e1d2e319SAnton Tikhomirov help 15e1d2e319SAnton Tikhomirov Implements OTG Final State Machine as specified in On-The-Go 16e1d2e319SAnton Tikhomirov and Embedded Host Supplement to the USB Revision 2.0 Specification. 17e1d2e319SAnton Tikhomirov 18a0e63123SFelipe Balbi# 19a0e63123SFelipe Balbi# USB Transceiver Drivers 20a0e63123SFelipe Balbi# 21a0e63123SFelipe Balbiconfig AB8500_USB 22a0e63123SFelipe Balbi tristate "AB8500 USB Transceiver Driver" 23a0e63123SFelipe Balbi depends on AB8500_CORE 24052a11d1SRoger Quadros select USB_PHY 2557f6ce07SKishon Vijay Abraham I help 26a0e63123SFelipe Balbi Enable this to support the USB OTG transceiver in AB8500 chip. 27a0e63123SFelipe Balbi This transceiver supports high and full speed devices plus, 28a0e63123SFelipe Balbi in host mode, low speed. 29a0e63123SFelipe Balbi 30a0e63123SFelipe Balbiconfig FSL_USB2_OTG 31a0e63123SFelipe Balbi bool "Freescale USB OTG Transceiver Driver" 32e1d2e319SAnton Tikhomirov depends on USB_EHCI_FSL && USB_FSL_USB2 && USB_OTG_FSM && PM_RUNTIME 33a0e63123SFelipe Balbi select USB_OTG 34052a11d1SRoger Quadros select USB_PHY 35a0e63123SFelipe Balbi help 36a0e63123SFelipe Balbi Enable this to support Freescale USB OTG transceiver. 37a0e63123SFelipe Balbi 38a0e63123SFelipe Balbiconfig ISP1301_OMAP 39a0e63123SFelipe Balbi tristate "Philips ISP1301 with OMAP OTG" 40a0e63123SFelipe Balbi depends on I2C && ARCH_OMAP_OTG 417cd0c298SFelipe Balbi depends on USB 42052a11d1SRoger Quadros select USB_PHY 43a0e63123SFelipe Balbi help 44a0e63123SFelipe Balbi If you say yes here you get support for the Philips ISP1301 45a0e63123SFelipe Balbi USB-On-The-Go transceiver working with the OMAP OTG controller. 46a0e63123SFelipe Balbi The ISP1301 is a full speed USB transceiver which is used in 47a0e63123SFelipe Balbi products including H2, H3, and H4 development boards for Texas 48a0e63123SFelipe Balbi Instruments OMAP processors. 49a0e63123SFelipe Balbi 50a0e63123SFelipe Balbi This driver can also be built as a module. If so, the module 5112c8d64eSAaro Koskinen will be called phy-isp1301-omap. 52a0e63123SFelipe Balbi 5325acdd08SWingMan Kwokconfig KEYSTONE_USB_PHY 5425acdd08SWingMan Kwok tristate "Keystone USB PHY Driver" 5525acdd08SWingMan Kwok depends on ARCH_KEYSTONE || COMPILE_TEST 5625acdd08SWingMan Kwok select NOP_USB_XCEIV 5725acdd08SWingMan Kwok help 5825acdd08SWingMan Kwok Enable this to support Keystone USB phy. This driver provides 5925acdd08SWingMan Kwok interface to interact with USB 2.0 and USB 3.0 PHY that is part 6025acdd08SWingMan Kwok of the Keystone SOC. 6125acdd08SWingMan Kwok 62a0e63123SFelipe Balbiconfig MV_U3D_PHY 63a0e63123SFelipe Balbi bool "Marvell USB 3.0 PHY controller Driver" 6460630c2eSFelipe Balbi depends on CPU_MMP3 65052a11d1SRoger Quadros select USB_PHY 66a0e63123SFelipe Balbi help 67a0e63123SFelipe Balbi Enable this to support Marvell USB 3.0 phy controller for Marvell 68a0e63123SFelipe Balbi SoC. 69a0e63123SFelipe Balbi 70a0e63123SFelipe Balbiconfig NOP_USB_XCEIV 71a0e63123SFelipe Balbi tristate "NOP USB Transceiver Driver" 72052a11d1SRoger Quadros select USB_PHY 73a0e63123SFelipe Balbi help 74a0e63123SFelipe Balbi This driver is to be used by all the usb transceiver which are either 75a0e63123SFelipe Balbi built-in with usb ip or which are autonomous and doesn't require any 76a0e63123SFelipe Balbi phy programming such as ISP1x04 etc. 7757f6ce07SKishon Vijay Abraham I 783bb869c8SSebastian Andrzej Siewiorconfig AM335X_CONTROL_USB 793bb869c8SSebastian Andrzej Siewior tristate 803bb869c8SSebastian Andrzej Siewior 813bb869c8SSebastian Andrzej Siewiorconfig AM335X_PHY_USB 823bb869c8SSebastian Andrzej Siewior tristate "AM335x USB PHY Driver" 837ba01278SDave Jones depends on ARM || COMPILE_TEST 843bb869c8SSebastian Andrzej Siewior select USB_PHY 853bb869c8SSebastian Andrzej Siewior select AM335X_CONTROL_USB 863bb869c8SSebastian Andrzej Siewior select NOP_USB_XCEIV 873bb869c8SSebastian Andrzej Siewior help 883bb869c8SSebastian Andrzej Siewior This driver provides PHY support for that phy which part for the 893bb869c8SSebastian Andrzej Siewior AM335x SoC. 903bb869c8SSebastian Andrzej Siewior 91a0e63123SFelipe Balbiconfig SAMSUNG_USBPHY 926278703bSTomasz Figa tristate 9301658f0fSKishon Vijay Abraham I help 94dc2377d0SVivek Gautam Enable this to support Samsung USB phy helper driver for Samsung SoCs. 95dc2377d0SVivek Gautam This driver provides common interface to interact, for Samsung USB 2.0 PHY 96dc2377d0SVivek Gautam driver and later for Samsung USB 3.0 PHY driver. 97dc2377d0SVivek Gautam 98dc2377d0SVivek Gautamconfig SAMSUNG_USB2PHY 99dc2377d0SVivek Gautam tristate "Samsung USB 2.0 PHY controller Driver" 100dc2377d0SVivek Gautam select SAMSUNG_USBPHY 101052a11d1SRoger Quadros select USB_PHY 102dc2377d0SVivek Gautam help 103dc2377d0SVivek Gautam Enable this to support Samsung USB 2.0 (High Speed) PHY controller 104dc2377d0SVivek Gautam driver for Samsung SoCs. 105a0e63123SFelipe Balbi 106b5276758SVivek Gautamconfig SAMSUNG_USB3PHY 107b5276758SVivek Gautam tristate "Samsung USB 3.0 PHY controller Driver" 108b5276758SVivek Gautam select SAMSUNG_USBPHY 109052a11d1SRoger Quadros select USB_PHY 110b5276758SVivek Gautam help 111b5276758SVivek Gautam Enable this to support Samsung USB 3.0 (Super Speed) phy controller 112b5276758SVivek Gautam for samsung SoCs. 113b5276758SVivek Gautam 114a0e63123SFelipe Balbiconfig TWL6030_USB 115a0e63123SFelipe Balbi tristate "TWL6030 USB Transceiver Driver" 116a0e63123SFelipe Balbi depends on TWL4030_CORE && OMAP_USB2 && USB_MUSB_OMAP2PLUS 117a0e63123SFelipe Balbi help 118a0e63123SFelipe Balbi Enable this to support the USB OTG transceiver on TWL6030 119a0e63123SFelipe Balbi family chips. This TWL6030 transceiver has the VBUS and ID GND 120a0e63123SFelipe Balbi and OTG SRP events capabilities. For all other transceiver functionality 121a0e63123SFelipe Balbi UTMI PHY is embedded in OMAP4430. The internal PHY configurations APIs 122a0e63123SFelipe Balbi are hooked to this driver through platform_data structure. 123a0e63123SFelipe Balbi The definition of internal PHY APIs are in the mach-omap2 layer. 124a0e63123SFelipe Balbi 125a0e63123SFelipe Balbiconfig USB_GPIO_VBUS 126a0e63123SFelipe Balbi tristate "GPIO based peripheral-only VBUS sensing 'transceiver'" 1275647ac0aSLinus Torvalds depends on GPIOLIB 128052a11d1SRoger Quadros select USB_PHY 129a0e63123SFelipe Balbi help 130a0e63123SFelipe Balbi Provides simple GPIO VBUS sensing for controllers with an 131a0e63123SFelipe Balbi internal transceiver via the usb_phy interface, and 132a0e63123SFelipe Balbi optionally control of a D+ pullup GPIO as well as a VBUS 133a0e63123SFelipe Balbi current limit regulator. 13401658f0fSKishon Vijay Abraham I 135449d2ba6SAaro Koskinenconfig OMAP_OTG 136449d2ba6SAaro Koskinen tristate "OMAP USB OTG controller driver" 137449d2ba6SAaro Koskinen depends on ARCH_OMAP_OTG && EXTCON 138449d2ba6SAaro Koskinen help 139449d2ba6SAaro Koskinen Enable this to support some transceivers on OMAP1 platforms. OTG 140449d2ba6SAaro Koskinen controller is needed to switch between host and peripheral modes. 141449d2ba6SAaro Koskinen 142449d2ba6SAaro Koskinen This driver can also be built as a module. If so, the module 14312c8d64eSAaro Koskinen will be called phy-omap-otg. 144449d2ba6SAaro Koskinen 1459ba96ae5SAaro Koskinenconfig TAHVO_USB 1469ba96ae5SAaro Koskinen tristate "Tahvo USB transceiver driver" 1479ba96ae5SAaro Koskinen depends on MFD_RETU && EXTCON 1489ba96ae5SAaro Koskinen select USB_PHY 1499ba96ae5SAaro Koskinen help 1509ba96ae5SAaro Koskinen Enable this to support USB transceiver on Tahvo. This is used 1519ba96ae5SAaro Koskinen at least on Nokia 770. 1529ba96ae5SAaro Koskinen 1539ba96ae5SAaro Koskinenconfig TAHVO_USB_HOST_BY_DEFAULT 1549ba96ae5SAaro Koskinen depends on TAHVO_USB 1559ba96ae5SAaro Koskinen boolean "Device in USB host mode by default" 1569ba96ae5SAaro Koskinen help 1579ba96ae5SAaro Koskinen Say Y here, if you want the device to enter USB host mode 1589ba96ae5SAaro Koskinen by default on bootup. 1599ba96ae5SAaro Koskinen 1608b7c3b68SRoland Stiggeconfig USB_ISP1301 1618b7c3b68SRoland Stigge tristate "NXP ISP1301 USB transceiver support" 162c6156328SAlexandre Pereira da Silva depends on USB || USB_GADGET 1638b7c3b68SRoland Stigge depends on I2C 164052a11d1SRoger Quadros select USB_PHY 1658b7c3b68SRoland Stigge help 1668b7c3b68SRoland Stigge Say Y here to add support for the NXP ISP1301 USB transceiver driver. 1678b7c3b68SRoland Stigge This chip is typically used as USB transceiver for USB host, gadget 1688b7c3b68SRoland Stigge and OTG drivers (to be selected separately). 1698b7c3b68SRoland Stigge 1708b7c3b68SRoland Stigge To compile this driver as a module, choose M here: the 17112c8d64eSAaro Koskinen module will be called phy-isp1301. 172a67e76acSYu Xu 173a0e63123SFelipe Balbiconfig USB_MSM_OTG 1740d092fdbSIvan T. Ivanov tristate "Qualcomm on-chip USB OTG controller support" 1751f7fc408SFelipe Balbi depends on (USB || USB_GADGET) && (ARCH_MSM || ARCH_QCOM || COMPILE_TEST) 176c5ab571fSArnd Bergmann depends on RESET_CONTROLLER 177052a11d1SRoger Quadros select USB_PHY 178a67e76acSYu Xu help 1790d092fdbSIvan T. Ivanov Enable this to support the USB OTG transceiver on Qualcomm chips. It 180a0e63123SFelipe Balbi handles PHY initialization, clock management, and workarounds 181a0e63123SFelipe Balbi required after resetting the hardware and power management. 182a0e63123SFelipe Balbi This driver is required even for peripheral only or host only 183a0e63123SFelipe Balbi mode configurations. 184a0e63123SFelipe Balbi This driver is not supported on boards like trout which 185a0e63123SFelipe Balbi has an external PHY. 186a0e63123SFelipe Balbi 187a0e63123SFelipe Balbiconfig USB_MV_OTG 188a0e63123SFelipe Balbi tristate "Marvell USB OTG support" 18998f541c6SAlan Stern depends on USB_EHCI_MV && USB_MV_UDC && PM_RUNTIME 190a0e63123SFelipe Balbi select USB_OTG 191052a11d1SRoger Quadros select USB_PHY 192a0e63123SFelipe Balbi help 193a0e63123SFelipe Balbi Say Y here if you want to build Marvell USB OTG transciever 194a0e63123SFelipe Balbi driver in kernel (including PXA and MMP series). This driver 195a0e63123SFelipe Balbi implements role switch between EHCI host driver and gadget driver. 196a0e63123SFelipe Balbi 197a0e63123SFelipe Balbi To compile this driver as a module, choose M here. 198a0e63123SFelipe Balbi 199a0e63123SFelipe Balbiconfig USB_MXS_PHY 200a0e63123SFelipe Balbi tristate "Freescale MXS USB PHY support" 201a0e63123SFelipe Balbi depends on ARCH_MXC || ARCH_MXS 202a0e63123SFelipe Balbi select STMP_DEVICE 203052a11d1SRoger Quadros select USB_PHY 204a0e63123SFelipe Balbi help 205a0e63123SFelipe Balbi Enable this to support the Freescale MXS USB PHY. 206a0e63123SFelipe Balbi 207a0e63123SFelipe Balbi MXS Phy is used by some of the i.MX SoCs, for example imx23/28/6x. 2081789e52aSKuninori Morimoto 2091789e52aSKuninori Morimotoconfig USB_RCAR_PHY 21054407f19SSergei Shtylyov tristate "Renesas R-Car USB PHY support" 2111789e52aSKuninori Morimoto depends on USB || USB_GADGET 212052a11d1SRoger Quadros select USB_PHY 2131789e52aSKuninori Morimoto help 21454407f19SSergei Shtylyov Say Y here to add support for the Renesas R-Car USB common PHY driver. 21554407f19SSergei Shtylyov This chip is typically used as USB PHY for USB host, gadget. 21654407f19SSergei Shtylyov This driver supports R8A7778 and R8A7779. 2171789e52aSKuninori Morimoto 2181789e52aSKuninori Morimoto To compile this driver as a module, choose M here: the 21954407f19SSergei Shtylyov module will be called phy-rcar-usb. 220337dc3a7SPraveen Paneri 2215578b266SValentine Barshakconfig USB_RCAR_GEN2_PHY 2225578b266SValentine Barshak tristate "Renesas R-Car Gen2 USB PHY support" 2235578b266SValentine Barshak depends on ARCH_R8A7790 || ARCH_R8A7791 || COMPILE_TEST 2245578b266SValentine Barshak select USB_PHY 2255578b266SValentine Barshak help 2265578b266SValentine Barshak Say Y here to add support for the Renesas R-Car Gen2 USB PHY driver. 2275578b266SValentine Barshak It is typically used to control internal USB PHY for USBHS, 2285578b266SValentine Barshak and to configure shared USB channels 0 and 2. 2295578b266SValentine Barshak This driver supports R8A7790 and R8A7791. 2305578b266SValentine Barshak 2315578b266SValentine Barshak To compile this driver as a module, choose M here: the 2325578b266SValentine Barshak module will be called phy-rcar-gen2-usb. 2335578b266SValentine Barshak 234a0e63123SFelipe Balbiconfig USB_ULPI 235a0e63123SFelipe Balbi bool "Generic ULPI Transceiver Driver" 236a0e63123SFelipe Balbi depends on ARM 237337dc3a7SPraveen Paneri help 238a0e63123SFelipe Balbi Enable this to support ULPI connected USB OTG transceivers which 239a0e63123SFelipe Balbi are likely found on embedded boards. 240a0e63123SFelipe Balbi 241a0e63123SFelipe Balbiconfig USB_ULPI_VIEWPORT 242a0e63123SFelipe Balbi bool 243a0e63123SFelipe Balbi depends on USB_ULPI 244a0e63123SFelipe Balbi help 245a0e63123SFelipe Balbi Provides read/write operations to the ULPI phy register set for 246a0e63123SFelipe Balbi controllers with a viewport register (e.g. Chipidea/ARC controllers). 247a0e63123SFelipe Balbi 248052a11d1SRoger Quadrosendmenu 249