diff options
author | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2013-04-05 18:18:00 -0400 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2013-04-05 18:18:00 -0400 |
commit | 64dc9e2e7320f079b97c46b106133b58b8e18d40 (patch) | |
tree | ab010dc1337d44e29c2b32b7f11788620a91fe4f /drivers/usb/phy/Kconfig | |
parent | 01a60e76b6392547ad3dca3ac05b9c886fa5da45 (diff) | |
parent | 9b192de60b5a584ee4ed967fb6758773c75e4643 (diff) |
Merge tag 'usb-for-v3.10' of git://git.kernel.org/pub/scm/linux/kernel/git/balbi/usb into usb-next
Felipe writes:
usb: patches for v3.10 merge window
Here is the big Gadget & PHY pull request. Many of us have
been really busy lately getting multiple drivers to a better
position.
Since this pull request is so large, I will divide it in sections
so it's easier to grasp what's included.
- cleanups:
. UDC drivers no longer touch gadget->dev, that's now udc-core
responsibility
. Many more UDC drivers converted to usb_gadget_map/unmap_request()
. UDC drivers no longer initialize DMA-related fields from gadget's
device structure
. UDC drivers don't touch gadget.dev.driver directly
. UDC drivers don't assign gadget.dev.release directly
. Removal of some unused DMA_ADDR_INVALID
. Introduction of CONFIG_USB_PHY
. All phy drivers have been moved to drivers/usb/phy and renamed to
a common naming scheme
. Fix PHY layer so it never returns a NULL pointer, also fix all
callers to avoid using IS_ERR_OR_NULL()
. Sparse fixes all over the place
. drivers/usb/otg/ has been deleted
. Marvel drivers (mv_udc, ehci-mv, mv_otg and mv_u3d) improved clock
usage
- new features:
. UDC core now provides a generic way for tracking and reporting
UDC's state (not attached, resuming, suspended, addressed,
default, etc)
. twl4030-usb learned that it shouldn't be enabled during init
. Full DT support for DWC3 has been implemented
. ab8500-usb learned about pinctrl framework
. nop PHY learned about DeviceTree and regulators
. DWC3 learned about suspend/resume
. DWC3 can now be compiled in host-only and gadget-only (as well as
DRD) configurations
. UVC now enables streaming endpoint based on negotiated speed
. isp1301 now implements the PHY API properly
. configfs-based interface for gadget drivers which will lead to
the removal of all code which just combines functions together
to build functional gadget drivers.
. f_serial and f_obex were converted to new configfs interface while
maintaining old interface around.
- non-critical fixes:
. UVC gadget driver got fixes for Endpoint usage and stream calculation
. ab8500-usb fixed unbalanced clock and regulator API usage
. twl4030-usb got a fix for when OMAP3 is booted with cable connected
. fusb300_udc got a fix for DMA usage
. UVC got fixes for two assertions of the USB Video Class Compliance
specification revision 1.1
. build warning issues caused by recent addition of __must_check to
regulator API
These are all changes which deserve a mention, all other changes are related
to these one or minor spelling fixes and other similar tasks.
Signed-of-by: Felipe Balbi <balbi@ti.com>
Diffstat (limited to 'drivers/usb/phy/Kconfig')
-rw-r--r-- | drivers/usb/phy/Kconfig | 180 |
1 files changed, 156 insertions, 24 deletions
diff --git a/drivers/usb/phy/Kconfig b/drivers/usb/phy/Kconfig index 90549382eba5..3a7fec957ca7 100644 --- a/drivers/usb/phy/Kconfig +++ b/drivers/usb/phy/Kconfig | |||
@@ -1,13 +1,74 @@ | |||
1 | # | 1 | # |
2 | # Physical Layer USB driver configuration | 2 | # Physical Layer USB driver configuration |
3 | # | 3 | # |
4 | comment "USB Physical Layer drivers" | 4 | menuconfig USB_PHY |
5 | depends on USB || USB_GADGET | 5 | tristate "USB Physical Layer drivers" |
6 | help | ||
7 | USB controllers (those which are host, device or DRD) need a | ||
8 | device to handle the physical layer signalling, commonly called | ||
9 | a PHY. | ||
10 | |||
11 | The following drivers add support for such PHY devices. | ||
12 | |||
13 | if USB_PHY | ||
14 | |||
15 | # | ||
16 | # USB Transceiver Drivers | ||
17 | # | ||
18 | config AB8500_USB | ||
19 | tristate "AB8500 USB Transceiver Driver" | ||
20 | depends on AB8500_CORE | ||
21 | help | ||
22 | Enable this to support the USB OTG transceiver in AB8500 chip. | ||
23 | This transceiver supports high and full speed devices plus, | ||
24 | in host mode, low speed. | ||
25 | |||
26 | config FSL_USB2_OTG | ||
27 | bool "Freescale USB OTG Transceiver Driver" | ||
28 | depends on USB_EHCI_FSL && USB_FSL_USB2 && USB_SUSPEND | ||
29 | select USB_OTG | ||
30 | help | ||
31 | Enable this to support Freescale USB OTG transceiver. | ||
32 | |||
33 | config ISP1301_OMAP | ||
34 | tristate "Philips ISP1301 with OMAP OTG" | ||
35 | depends on I2C && ARCH_OMAP_OTG | ||
36 | help | ||
37 | If you say yes here you get support for the Philips ISP1301 | ||
38 | USB-On-The-Go transceiver working with the OMAP OTG controller. | ||
39 | The ISP1301 is a full speed USB transceiver which is used in | ||
40 | products including H2, H3, and H4 development boards for Texas | ||
41 | Instruments OMAP processors. | ||
42 | |||
43 | This driver can also be built as a module. If so, the module | ||
44 | will be called isp1301_omap. | ||
45 | |||
46 | config MV_U3D_PHY | ||
47 | bool "Marvell USB 3.0 PHY controller Driver" | ||
48 | depends on CPU_MMP3 | ||
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 | help | ||
56 | This driver is to be used by all the usb transceiver which are either | ||
57 | built-in with usb ip or which are autonomous and doesn't require any | ||
58 | phy programming such as ISP1x04 etc. | ||
59 | |||
60 | config OMAP_CONTROL_USB | ||
61 | tristate "OMAP CONTROL USB Driver" | ||
62 | help | ||
63 | Enable this to add support for the USB part present in the control | ||
64 | module. This driver has API to power on the USB2 PHY and to write to | ||
65 | the mailbox. The mailbox is present only in omap4 and the register to | ||
66 | power on the USB2 PHY is present in OMAP4 and OMAP5. OMAP5 has an | ||
67 | additional register to power on USB3 PHY. | ||
6 | 68 | ||
7 | config OMAP_USB2 | 69 | config OMAP_USB2 |
8 | tristate "OMAP USB2 PHY Driver" | 70 | tristate "OMAP USB2 PHY Driver" |
9 | depends on ARCH_OMAP2PLUS | 71 | depends on ARCH_OMAP2PLUS |
10 | select USB_OTG_UTILS | ||
11 | select OMAP_CONTROL_USB | 72 | select OMAP_CONTROL_USB |
12 | help | 73 | help |
13 | Enable this to support the transceiver that is part of SOC. This | 74 | Enable this to support the transceiver that is part of SOC. This |
@@ -17,7 +78,6 @@ config OMAP_USB2 | |||
17 | 78 | ||
18 | config OMAP_USB3 | 79 | config OMAP_USB3 |
19 | tristate "OMAP USB3 PHY Driver" | 80 | tristate "OMAP USB3 PHY Driver" |
20 | select USB_OTG_UTILS | ||
21 | select OMAP_CONTROL_USB | 81 | select OMAP_CONTROL_USB |
22 | help | 82 | help |
23 | Enable this to support the USB3 PHY that is part of SOC. This | 83 | Enable this to support the USB3 PHY that is part of SOC. This |
@@ -25,14 +85,55 @@ config OMAP_USB3 | |||
25 | This driver interacts with the "OMAP Control USB Driver" to power | 85 | This driver interacts with the "OMAP Control USB Driver" to power |
26 | on/off the PHY. | 86 | on/off the PHY. |
27 | 87 | ||
28 | config OMAP_CONTROL_USB | 88 | config SAMSUNG_USBPHY |
29 | tristate "OMAP CONTROL USB Driver" | 89 | tristate "Samsung USB PHY Driver" |
30 | help | 90 | help |
31 | Enable this to add support for the USB part present in the control | 91 | Enable this to support Samsung USB phy helper driver for Samsung SoCs. |
32 | module. This driver has API to power on the USB2 PHY and to write to | 92 | This driver provides common interface to interact, for Samsung USB 2.0 PHY |
33 | the mailbox. The mailbox is present only in omap4 and the register to | 93 | driver and later for Samsung USB 3.0 PHY driver. |
34 | power on the USB2 PHY is present in OMAP4 and OMAP5. OMAP5 has an | 94 | |
35 | additional register to power on USB3 PHY. | 95 | config SAMSUNG_USB2PHY |
96 | tristate "Samsung USB 2.0 PHY controller Driver" | ||
97 | select SAMSUNG_USBPHY | ||
98 | help | ||
99 | Enable this to support Samsung USB 2.0 (High Speed) PHY controller | ||
100 | driver for Samsung SoCs. | ||
101 | |||
102 | config SAMSUNG_USB3PHY | ||
103 | tristate "Samsung USB 3.0 PHY controller Driver" | ||
104 | select SAMSUNG_USBPHY | ||
105 | help | ||
106 | Enable this to support Samsung USB 3.0 (Super Speed) phy controller | ||
107 | for samsung SoCs. | ||
108 | |||
109 | config TWL4030_USB | ||
110 | tristate "TWL4030 USB Transceiver Driver" | ||
111 | depends on TWL4030_CORE && REGULATOR_TWL4030 && USB_MUSB_OMAP2PLUS | ||
112 | help | ||
113 | Enable this to support the USB OTG transceiver on TWL4030 | ||
114 | family chips (including the TWL5030 and TPS659x0 devices). | ||
115 | This transceiver supports high and full speed devices plus, | ||
116 | in host mode, low speed. | ||
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 GENERIC_GPIO | ||
132 | help | ||
133 | Provides simple GPIO VBUS sensing for controllers with an | ||
134 | internal transceiver via the usb_phy interface, and | ||
135 | optionally control of a D+ pullup GPIO as well as a VBUS | ||
136 | current limit regulator. | ||
36 | 137 | ||
37 | config USB_ISP1301 | 138 | config USB_ISP1301 |
38 | tristate "NXP ISP1301 USB transceiver support" | 139 | tristate "NXP ISP1301 USB transceiver support" |
@@ -47,18 +148,41 @@ config USB_ISP1301 | |||
47 | To compile this driver as a module, choose M here: the | 148 | To compile this driver as a module, choose M here: the |
48 | module will be called isp1301. | 149 | module will be called isp1301. |
49 | 150 | ||
50 | config MV_U3D_PHY | 151 | config USB_MSM_OTG |
51 | bool "Marvell USB 3.0 PHY controller Driver" | 152 | tristate "OTG support for Qualcomm on-chip USB controller" |
52 | depends on USB_MV_U3D | 153 | depends on (USB || USB_GADGET) && ARCH_MSM |
53 | select USB_OTG_UTILS | ||
54 | help | 154 | help |
55 | Enable this to support Marvell USB 3.0 phy controller for Marvell | 155 | Enable this to support the USB OTG transceiver on MSM chips. It |
56 | SoC. | 156 | handles PHY initialization, clock management, and workarounds |
157 | required after resetting the hardware and power management. | ||
158 | This driver is required even for peripheral only or host only | ||
159 | mode configurations. | ||
160 | This driver is not supported on boards like trout which | ||
161 | has an external PHY. | ||
162 | |||
163 | config USB_MV_OTG | ||
164 | tristate "Marvell USB OTG support" | ||
165 | depends on USB_EHCI_MV && USB_MV_UDC && USB_SUSPEND | ||
166 | select USB_OTG | ||
167 | help | ||
168 | Say Y here if you want to build Marvell USB OTG transciever | ||
169 | driver in kernel (including PXA and MMP series). This driver | ||
170 | implements role switch between EHCI host driver and gadget driver. | ||
171 | |||
172 | To compile this driver as a module, choose M here. | ||
173 | |||
174 | config USB_MXS_PHY | ||
175 | tristate "Freescale MXS USB PHY support" | ||
176 | depends on ARCH_MXC || ARCH_MXS | ||
177 | select STMP_DEVICE | ||
178 | help | ||
179 | Enable this to support the Freescale MXS USB PHY. | ||
180 | |||
181 | MXS Phy is used by some of the i.MX SoCs, for example imx23/28/6x. | ||
57 | 182 | ||
58 | config USB_RCAR_PHY | 183 | config USB_RCAR_PHY |
59 | tristate "Renesas R-Car USB phy support" | 184 | tristate "Renesas R-Car USB phy support" |
60 | depends on USB || USB_GADGET | 185 | depends on USB || USB_GADGET |
61 | select USB_OTG_UTILS | ||
62 | help | 186 | help |
63 | Say Y here to add support for the Renesas R-Car USB phy driver. | 187 | Say Y here to add support for the Renesas R-Car USB phy driver. |
64 | This chip is typically used as USB phy for USB host, gadget. | 188 | This chip is typically used as USB phy for USB host, gadget. |
@@ -67,10 +191,18 @@ config USB_RCAR_PHY | |||
67 | To compile this driver as a module, choose M here: the | 191 | To compile this driver as a module, choose M here: the |
68 | module will be called rcar-phy. | 192 | module will be called rcar-phy. |
69 | 193 | ||
70 | config SAMSUNG_USBPHY | 194 | config USB_ULPI |
71 | bool "Samsung USB PHY controller Driver" | 195 | bool "Generic ULPI Transceiver Driver" |
72 | depends on USB_S3C_HSOTG || USB_EHCI_S5P || USB_OHCI_EXYNOS | 196 | depends on ARM |
73 | select USB_OTG_UTILS | 197 | help |
198 | Enable this to support ULPI connected USB OTG transceivers which | ||
199 | are likely found on embedded boards. | ||
200 | |||
201 | config USB_ULPI_VIEWPORT | ||
202 | bool | ||
203 | depends on USB_ULPI | ||
74 | help | 204 | help |
75 | Enable this to support Samsung USB phy controller for samsung | 205 | Provides read/write operations to the ULPI phy register set for |
76 | SoCs. | 206 | controllers with a viewport register (e.g. Chipidea/ARC controllers). |
207 | |||
208 | endif # USB_PHY | ||