Merge remote-tracking branch 'grant/devicetree/merge' into dt-fixes
[firefly-linux-kernel-4.4.55.git] / drivers / usb / phy / Kconfig
1 #
2 # Physical Layer USB driver configuration
3 #
4 menu "USB Physical Layer drivers"
5
6 config USB_PHY
7         def_bool n
8
9 #
10 # USB Transceiver Drivers
11 #
12 config AB8500_USB
13         tristate "AB8500 USB Transceiver Driver"
14         depends on AB8500_CORE
15         select USB_PHY
16         help
17           Enable this to support the USB OTG transceiver in AB8500 chip.
18           This transceiver supports high and full speed devices plus,
19           in host mode, low speed.
20
21 config FSL_USB2_OTG
22         tristate "Freescale USB OTG Transceiver Driver"
23         depends on USB_EHCI_FSL && USB_FSL_USB2 && PM_RUNTIME
24         depends on USB
25         select USB_OTG
26         select USB_PHY
27         help
28           Enable this to support Freescale USB OTG transceiver.
29
30 config ISP1301_OMAP
31         tristate "Philips ISP1301 with OMAP OTG"
32         depends on I2C && ARCH_OMAP_OTG
33         depends on USB
34         select USB_PHY
35         help
36           If you say yes here you get support for the Philips ISP1301
37           USB-On-The-Go transceiver working with the OMAP OTG controller.
38           The ISP1301 is a full speed USB  transceiver which is used in
39           products including H2, H3, and H4 development boards for Texas
40           Instruments OMAP processors.
41
42           This driver can also be built as a module.  If so, the module
43           will be called isp1301_omap.
44
45 config MV_U3D_PHY
46         bool "Marvell USB 3.0 PHY controller Driver"
47         depends on CPU_MMP3
48         select USB_PHY
49         help
50           Enable this to support Marvell USB 3.0 phy controller for Marvell
51           SoC.
52
53 config NOP_USB_XCEIV
54         tristate "NOP USB Transceiver Driver"
55         select USB_PHY
56         help
57           This driver is to be used by all the usb transceiver which are either
58           built-in with usb ip or which are autonomous and doesn't require any
59           phy programming such as ISP1x04 etc.
60
61 config OMAP_CONTROL_USB
62         tristate "OMAP CONTROL USB Driver"
63         depends on ARCH_OMAP2PLUS || COMPILE_TEST
64         help
65           Enable this to add support for the USB part present in the control
66           module. This driver has API to power on the USB2 PHY and to write to
67           the mailbox. The mailbox is present only in omap4 and the register to
68           power on the USB2 PHY is present in OMAP4 and OMAP5. OMAP5 has an
69           additional register to power on USB3 PHY.
70
71 config OMAP_USB3
72         tristate "OMAP USB3 PHY Driver"
73         depends on ARCH_OMAP2PLUS || COMPILE_TEST
74         select OMAP_CONTROL_USB
75         select USB_PHY
76         help
77           Enable this to support the USB3 PHY that is part of SOC. This
78           driver takes care of all the PHY functionality apart from comparator.
79           This driver interacts with the "OMAP Control USB Driver" to power
80           on/off the PHY.
81
82 config AM335X_CONTROL_USB
83         tristate
84
85 config AM335X_PHY_USB
86         tristate "AM335x USB PHY Driver"
87         depends on ARM || COMPILE_TEST
88         select USB_PHY
89         select AM335X_CONTROL_USB
90         select NOP_USB_XCEIV
91         help
92           This driver provides PHY support for that phy which part for the
93           AM335x SoC.
94
95 config SAMSUNG_USBPHY
96         tristate
97         help
98           Enable this to support Samsung USB phy helper driver for Samsung SoCs.
99           This driver provides common interface to interact, for Samsung USB 2.0 PHY
100           driver and later for Samsung USB 3.0 PHY driver.
101
102 config SAMSUNG_USB2PHY
103         tristate "Samsung USB 2.0 PHY controller Driver"
104         select SAMSUNG_USBPHY
105         select USB_PHY
106         help
107           Enable this to support Samsung USB 2.0 (High Speed) PHY controller
108           driver for Samsung SoCs.
109
110 config SAMSUNG_USB3PHY
111         tristate "Samsung USB 3.0 PHY controller Driver"
112         select SAMSUNG_USBPHY
113         select USB_PHY
114         help
115           Enable this to support Samsung USB 3.0 (Super Speed) phy controller
116           for samsung SoCs.
117
118 config TWL6030_USB
119         tristate "TWL6030 USB Transceiver Driver"
120         depends on TWL4030_CORE && OMAP_USB2 && USB_MUSB_OMAP2PLUS
121         help
122           Enable this to support the USB OTG transceiver on TWL6030
123           family chips. This TWL6030 transceiver has the VBUS and ID GND
124           and OTG SRP events capabilities. For all other transceiver functionality
125           UTMI PHY is embedded in OMAP4430. The internal PHY configurations APIs
126           are hooked to this driver through platform_data structure.
127           The definition of internal PHY APIs are in the mach-omap2 layer.
128
129 config USB_GPIO_VBUS
130         tristate "GPIO based peripheral-only VBUS sensing 'transceiver'"
131         depends on GPIOLIB
132         select USB_PHY
133         help
134           Provides simple GPIO VBUS sensing for controllers with an
135           internal transceiver via the usb_phy interface, and
136           optionally control of a D+ pullup GPIO as well as a VBUS
137           current limit regulator.
138
139 config USB_ISP1301
140         tristate "NXP ISP1301 USB transceiver support"
141         depends on USB || USB_GADGET
142         depends on I2C
143         select USB_PHY
144         help
145           Say Y here to add support for the NXP ISP1301 USB transceiver driver.
146           This chip is typically used as USB transceiver for USB host, gadget
147           and OTG drivers (to be selected separately).
148
149           To compile this driver as a module, choose M here: the
150           module will be called isp1301.
151
152 config USB_MSM_OTG
153         tristate "OTG support for Qualcomm on-chip USB controller"
154         depends on (USB || USB_GADGET) && ARCH_MSM
155         select USB_PHY
156         help
157           Enable this to support the USB OTG transceiver on MSM chips. It
158           handles PHY initialization, clock management, and workarounds
159           required after resetting the hardware and power management.
160           This driver is required even for peripheral only or host only
161           mode configurations.
162           This driver is not supported on boards like trout which
163           has an external PHY.
164
165 config USB_MV_OTG
166         tristate "Marvell USB OTG support"
167         depends on USB_EHCI_MV && USB_MV_UDC && PM_RUNTIME
168         select USB_OTG
169         select USB_PHY
170         help
171           Say Y here if you want to build Marvell USB OTG transciever
172           driver in kernel (including PXA and MMP series). This driver
173           implements role switch between EHCI host driver and gadget driver.
174
175           To compile this driver as a module, choose M here.
176
177 config USB_MXS_PHY
178         tristate "Freescale MXS USB PHY support"
179         depends on ARCH_MXC || ARCH_MXS
180         select STMP_DEVICE
181         select USB_PHY
182         help
183           Enable this to support the Freescale MXS USB PHY.
184
185           MXS Phy is used by some of the i.MX SoCs, for example imx23/28/6x.
186
187 config USB_RCAR_PHY
188         tristate "Renesas R-Car USB PHY support"
189         depends on USB || USB_GADGET
190         select USB_PHY
191         help
192           Say Y here to add support for the Renesas R-Car USB common PHY driver.
193           This chip is typically used as USB PHY for USB host, gadget.
194           This driver supports R8A7778 and R8A7779.
195
196           To compile this driver as a module, choose M here: the
197           module will be called phy-rcar-usb.
198
199 config USB_RCAR_GEN2_PHY
200         tristate "Renesas R-Car Gen2 USB PHY support"
201         depends on ARCH_R8A7790 || ARCH_R8A7791 || COMPILE_TEST
202         select USB_PHY
203         help
204           Say Y here to add support for the Renesas R-Car Gen2 USB PHY driver.
205           It is typically used to control internal USB PHY for USBHS,
206           and to configure shared USB channels 0 and 2.
207           This driver supports R8A7790 and R8A7791.
208
209           To compile this driver as a module, choose M here: the
210           module will be called phy-rcar-gen2-usb.
211
212 config USB_ULPI
213         bool "Generic ULPI Transceiver Driver"
214         depends on ARM
215         help
216           Enable this to support ULPI connected USB OTG transceivers which
217           are likely found on embedded boards.
218
219 config USB_ULPI_VIEWPORT
220         bool
221         depends on USB_ULPI
222         help
223           Provides read/write operations to the ULPI phy register set for
224           controllers with a viewport register (e.g. Chipidea/ARC controllers).
225
226 endmenu