xref: /openbmc/linux/drivers/usb/phy/Kconfig (revision efccd24a)
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 NOP_USB_XCEIV
63a0e63123SFelipe Balbi	tristate "NOP USB Transceiver Driver"
64052a11d1SRoger Quadros	select USB_PHY
65a0e63123SFelipe Balbi	help
66a0e63123SFelipe Balbi	  This driver is to be used by all the usb transceiver which are either
67a0e63123SFelipe Balbi	  built-in with usb ip or which are autonomous and doesn't require any
68a0e63123SFelipe Balbi	  phy programming such as ISP1x04 etc.
6957f6ce07SKishon Vijay Abraham I
703bb869c8SSebastian Andrzej Siewiorconfig AM335X_CONTROL_USB
713bb869c8SSebastian Andrzej Siewior	tristate
723bb869c8SSebastian Andrzej Siewior
733bb869c8SSebastian Andrzej Siewiorconfig AM335X_PHY_USB
743bb869c8SSebastian Andrzej Siewior	tristate "AM335x USB PHY Driver"
757ba01278SDave Jones	depends on ARM || COMPILE_TEST
763bb869c8SSebastian Andrzej Siewior	select USB_PHY
773bb869c8SSebastian Andrzej Siewior	select AM335X_CONTROL_USB
783bb869c8SSebastian Andrzej Siewior	select NOP_USB_XCEIV
793bb869c8SSebastian Andrzej Siewior	help
803bb869c8SSebastian Andrzej Siewior	  This driver provides PHY support for that phy which part for the
813bb869c8SSebastian Andrzej Siewior	  AM335x SoC.
823bb869c8SSebastian Andrzej Siewior
83a0e63123SFelipe Balbiconfig SAMSUNG_USBPHY
846278703bSTomasz Figa	tristate
8501658f0fSKishon Vijay Abraham I	help
86dc2377d0SVivek Gautam	  Enable this to support Samsung USB phy helper driver for Samsung SoCs.
87dc2377d0SVivek Gautam	  This driver provides common interface to interact, for Samsung USB 2.0 PHY
88dc2377d0SVivek Gautam	  driver and later for Samsung USB 3.0 PHY driver.
89dc2377d0SVivek Gautam
90dc2377d0SVivek Gautamconfig SAMSUNG_USB2PHY
91dc2377d0SVivek Gautam	tristate "Samsung USB 2.0 PHY controller Driver"
92dc2377d0SVivek Gautam	select SAMSUNG_USBPHY
93052a11d1SRoger Quadros	select USB_PHY
94dc2377d0SVivek Gautam	help
95dc2377d0SVivek Gautam	  Enable this to support Samsung USB 2.0 (High Speed) PHY controller
96dc2377d0SVivek Gautam	  driver for Samsung SoCs.
97a0e63123SFelipe Balbi
98b5276758SVivek Gautamconfig SAMSUNG_USB3PHY
99b5276758SVivek Gautam	tristate "Samsung USB 3.0 PHY controller Driver"
100b5276758SVivek Gautam	select SAMSUNG_USBPHY
101052a11d1SRoger Quadros	select USB_PHY
102b5276758SVivek Gautam	help
103b5276758SVivek Gautam	  Enable this to support Samsung USB 3.0 (Super Speed) phy controller
104b5276758SVivek Gautam	  for samsung SoCs.
105b5276758SVivek Gautam
106a0e63123SFelipe Balbiconfig TWL6030_USB
107a0e63123SFelipe Balbi	tristate "TWL6030 USB Transceiver Driver"
108a0e63123SFelipe Balbi	depends on TWL4030_CORE && OMAP_USB2 && USB_MUSB_OMAP2PLUS
109a0e63123SFelipe Balbi	help
110a0e63123SFelipe Balbi	  Enable this to support the USB OTG transceiver on TWL6030
111a0e63123SFelipe Balbi	  family chips. This TWL6030 transceiver has the VBUS and ID GND
112a0e63123SFelipe Balbi	  and OTG SRP events capabilities. For all other transceiver functionality
113a0e63123SFelipe Balbi	  UTMI PHY is embedded in OMAP4430. The internal PHY configurations APIs
114a0e63123SFelipe Balbi	  are hooked to this driver through platform_data structure.
115a0e63123SFelipe Balbi	  The definition of internal PHY APIs are in the mach-omap2 layer.
116a0e63123SFelipe Balbi
117a0e63123SFelipe Balbiconfig USB_GPIO_VBUS
118a0e63123SFelipe Balbi	tristate "GPIO based peripheral-only VBUS sensing 'transceiver'"
1195647ac0aSLinus Torvalds	depends on GPIOLIB
120052a11d1SRoger Quadros	select USB_PHY
121a0e63123SFelipe Balbi	help
122a0e63123SFelipe Balbi	  Provides simple GPIO VBUS sensing for controllers with an
123a0e63123SFelipe Balbi	  internal transceiver via the usb_phy interface, and
124a0e63123SFelipe Balbi	  optionally control of a D+ pullup GPIO as well as a VBUS
125a0e63123SFelipe Balbi	  current limit regulator.
12601658f0fSKishon Vijay Abraham I
127449d2ba6SAaro Koskinenconfig OMAP_OTG
128449d2ba6SAaro Koskinen	tristate "OMAP USB OTG controller driver"
129449d2ba6SAaro Koskinen	depends on ARCH_OMAP_OTG && EXTCON
130449d2ba6SAaro Koskinen	help
131449d2ba6SAaro Koskinen	  Enable this to support some transceivers on OMAP1 platforms. OTG
132449d2ba6SAaro Koskinen	  controller is needed to switch between host and peripheral modes.
133449d2ba6SAaro Koskinen
134449d2ba6SAaro Koskinen	  This driver can also be built as a module. If so, the module
13512c8d64eSAaro Koskinen	  will be called phy-omap-otg.
136449d2ba6SAaro Koskinen
1379ba96ae5SAaro Koskinenconfig TAHVO_USB
1389ba96ae5SAaro Koskinen	tristate "Tahvo USB transceiver driver"
1399ba96ae5SAaro Koskinen	depends on MFD_RETU && EXTCON
1409ba96ae5SAaro Koskinen	select USB_PHY
1419ba96ae5SAaro Koskinen	help
1429ba96ae5SAaro Koskinen	  Enable this to support USB transceiver on Tahvo. This is used
1439ba96ae5SAaro Koskinen	  at least on Nokia 770.
1449ba96ae5SAaro Koskinen
1459ba96ae5SAaro Koskinenconfig TAHVO_USB_HOST_BY_DEFAULT
1469ba96ae5SAaro Koskinen	depends on TAHVO_USB
1479ba96ae5SAaro Koskinen	boolean "Device in USB host mode by default"
1489ba96ae5SAaro Koskinen	help
1499ba96ae5SAaro Koskinen	  Say Y here, if you want the device to enter USB host mode
1509ba96ae5SAaro Koskinen	  by default on bootup.
1519ba96ae5SAaro Koskinen
1528b7c3b68SRoland Stiggeconfig USB_ISP1301
1538b7c3b68SRoland Stigge	tristate "NXP ISP1301 USB transceiver support"
154c6156328SAlexandre Pereira da Silva	depends on USB || USB_GADGET
1558b7c3b68SRoland Stigge	depends on I2C
156052a11d1SRoger Quadros	select USB_PHY
1578b7c3b68SRoland Stigge	help
1588b7c3b68SRoland Stigge	  Say Y here to add support for the NXP ISP1301 USB transceiver driver.
1598b7c3b68SRoland Stigge	  This chip is typically used as USB transceiver for USB host, gadget
1608b7c3b68SRoland Stigge	  and OTG drivers (to be selected separately).
1618b7c3b68SRoland Stigge
1628b7c3b68SRoland Stigge	  To compile this driver as a module, choose M here: the
16312c8d64eSAaro Koskinen	  module will be called phy-isp1301.
164a67e76acSYu Xu
165a0e63123SFelipe Balbiconfig USB_MSM_OTG
1660d092fdbSIvan T. Ivanov	tristate "Qualcomm on-chip USB OTG controller support"
1671f7fc408SFelipe Balbi	depends on (USB || USB_GADGET) && (ARCH_MSM || ARCH_QCOM || COMPILE_TEST)
168c5ab571fSArnd Bergmann	depends on RESET_CONTROLLER
169052a11d1SRoger Quadros	select USB_PHY
170a67e76acSYu Xu	help
1710d092fdbSIvan T. Ivanov	  Enable this to support the USB OTG transceiver on Qualcomm chips. It
172a0e63123SFelipe Balbi	  handles PHY initialization, clock management, and workarounds
173a0e63123SFelipe Balbi	  required after resetting the hardware and power management.
174a0e63123SFelipe Balbi	  This driver is required even for peripheral only or host only
175a0e63123SFelipe Balbi	  mode configurations.
176a0e63123SFelipe Balbi	  This driver is not supported on boards like trout which
177a0e63123SFelipe Balbi	  has an external PHY.
178a0e63123SFelipe Balbi
179a0e63123SFelipe Balbiconfig USB_MV_OTG
180a0e63123SFelipe Balbi	tristate "Marvell USB OTG support"
18198f541c6SAlan Stern	depends on USB_EHCI_MV && USB_MV_UDC && PM_RUNTIME
182a0e63123SFelipe Balbi	select USB_OTG
183052a11d1SRoger Quadros	select USB_PHY
184a0e63123SFelipe Balbi	help
185a0e63123SFelipe Balbi	  Say Y here if you want to build Marvell USB OTG transciever
186a0e63123SFelipe Balbi	  driver in kernel (including PXA and MMP series). This driver
187a0e63123SFelipe Balbi	  implements role switch between EHCI host driver and gadget driver.
188a0e63123SFelipe Balbi
189a0e63123SFelipe Balbi	  To compile this driver as a module, choose M here.
190a0e63123SFelipe Balbi
191a0e63123SFelipe Balbiconfig USB_MXS_PHY
192a0e63123SFelipe Balbi	tristate "Freescale MXS USB PHY support"
193a0e63123SFelipe Balbi	depends on ARCH_MXC || ARCH_MXS
194a0e63123SFelipe Balbi	select STMP_DEVICE
195052a11d1SRoger Quadros	select USB_PHY
196a0e63123SFelipe Balbi	help
197a0e63123SFelipe Balbi	  Enable this to support the Freescale MXS USB PHY.
198a0e63123SFelipe Balbi
199a0e63123SFelipe Balbi	  MXS Phy is used by some of the i.MX SoCs, for example imx23/28/6x.
2001789e52aSKuninori Morimoto
2011789e52aSKuninori Morimotoconfig USB_RCAR_PHY
20254407f19SSergei Shtylyov	tristate "Renesas R-Car USB PHY support"
2031789e52aSKuninori Morimoto	depends on USB || USB_GADGET
204efccd24aSJean Delvare	depends on ARCH_R8A7778 || ARCH_R8A7779 || COMPILE_TEST
205052a11d1SRoger Quadros	select USB_PHY
2061789e52aSKuninori Morimoto	help
20754407f19SSergei Shtylyov	  Say Y here to add support for the Renesas R-Car USB common PHY driver.
20854407f19SSergei Shtylyov	  This chip is typically used as USB PHY for USB host, gadget.
20954407f19SSergei Shtylyov	  This driver supports R8A7778 and R8A7779.
2101789e52aSKuninori Morimoto
2111789e52aSKuninori Morimoto	  To compile this driver as a module, choose M here: the
21254407f19SSergei Shtylyov	  module will be called phy-rcar-usb.
213337dc3a7SPraveen Paneri
2145578b266SValentine Barshakconfig USB_RCAR_GEN2_PHY
2155578b266SValentine Barshak	tristate "Renesas R-Car Gen2 USB PHY support"
2165578b266SValentine Barshak	depends on ARCH_R8A7790 || ARCH_R8A7791 || COMPILE_TEST
2175578b266SValentine Barshak	select USB_PHY
2185578b266SValentine Barshak	help
2195578b266SValentine Barshak	  Say Y here to add support for the Renesas R-Car Gen2 USB PHY driver.
2205578b266SValentine Barshak	  It is typically used to control internal USB PHY for USBHS,
2215578b266SValentine Barshak	  and to configure shared USB channels 0 and 2.
2225578b266SValentine Barshak	  This driver supports R8A7790 and R8A7791.
2235578b266SValentine Barshak
2245578b266SValentine Barshak	  To compile this driver as a module, choose M here: the
2255578b266SValentine Barshak	  module will be called phy-rcar-gen2-usb.
2265578b266SValentine Barshak
227a0e63123SFelipe Balbiconfig USB_ULPI
228a0e63123SFelipe Balbi	bool "Generic ULPI Transceiver Driver"
229a0e63123SFelipe Balbi	depends on ARM
230337dc3a7SPraveen Paneri	help
231a0e63123SFelipe Balbi	  Enable this to support ULPI connected USB OTG transceivers which
232a0e63123SFelipe Balbi	  are likely found on embedded boards.
233a0e63123SFelipe Balbi
234a0e63123SFelipe Balbiconfig USB_ULPI_VIEWPORT
235a0e63123SFelipe Balbi	bool
236a0e63123SFelipe Balbi	depends on USB_ULPI
237a0e63123SFelipe Balbi	help
238a0e63123SFelipe Balbi	  Provides read/write operations to the ULPI phy register set for
239a0e63123SFelipe Balbi	  controllers with a viewport register (e.g. Chipidea/ARC controllers).
240a0e63123SFelipe Balbi
241052a11d1SRoger Quadrosendmenu
242