xref: /openbmc/linux/drivers/usb/phy/Kconfig (revision f2105d42)
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
77d21114dSBaolin Wang	select EXTCON
8052a11d1SRoger Quadros	def_bool n
98b7c3b68SRoland Stigge
10a0e63123SFelipe Balbi#
11a0e63123SFelipe Balbi# USB Transceiver Drivers
12a0e63123SFelipe Balbi#
13a0e63123SFelipe Balbiconfig AB8500_USB
14a0e63123SFelipe Balbi	tristate "AB8500 USB Transceiver Driver"
15a0e63123SFelipe Balbi	depends on AB8500_CORE
16052a11d1SRoger Quadros	select USB_PHY
1757f6ce07SKishon Vijay Abraham I	help
18a0e63123SFelipe Balbi	  Enable this to support the USB OTG transceiver in AB8500 chip.
19a0e63123SFelipe Balbi	  This transceiver supports high and full speed devices plus,
20a0e63123SFelipe Balbi	  in host mode, low speed.
21a0e63123SFelipe Balbi
22a0e63123SFelipe Balbiconfig FSL_USB2_OTG
23a0e63123SFelipe Balbi	bool "Freescale USB OTG Transceiver Driver"
24f2105d42SAnders Roxell	depends on USB_EHCI_FSL && USB_FSL_USB2 && USB_OTG_FSM=y && PM
255a8d651aSFelipe Balbi	depends on USB_GADGET || !USB_GADGET # if USB_GADGET=m, this can't be 'y'
26052a11d1SRoger Quadros	select USB_PHY
27a0e63123SFelipe Balbi	help
28a0e63123SFelipe Balbi	  Enable this to support Freescale USB OTG transceiver.
29a0e63123SFelipe Balbi
30a0e63123SFelipe Balbiconfig ISP1301_OMAP
31a0e63123SFelipe Balbi	tristate "Philips ISP1301 with OMAP OTG"
32a0e63123SFelipe Balbi	depends on I2C && ARCH_OMAP_OTG
337cd0c298SFelipe Balbi	depends on USB
345a8d651aSFelipe Balbi	depends on USB_GADGET || !USB_GADGET # if USB_GADGET=m, this can't be 'y'
35052a11d1SRoger Quadros	select USB_PHY
36a0e63123SFelipe Balbi	help
37a0e63123SFelipe Balbi	  If you say yes here you get support for the Philips ISP1301
38a0e63123SFelipe Balbi	  USB-On-The-Go transceiver working with the OMAP OTG controller.
39a0e63123SFelipe Balbi	  The ISP1301 is a full speed USB  transceiver which is used in
40a0e63123SFelipe Balbi	  products including H2, H3, and H4 development boards for Texas
41a0e63123SFelipe Balbi	  Instruments OMAP processors.
42a0e63123SFelipe Balbi
43a0e63123SFelipe Balbi	  This driver can also be built as a module.  If so, the module
4412c8d64eSAaro Koskinen	  will be called phy-isp1301-omap.
45a0e63123SFelipe Balbi
4625acdd08SWingMan Kwokconfig KEYSTONE_USB_PHY
4725acdd08SWingMan Kwok	tristate "Keystone USB PHY Driver"
4825acdd08SWingMan Kwok	depends on ARCH_KEYSTONE || COMPILE_TEST
495a8d651aSFelipe Balbi	depends on NOP_USB_XCEIV
5025acdd08SWingMan Kwok	help
5125acdd08SWingMan Kwok	  Enable this to support Keystone USB phy. This driver provides
5225acdd08SWingMan Kwok	  interface to interact with USB 2.0 and USB 3.0 PHY that is part
5325acdd08SWingMan Kwok	  of the Keystone SOC.
5425acdd08SWingMan Kwok
55a0e63123SFelipe Balbiconfig NOP_USB_XCEIV
56a0e63123SFelipe Balbi	tristate "NOP USB Transceiver Driver"
575a8d651aSFelipe Balbi	depends on USB_GADGET || !USB_GADGET # if USB_GADGET=m, NOP can't be built-in
58052a11d1SRoger Quadros	select USB_PHY
59a0e63123SFelipe Balbi	help
60a0e63123SFelipe Balbi	  This driver is to be used by all the usb transceiver which are either
61a0e63123SFelipe Balbi	  built-in with usb ip or which are autonomous and doesn't require any
62a0e63123SFelipe Balbi	  phy programming such as ISP1x04 etc.
6357f6ce07SKishon Vijay Abraham I
643bb869c8SSebastian Andrzej Siewiorconfig AM335X_CONTROL_USB
653bb869c8SSebastian Andrzej Siewior	tristate
663bb869c8SSebastian Andrzej Siewior
673bb869c8SSebastian Andrzej Siewiorconfig AM335X_PHY_USB
683bb869c8SSebastian Andrzej Siewior	tristate "AM335x USB PHY Driver"
697ba01278SDave Jones	depends on ARM || COMPILE_TEST
705a8d651aSFelipe Balbi	depends on NOP_USB_XCEIV
713bb869c8SSebastian Andrzej Siewior	select USB_PHY
723bb869c8SSebastian Andrzej Siewior	select AM335X_CONTROL_USB
7359f042f6SBin Liu	select USB_COMMON
743bb869c8SSebastian Andrzej Siewior	help
753bb869c8SSebastian Andrzej Siewior	  This driver provides PHY support for that phy which part for the
763bb869c8SSebastian Andrzej Siewior	  AM335x SoC.
773bb869c8SSebastian Andrzej Siewior
78a0e63123SFelipe Balbiconfig TWL6030_USB
79a0e63123SFelipe Balbi	tristate "TWL6030 USB Transceiver Driver"
80a0e63123SFelipe Balbi	depends on TWL4030_CORE && OMAP_USB2 && USB_MUSB_OMAP2PLUS
811ad528dbSNicolae Rosia	depends on OF
82a0e63123SFelipe Balbi	help
83a0e63123SFelipe Balbi	  Enable this to support the USB OTG transceiver on TWL6030
84a0e63123SFelipe Balbi	  family chips. This TWL6030 transceiver has the VBUS and ID GND
85a0e63123SFelipe Balbi	  and OTG SRP events capabilities. For all other transceiver functionality
86a0e63123SFelipe Balbi	  UTMI PHY is embedded in OMAP4430. The internal PHY configurations APIs
87a0e63123SFelipe Balbi	  are hooked to this driver through platform_data structure.
88a0e63123SFelipe Balbi	  The definition of internal PHY APIs are in the mach-omap2 layer.
89a0e63123SFelipe Balbi
90a0e63123SFelipe Balbiconfig USB_GPIO_VBUS
91a0e63123SFelipe Balbi	tristate "GPIO based peripheral-only VBUS sensing 'transceiver'"
92db978e28SGeert Uytterhoeven	depends on GPIOLIB || COMPILE_TEST
935a8d651aSFelipe Balbi	depends on USB_GADGET || !USB_GADGET # if USB_GADGET=m, this can't be 'y'
94052a11d1SRoger Quadros	select USB_PHY
95a0e63123SFelipe Balbi	help
96a0e63123SFelipe Balbi	  Provides simple GPIO VBUS sensing for controllers with an
97a0e63123SFelipe Balbi	  internal transceiver via the usb_phy interface, and
98a0e63123SFelipe Balbi	  optionally control of a D+ pullup GPIO as well as a VBUS
99a0e63123SFelipe Balbi	  current limit regulator.
10001658f0fSKishon Vijay Abraham I
101449d2ba6SAaro Koskinenconfig OMAP_OTG
102449d2ba6SAaro Koskinen	tristate "OMAP USB OTG controller driver"
103449d2ba6SAaro Koskinen	depends on ARCH_OMAP_OTG && EXTCON
104449d2ba6SAaro Koskinen	help
105449d2ba6SAaro Koskinen	  Enable this to support some transceivers on OMAP1 platforms. OTG
106449d2ba6SAaro Koskinen	  controller is needed to switch between host and peripheral modes.
107449d2ba6SAaro Koskinen
108449d2ba6SAaro Koskinen	  This driver can also be built as a module. If so, the module
10912c8d64eSAaro Koskinen	  will be called phy-omap-otg.
110449d2ba6SAaro Koskinen
1119ba96ae5SAaro Koskinenconfig TAHVO_USB
1129ba96ae5SAaro Koskinen	tristate "Tahvo USB transceiver driver"
1137d21114dSBaolin Wang	depends on MFD_RETU
1145a8d651aSFelipe Balbi	depends on USB_GADGET || !USB_GADGET # if USB_GADGET=m, this can't be 'y'
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_MV_OTG
141a0e63123SFelipe Balbi	tristate "Marvell USB OTG support"
142c4f16130SPeter Chen	depends on USB_EHCI_MV && USB_MV_UDC && PM && USB_OTG
1435a8d651aSFelipe Balbi	depends on USB_GADGET || !USB_GADGET # if USB_GADGET=m, this can't be 'y'
144052a11d1SRoger Quadros	select USB_PHY
145a0e63123SFelipe Balbi	help
146a0e63123SFelipe Balbi	  Say Y here if you want to build Marvell USB OTG transciever
147a0e63123SFelipe Balbi	  driver in kernel (including PXA and MMP series). This driver
148a0e63123SFelipe Balbi	  implements role switch between EHCI host driver and gadget driver.
149a0e63123SFelipe Balbi
150a0e63123SFelipe Balbi	  To compile this driver as a module, choose M here.
151a0e63123SFelipe Balbi
152a0e63123SFelipe Balbiconfig USB_MXS_PHY
153a0e63123SFelipe Balbi	tristate "Freescale MXS USB PHY support"
154a0e63123SFelipe Balbi	depends on ARCH_MXC || ARCH_MXS
155a0e63123SFelipe Balbi	select STMP_DEVICE
156052a11d1SRoger Quadros	select USB_PHY
157a0e63123SFelipe Balbi	help
158a0e63123SFelipe Balbi	  Enable this to support the Freescale MXS USB PHY.
159a0e63123SFelipe Balbi
160a0e63123SFelipe Balbi	  MXS Phy is used by some of the i.MX SoCs, for example imx23/28/6x.
1611789e52aSKuninori Morimoto
162ee30ec0cSDmitry Osipenkoconfig USB_TEGRA_PHY
163ee30ec0cSDmitry Osipenko	tristate "NVIDIA Tegra USB PHY Driver"
164ee30ec0cSDmitry Osipenko	depends on ARCH_TEGRA
165822852f2SArnd Bergmann	select USB_COMMON
166ee30ec0cSDmitry Osipenko	select USB_PHY
167ee30ec0cSDmitry Osipenko	select USB_ULPI
168ee30ec0cSDmitry Osipenko	help
169ee30ec0cSDmitry Osipenko	  This driver provides PHY support for the USB controllers found
170ee30ec0cSDmitry Osipenko	  on NVIDIA Tegra SoC's.
171ee30ec0cSDmitry Osipenko
172a0e63123SFelipe Balbiconfig USB_ULPI
173a0e63123SFelipe Balbi	bool "Generic ULPI Transceiver Driver"
174113229b8SLiviu Dudau	depends on ARM || ARM64
1751ea276cbSIvan T. Ivanov	select USB_ULPI_VIEWPORT
176337dc3a7SPraveen Paneri	help
177a0e63123SFelipe Balbi	  Enable this to support ULPI connected USB OTG transceivers which
178a0e63123SFelipe Balbi	  are likely found on embedded boards.
179a0e63123SFelipe Balbi
180a0e63123SFelipe Balbiconfig USB_ULPI_VIEWPORT
181a0e63123SFelipe Balbi	bool
182a0e63123SFelipe Balbi	help
183a0e63123SFelipe Balbi	  Provides read/write operations to the ULPI phy register set for
184a0e63123SFelipe Balbi	  controllers with a viewport register (e.g. Chipidea/ARC controllers).
185a0e63123SFelipe Balbi
186052a11d1SRoger Quadrosendmenu
187