xref: /openbmc/linux/drivers/usb/phy/Kconfig (revision 7ba01278)
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"
967ba01278SDave Jones	depends on ARM || COMPILE_TEST
973bb869c8SSebastian Andrzej Siewior	select USB_PHY
983bb869c8SSebastian Andrzej Siewior	select AM335X_CONTROL_USB
993bb869c8SSebastian Andrzej Siewior	select NOP_USB_XCEIV
1003bb869c8SSebastian Andrzej Siewior	help
1013bb869c8SSebastian Andrzej Siewior	  This driver provides PHY support for that phy which part for the
1023bb869c8SSebastian Andrzej Siewior	  AM335x SoC.
1033bb869c8SSebastian Andrzej Siewior
104a0e63123SFelipe Balbiconfig SAMSUNG_USBPHY
1056278703bSTomasz Figa	tristate
1068b7c3b68SRoland Stigge	help
107dc2377d0SVivek Gautam	  Enable this to support Samsung USB phy helper driver for Samsung SoCs.
108dc2377d0SVivek Gautam	  This driver provides common interface to interact, for Samsung USB 2.0 PHY
109dc2377d0SVivek Gautam	  driver and later for Samsung USB 3.0 PHY driver.
110dc2377d0SVivek Gautam
111dc2377d0SVivek Gautamconfig SAMSUNG_USB2PHY
112dc2377d0SVivek Gautam	tristate "Samsung USB 2.0 PHY controller Driver"
113dc2377d0SVivek Gautam	select SAMSUNG_USBPHY
114052a11d1SRoger Quadros	select USB_PHY
115dc2377d0SVivek Gautam	help
116dc2377d0SVivek Gautam	  Enable this to support Samsung USB 2.0 (High Speed) PHY controller
117dc2377d0SVivek Gautam	  driver for Samsung SoCs.
118a0e63123SFelipe Balbi
119b5276758SVivek Gautamconfig SAMSUNG_USB3PHY
120b5276758SVivek Gautam	tristate "Samsung USB 3.0 PHY controller Driver"
121b5276758SVivek Gautam	select SAMSUNG_USBPHY
122052a11d1SRoger Quadros	select USB_PHY
123b5276758SVivek Gautam	help
124b5276758SVivek Gautam	  Enable this to support Samsung USB 3.0 (Super Speed) phy controller
125b5276758SVivek Gautam	  for samsung SoCs.
126b5276758SVivek Gautam
127a0e63123SFelipe Balbiconfig TWL4030_USB
128a0e63123SFelipe Balbi	tristate "TWL4030 USB Transceiver Driver"
129a0e63123SFelipe Balbi	depends on TWL4030_CORE && REGULATOR_TWL4030 && USB_MUSB_OMAP2PLUS
130052a11d1SRoger Quadros	select USB_PHY
131a0e63123SFelipe Balbi	help
132a0e63123SFelipe Balbi	  Enable this to support the USB OTG transceiver on TWL4030
133a0e63123SFelipe Balbi	  family chips (including the TWL5030 and TPS659x0 devices).
134a0e63123SFelipe Balbi	  This transceiver supports high and full speed devices plus,
135a0e63123SFelipe Balbi	  in host mode, low speed.
136a0e63123SFelipe Balbi
137a0e63123SFelipe Balbiconfig TWL6030_USB
138a0e63123SFelipe Balbi	tristate "TWL6030 USB Transceiver Driver"
139a0e63123SFelipe Balbi	depends on TWL4030_CORE && OMAP_USB2 && USB_MUSB_OMAP2PLUS
140a0e63123SFelipe Balbi	help
141a0e63123SFelipe Balbi	  Enable this to support the USB OTG transceiver on TWL6030
142a0e63123SFelipe Balbi	  family chips. This TWL6030 transceiver has the VBUS and ID GND
143a0e63123SFelipe Balbi	  and OTG SRP events capabilities. For all other transceiver functionality
144a0e63123SFelipe Balbi	  UTMI PHY is embedded in OMAP4430. The internal PHY configurations APIs
145a0e63123SFelipe Balbi	  are hooked to this driver through platform_data structure.
146a0e63123SFelipe Balbi	  The definition of internal PHY APIs are in the mach-omap2 layer.
147a0e63123SFelipe Balbi
148a0e63123SFelipe Balbiconfig USB_GPIO_VBUS
149a0e63123SFelipe Balbi	tristate "GPIO based peripheral-only VBUS sensing 'transceiver'"
1505647ac0aSLinus Torvalds	depends on GPIOLIB
151052a11d1SRoger Quadros	select USB_PHY
152a0e63123SFelipe Balbi	help
153a0e63123SFelipe Balbi	  Provides simple GPIO VBUS sensing for controllers with an
154a0e63123SFelipe Balbi	  internal transceiver via the usb_phy interface, and
155a0e63123SFelipe Balbi	  optionally control of a D+ pullup GPIO as well as a VBUS
156a0e63123SFelipe Balbi	  current limit regulator.
1578b7c3b68SRoland Stigge
1588b7c3b68SRoland Stiggeconfig USB_ISP1301
159a67e76acSYu Xu	tristate "NXP ISP1301 USB transceiver support"
160a67e76acSYu Xu	depends on USB || USB_GADGET
161a67e76acSYu Xu	depends on I2C
162052a11d1SRoger Quadros	select USB_PHY
1638b7c3b68SRoland Stigge	help
1648b7c3b68SRoland Stigge	  Say Y here to add support for the NXP ISP1301 USB transceiver driver.
1658b7c3b68SRoland Stigge	  This chip is typically used as USB transceiver for USB host, gadget
1668b7c3b68SRoland Stigge	  and OTG drivers (to be selected separately).
1678b7c3b68SRoland Stigge
1688b7c3b68SRoland Stigge	  To compile this driver as a module, choose M here: the
1698b7c3b68SRoland Stigge	  module will be called isp1301.
170a67e76acSYu Xu
171a0e63123SFelipe Balbiconfig USB_MSM_OTG
172a0e63123SFelipe Balbi	tristate "OTG support for Qualcomm on-chip USB controller"
173a0e63123SFelipe Balbi	depends on (USB || USB_GADGET) && ARCH_MSM
174052a11d1SRoger Quadros	select USB_PHY
175a67e76acSYu Xu	help
176a0e63123SFelipe Balbi	  Enable this to support the USB OTG transceiver on MSM chips. It
177a0e63123SFelipe Balbi	  handles PHY initialization, clock management, and workarounds
178a0e63123SFelipe Balbi	  required after resetting the hardware and power management.
179a0e63123SFelipe Balbi	  This driver is required even for peripheral only or host only
180a0e63123SFelipe Balbi	  mode configurations.
181a0e63123SFelipe Balbi	  This driver is not supported on boards like trout which
182a0e63123SFelipe Balbi	  has an external PHY.
183a0e63123SFelipe Balbi
184a0e63123SFelipe Balbiconfig USB_MV_OTG
185a0e63123SFelipe Balbi	tristate "Marvell USB OTG support"
18698f541c6SAlan Stern	depends on USB_EHCI_MV && USB_MV_UDC && PM_RUNTIME
187a0e63123SFelipe Balbi	select USB_OTG
188052a11d1SRoger Quadros	select USB_PHY
189a0e63123SFelipe Balbi	help
190a0e63123SFelipe Balbi	  Say Y here if you want to build Marvell USB OTG transciever
191a0e63123SFelipe Balbi	  driver in kernel (including PXA and MMP series). This driver
192a0e63123SFelipe Balbi	  implements role switch between EHCI host driver and gadget driver.
193a0e63123SFelipe Balbi
194a0e63123SFelipe Balbi	  To compile this driver as a module, choose M here.
195a0e63123SFelipe Balbi
196a0e63123SFelipe Balbiconfig USB_MXS_PHY
197a0e63123SFelipe Balbi	tristate "Freescale MXS USB PHY support"
198a0e63123SFelipe Balbi	depends on ARCH_MXC || ARCH_MXS
199a0e63123SFelipe Balbi	select STMP_DEVICE
200052a11d1SRoger Quadros	select USB_PHY
201a0e63123SFelipe Balbi	help
202a0e63123SFelipe Balbi	  Enable this to support the Freescale MXS USB PHY.
203a0e63123SFelipe Balbi
204a0e63123SFelipe Balbi	  MXS Phy is used by some of the i.MX SoCs, for example imx23/28/6x.
2051789e52aSKuninori Morimoto
2061789e52aSKuninori Morimotoconfig USB_RCAR_PHY
20754407f19SSergei Shtylyov	tristate "Renesas R-Car USB PHY support"
2081789e52aSKuninori Morimoto	depends on USB || USB_GADGET
209052a11d1SRoger Quadros	select USB_PHY
2101789e52aSKuninori Morimoto	help
21154407f19SSergei Shtylyov	  Say Y here to add support for the Renesas R-Car USB common PHY driver.
21254407f19SSergei Shtylyov	  This chip is typically used as USB PHY for USB host, gadget.
21354407f19SSergei Shtylyov	  This driver supports R8A7778 and R8A7779.
2141789e52aSKuninori Morimoto
2151789e52aSKuninori Morimoto	  To compile this driver as a module, choose M here: the
21654407f19SSergei Shtylyov	  module will be called phy-rcar-usb.
217337dc3a7SPraveen Paneri
218a0e63123SFelipe Balbiconfig USB_ULPI
219a0e63123SFelipe Balbi	bool "Generic ULPI Transceiver Driver"
220a0e63123SFelipe Balbi	depends on ARM
221337dc3a7SPraveen Paneri	help
222a0e63123SFelipe Balbi	  Enable this to support ULPI connected USB OTG transceivers which
223a0e63123SFelipe Balbi	  are likely found on embedded boards.
224a0e63123SFelipe Balbi
225a0e63123SFelipe Balbiconfig USB_ULPI_VIEWPORT
226a0e63123SFelipe Balbi	bool
227a0e63123SFelipe Balbi	depends on USB_ULPI
228a0e63123SFelipe Balbi	help
229a0e63123SFelipe Balbi	  Provides read/write operations to the ULPI phy register set for
230a0e63123SFelipe Balbi	  controllers with a viewport register (e.g. Chipidea/ARC controllers).
231a0e63123SFelipe Balbi
232052a11d1SRoger Quadrosendmenu
233