18b7c3b68SRoland Stigge# 28b7c3b68SRoland Stigge# Physical Layer USB driver configuration 38b7c3b68SRoland Stigge# 4edc7cb2eSFelipe Balbimenuconfig USB_PHY 5edc7cb2eSFelipe Balbi tristate "USB Physical Layer drivers" 6edc7cb2eSFelipe Balbi select USB_OTG_UTILS 7edc7cb2eSFelipe Balbi help 8edc7cb2eSFelipe Balbi USB controllers (those which are host, device or DRD) need a 9edc7cb2eSFelipe Balbi device to handle the physical layer signalling, commonly called 10edc7cb2eSFelipe Balbi a PHY. 11edc7cb2eSFelipe Balbi 12edc7cb2eSFelipe Balbi The following drivers add support for such PHY devices. 13edc7cb2eSFelipe Balbi 14edc7cb2eSFelipe Balbiif USB_PHY 158b7c3b68SRoland Stigge 16a0e63123SFelipe Balbiconfig USB_OTG_UTILS 17a0e63123SFelipe Balbi bool 18a0e63123SFelipe Balbi help 19a0e63123SFelipe Balbi Select this to make sure the build includes objects from 20a0e63123SFelipe Balbi the OTG infrastructure directory. 21a0e63123SFelipe Balbi 22a0e63123SFelipe Balbi# 23a0e63123SFelipe Balbi# USB Transceiver Drivers 24a0e63123SFelipe Balbi# 25a0e63123SFelipe Balbiconfig AB8500_USB 26a0e63123SFelipe Balbi tristate "AB8500 USB Transceiver Driver" 27a0e63123SFelipe Balbi depends on AB8500_CORE 28a0e63123SFelipe Balbi select USB_OTG_UTILS 29a0e63123SFelipe Balbi help 30a0e63123SFelipe Balbi Enable this to support the USB OTG transceiver in AB8500 chip. 31a0e63123SFelipe Balbi This transceiver supports high and full speed devices plus, 32a0e63123SFelipe Balbi in host mode, low speed. 33a0e63123SFelipe Balbi 34a0e63123SFelipe Balbiconfig FSL_USB2_OTG 35a0e63123SFelipe Balbi bool "Freescale USB OTG Transceiver Driver" 36a0e63123SFelipe Balbi depends on USB_EHCI_FSL && USB_FSL_USB2 && USB_SUSPEND 37a0e63123SFelipe Balbi select USB_OTG 38a0e63123SFelipe Balbi select USB_OTG_UTILS 39a0e63123SFelipe Balbi help 40a0e63123SFelipe Balbi Enable this to support Freescale USB OTG transceiver. 41a0e63123SFelipe Balbi 42a0e63123SFelipe Balbiconfig ISP1301_OMAP 43a0e63123SFelipe Balbi tristate "Philips ISP1301 with OMAP OTG" 44a0e63123SFelipe Balbi depends on I2C && ARCH_OMAP_OTG 45a0e63123SFelipe Balbi select USB_OTG_UTILS 46a0e63123SFelipe Balbi help 47a0e63123SFelipe Balbi If you say yes here you get support for the Philips ISP1301 48a0e63123SFelipe Balbi USB-On-The-Go transceiver working with the OMAP OTG controller. 49a0e63123SFelipe Balbi The ISP1301 is a full speed USB transceiver which is used in 50a0e63123SFelipe Balbi products including H2, H3, and H4 development boards for Texas 51a0e63123SFelipe Balbi Instruments OMAP processors. 52a0e63123SFelipe Balbi 53a0e63123SFelipe Balbi This driver can also be built as a module. If so, the module 54a0e63123SFelipe Balbi will be called isp1301_omap. 55a0e63123SFelipe Balbi 56a0e63123SFelipe Balbiconfig MV_U3D_PHY 57a0e63123SFelipe Balbi bool "Marvell USB 3.0 PHY controller Driver" 58a0e63123SFelipe Balbi depends on USB_MV_U3D 59a0e63123SFelipe Balbi select USB_OTG_UTILS 60a0e63123SFelipe Balbi help 61a0e63123SFelipe Balbi Enable this to support Marvell USB 3.0 phy controller for Marvell 62a0e63123SFelipe Balbi SoC. 63a0e63123SFelipe Balbi 64a0e63123SFelipe Balbiconfig NOP_USB_XCEIV 65a0e63123SFelipe Balbi tristate "NOP USB Transceiver Driver" 66a0e63123SFelipe Balbi select USB_OTG_UTILS 67a0e63123SFelipe Balbi help 68a0e63123SFelipe Balbi This driver is to be used by all the usb transceiver which are either 69a0e63123SFelipe Balbi built-in with usb ip or which are autonomous and doesn't require any 70a0e63123SFelipe Balbi phy programming such as ISP1x04 etc. 71a0e63123SFelipe Balbi 72a0e63123SFelipe Balbiconfig OMAP_CONTROL_USB 73a0e63123SFelipe Balbi tristate "OMAP CONTROL USB Driver" 74a0e63123SFelipe Balbi help 75a0e63123SFelipe Balbi Enable this to add support for the USB part present in the control 76a0e63123SFelipe Balbi module. This driver has API to power on the USB2 PHY and to write to 77a0e63123SFelipe Balbi the mailbox. The mailbox is present only in omap4 and the register to 78a0e63123SFelipe Balbi power on the USB2 PHY is present in OMAP4 and OMAP5. OMAP5 has an 79a0e63123SFelipe Balbi additional register to power on USB3 PHY. 80a0e63123SFelipe Balbi 81657b306aSKishon Vijay Abraham Iconfig OMAP_USB2 82657b306aSKishon Vijay Abraham I tristate "OMAP USB2 PHY Driver" 83770b6cb4STony Lindgren depends on ARCH_OMAP2PLUS 84657b306aSKishon Vijay Abraham I select USB_OTG_UTILS 85ca784be3SKishon Vijay Abraham I select OMAP_CONTROL_USB 86657b306aSKishon Vijay Abraham I help 87657b306aSKishon Vijay Abraham I Enable this to support the transceiver that is part of SOC. This 88657b306aSKishon Vijay Abraham I driver takes care of all the PHY functionality apart from comparator. 89657b306aSKishon Vijay Abraham I The USB OTG controller communicates with the comparator using this 90657b306aSKishon Vijay Abraham I driver. 91657b306aSKishon Vijay Abraham I 9257f6ce07SKishon Vijay Abraham Iconfig OMAP_USB3 9357f6ce07SKishon Vijay Abraham I tristate "OMAP USB3 PHY Driver" 9457f6ce07SKishon Vijay Abraham I select USB_OTG_UTILS 9557f6ce07SKishon Vijay Abraham I select OMAP_CONTROL_USB 9657f6ce07SKishon Vijay Abraham I help 9757f6ce07SKishon Vijay Abraham I Enable this to support the USB3 PHY that is part of SOC. This 9857f6ce07SKishon Vijay Abraham I driver takes care of all the PHY functionality apart from comparator. 9957f6ce07SKishon Vijay Abraham I This driver interacts with the "OMAP Control USB Driver" to power 10057f6ce07SKishon Vijay Abraham I on/off the PHY. 10157f6ce07SKishon Vijay Abraham I 102a0e63123SFelipe Balbiconfig SAMSUNG_USBPHY 103a0e63123SFelipe Balbi bool "Samsung USB PHY controller Driver" 104a0e63123SFelipe Balbi depends on USB_S3C_HSOTG || USB_EHCI_S5P || USB_OHCI_EXYNOS 105a0e63123SFelipe Balbi select USB_OTG_UTILS 10601658f0fSKishon Vijay Abraham I help 107a0e63123SFelipe Balbi Enable this to support Samsung USB phy controller for samsung 108a0e63123SFelipe Balbi SoCs. 109a0e63123SFelipe Balbi 110a0e63123SFelipe Balbiconfig TWL4030_USB 111a0e63123SFelipe Balbi tristate "TWL4030 USB Transceiver Driver" 112a0e63123SFelipe Balbi depends on TWL4030_CORE && REGULATOR_TWL4030 && USB_MUSB_OMAP2PLUS 113a0e63123SFelipe Balbi select USB_OTG_UTILS 114a0e63123SFelipe Balbi help 115a0e63123SFelipe Balbi Enable this to support the USB OTG transceiver on TWL4030 116a0e63123SFelipe Balbi family chips (including the TWL5030 and TPS659x0 devices). 117a0e63123SFelipe Balbi This transceiver supports high and full speed devices plus, 118a0e63123SFelipe Balbi in host mode, low speed. 119a0e63123SFelipe Balbi 120a0e63123SFelipe Balbiconfig TWL6030_USB 121a0e63123SFelipe Balbi tristate "TWL6030 USB Transceiver Driver" 122a0e63123SFelipe Balbi depends on TWL4030_CORE && OMAP_USB2 && USB_MUSB_OMAP2PLUS 123a0e63123SFelipe Balbi select USB_OTG_UTILS 124a0e63123SFelipe Balbi help 125a0e63123SFelipe Balbi Enable this to support the USB OTG transceiver on TWL6030 126a0e63123SFelipe Balbi family chips. This TWL6030 transceiver has the VBUS and ID GND 127a0e63123SFelipe Balbi and OTG SRP events capabilities. For all other transceiver functionality 128a0e63123SFelipe Balbi UTMI PHY is embedded in OMAP4430. The internal PHY configurations APIs 129a0e63123SFelipe Balbi are hooked to this driver through platform_data structure. 130a0e63123SFelipe Balbi The definition of internal PHY APIs are in the mach-omap2 layer. 131a0e63123SFelipe Balbi 132a0e63123SFelipe Balbiconfig USB_GPIO_VBUS 133a0e63123SFelipe Balbi tristate "GPIO based peripheral-only VBUS sensing 'transceiver'" 134a0e63123SFelipe Balbi depends on GENERIC_GPIO 135a0e63123SFelipe Balbi select USB_OTG_UTILS 136a0e63123SFelipe Balbi help 137a0e63123SFelipe Balbi Provides simple GPIO VBUS sensing for controllers with an 138a0e63123SFelipe Balbi internal transceiver via the usb_phy interface, and 139a0e63123SFelipe Balbi optionally control of a D+ pullup GPIO as well as a VBUS 140a0e63123SFelipe Balbi current limit regulator. 14101658f0fSKishon Vijay Abraham I 1428b7c3b68SRoland Stiggeconfig USB_ISP1301 1438b7c3b68SRoland Stigge tristate "NXP ISP1301 USB transceiver support" 144c6156328SAlexandre Pereira da Silva depends on USB || USB_GADGET 1458b7c3b68SRoland Stigge depends on I2C 1468b7c3b68SRoland Stigge help 1478b7c3b68SRoland Stigge Say Y here to add support for the NXP ISP1301 USB transceiver driver. 1488b7c3b68SRoland Stigge This chip is typically used as USB transceiver for USB host, gadget 1498b7c3b68SRoland Stigge and OTG drivers (to be selected separately). 1508b7c3b68SRoland Stigge 1518b7c3b68SRoland Stigge To compile this driver as a module, choose M here: the 1528b7c3b68SRoland Stigge module will be called isp1301. 153a67e76acSYu Xu 154a0e63123SFelipe Balbiconfig USB_MSM_OTG 155a0e63123SFelipe Balbi tristate "OTG support for Qualcomm on-chip USB controller" 156a0e63123SFelipe Balbi depends on (USB || USB_GADGET) && ARCH_MSM 157a67e76acSYu Xu select USB_OTG_UTILS 158a67e76acSYu Xu help 159a0e63123SFelipe Balbi Enable this to support the USB OTG transceiver on MSM chips. It 160a0e63123SFelipe Balbi handles PHY initialization, clock management, and workarounds 161a0e63123SFelipe Balbi required after resetting the hardware and power management. 162a0e63123SFelipe Balbi This driver is required even for peripheral only or host only 163a0e63123SFelipe Balbi mode configurations. 164a0e63123SFelipe Balbi This driver is not supported on boards like trout which 165a0e63123SFelipe Balbi has an external PHY. 166a0e63123SFelipe Balbi 167a0e63123SFelipe Balbiconfig USB_MV_OTG 168a0e63123SFelipe Balbi tristate "Marvell USB OTG support" 169a0e63123SFelipe Balbi depends on USB_EHCI_MV && USB_MV_UDC && USB_SUSPEND 170a0e63123SFelipe Balbi select USB_OTG 171a0e63123SFelipe Balbi select USB_OTG_UTILS 172a0e63123SFelipe Balbi help 173a0e63123SFelipe Balbi Say Y here if you want to build Marvell USB OTG transciever 174a0e63123SFelipe Balbi driver in kernel (including PXA and MMP series). This driver 175a0e63123SFelipe Balbi implements role switch between EHCI host driver and gadget driver. 176a0e63123SFelipe Balbi 177a0e63123SFelipe Balbi To compile this driver as a module, choose M here. 178a0e63123SFelipe Balbi 179a0e63123SFelipe Balbiconfig USB_MXS_PHY 180a0e63123SFelipe Balbi tristate "Freescale MXS USB PHY support" 181a0e63123SFelipe Balbi depends on ARCH_MXC || ARCH_MXS 182a0e63123SFelipe Balbi select STMP_DEVICE 183a0e63123SFelipe Balbi select USB_OTG_UTILS 184a0e63123SFelipe Balbi help 185a0e63123SFelipe Balbi Enable this to support the Freescale MXS USB PHY. 186a0e63123SFelipe Balbi 187a0e63123SFelipe Balbi MXS Phy is used by some of the i.MX SoCs, for example imx23/28/6x. 1881789e52aSKuninori Morimoto 1891789e52aSKuninori Morimotoconfig USB_RCAR_PHY 1901789e52aSKuninori Morimoto tristate "Renesas R-Car USB phy support" 1911789e52aSKuninori Morimoto depends on USB || USB_GADGET 1921789e52aSKuninori Morimoto select USB_OTG_UTILS 1931789e52aSKuninori Morimoto help 1941789e52aSKuninori Morimoto Say Y here to add support for the Renesas R-Car USB phy driver. 1951789e52aSKuninori Morimoto This chip is typically used as USB phy for USB host, gadget. 1961789e52aSKuninori Morimoto This driver supports: R8A7779 1971789e52aSKuninori Morimoto 1981789e52aSKuninori Morimoto To compile this driver as a module, choose M here: the 1991789e52aSKuninori Morimoto module will be called rcar-phy. 200337dc3a7SPraveen Paneri 201a0e63123SFelipe Balbiconfig USB_ULPI 202a0e63123SFelipe Balbi bool "Generic ULPI Transceiver Driver" 203a0e63123SFelipe Balbi depends on ARM 204337dc3a7SPraveen Paneri select USB_OTG_UTILS 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 216edc7cb2eSFelipe Balbiendif # USB_PHY 217