xref: /openbmc/linux/drivers/usb/phy/Kconfig (revision 6341e62b)
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
1226341e62bSChristoph Jaeger	bool "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